webForumDet fria alternativet

Testar registreringsformulär men mitt echo funkar inte.. :(

PHP

22 svar · 993 visningar · startad av Mycodez · sida 2 av 2

Frågan, av Mycodez

Hej.. som titlen säger så har jag ett problem med att echo ut lite funktion <?php include('design/header.php'); require('connect.php'); //REGISTER CODE //Grab submitted data if($POST['$submit']) { // Grabb submitted data $firstname = $POST['firstname']; $lastname = $POST['lastname']; $username = $POST['username']; $password = $POST['password']; $passwordrepeat =

Läs frågan i sin helhet →
Medlem sedan feb. 2010445 inlägg
#21

okej vad gör empty då? med tanke på jag har kodat klart allt nu det funkar parfetk det ser ut så hära nu

<?php
include('design/header.php');
require('connect.php');

//Register code

if($_POST['submit'])
{
	// Grabb submitted data
	$firstname = 			strip_tags($_POST['firstname']);
	$lastname = 			strip_tags($_POST['lastname']);
	$username = 			strtolower(strip_tags($_POST['username'])); 
	$password = 			$_POST['password'];
	$password_repeat = 		$_POST['password_repeat'];
	
	$dob_year = 			$_POST['dob_year'];
	$dob_month = 			$_POST['dob_month'];
	$dob_day = 				$_POST['dob_day'];
	
	$gender = 				$_POST['gender'];
	
	if 
	($firstname&&$lastname&&$username&&$password&&$password_repeat&&$dob_year&&$dob_month&&$dob_day&&$gender)
	{
		//Validate
		if(strlen($firstname)>25||strlen($lastname)>25||strlen($username)>25)
			echo "Firstname, lastname and username must be no more than 25 characters.";
			else 
			{
				//Check password	
				if(strlen($password)>25||strlen($password)<6)
					echo "Password must be between 6 and 25 characters";
					else {
							//Check dob
							if(is_numeric($dob_year)&&is_numeric($dob_month)&&is_numeric($dob_day))
							{
								if(strlen($dob_year)>4||strlen($dob_month)>2||strlen($dob_day)>2)
								echo "Date of birth year must be 4 characters, month and day must be 2 characters.";
								else
								{
									if($gender=="Male"||$gender="Female")
									{
										// compare Password
										if($password==$password_repeat)
										{
											//check dob limits for month and day
									if($dob_month>12 ||$dob_day>31)
									echo "Date of birth month or day is bigger than expected!";
									else
									{
										//check for existing user
										$query = mysql_query("SELECT * FROM users WHERE username='$username'");
										if(mysql_num_rows($query)>=1)
										echo "That usernmae is already taken!";
										else
										{
																					// Sucess! Register the user..
											$dob_db = "$dob_year-$dob_month-$dob_day";
											$password_db = md5($password);
											
											switch ($gender)
											{
											case "Male":
											$gender_db = "M";
											break;
											case "Female":
											$gender_db = "F";
											break;
											}
											
											$register  = mysql_query("INSERT INTO users VALUES ('','$firstname','$lastname','$username','$password_db','$dob_db','$gender_db')");
											echo "Sucess!";	
										}
									}
									
										}
										else
											echo "Passwords do not match!";
									}
									else
									echo "Gender must be Male or Female!";
								}
							}
							else
								echo "Date of birth be in number form. For exemple, 1992/12/28";
						}
			}	
	}
	else 
	echo "Missing field! Please fill in all fields!";
}
else
	echo "Please enter your details and click Register.";
?>
<form action='register.php' method='POST'>

	<table width='60%'>
		<tr>
        	<td width='40%' align='right'>
				<font size='2' face='arial'>Firstname:</font>
			</td>
			<td>
				<input type='text' value='<?php echo  $firstname; ?>' name='firstname' maxlength='25'>
        	</td>
		</tr>
		<tr>
        	<td width='40%' align='right'>
				<font size='2' face='arial'>Lastname:</font>
			</td>
			<td>
				<input type='text' value='<?php echo  $lastname; ?>' name='lastname' maxlength='25'>
        	</td>
		</tr>
		<tr>
        	<td width='40%' align='right'>
				<font size='2' face='arial'>Username:</font>
			</td>
			<td>
				<input type='text' value='<?php echo  $username; ?>' name='username' maxlength='25'>
        	</td>
		</tr>
		<tr>
        	<td width='40%' align='right'>
				<font size='2' face='arial'>Password:</font>
			</td>
			<td>
				<input type='password' name='password' maxlength='25'>
        	</td>
		</tr>
        <tr>
        	<td width='40%' align='right'>
				<font size='2' face='arial'>Repeat password:</font>
			</td>
			<td>
				<input type='password' name='password_repeat' maxlength='25'>
        	</td>
		</tr>
		<tr>
			<td width='50%' align='right'>
    			<font size='2' face='arial'>Date of birth:</font>
    		</td>
    		<td>
    			<input type='text' name='dob_year' maxlength='4' size='3' value='<?php if($dob_year) echo $dob_year; else echo "YYYY"; ?>'> / 
   				<input type='text' name='dob_month' maxlength='2' size='1' value='<?php if($dob_month) echo $dob_month; else echo "MM"; ?>''> / 
    			<input type='text' name='dob_day' maxlength='2' size='1' value='<?php if($dob_day) echo $dob_day; else echo "DD"; ?>''>
    		</td>
		</tr>
		<tr>
			<td width='50%' align='right'>
    			<font size='2' face='arial'>Gender:</font>
    		</td>
    		<td>
    			<select name='gender'>
    				<option>Female</option>
        			<option>Male</option>
    			</select>
    		</td>
		</tr>
</table>

<div  align='right'><input type='submit' name='submit' value='Register'></div>
</form>
	</table>
</form>
<?php
include('design/footer.php');
?>

men det jag vill att den gör när den att sucessed är att man skickas tillbaka till index.php hur gör man det?

Bloggen

Medlem sedan feb. 20034 441 inlägg
#22

Kolla manualen på https://www.php.net!!!
Jag är 99% säker på att isset på variablen $firstname kommer returnera true både om du fyllt i fältet eller ej. Så om du ska använda isset, testa den mot $_POST.

Medlem sedan juni 2009920 inlägg
#23

Därför kan han använda funktionen empty istället

266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)