webForumDet fria alternativet

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

PHP

22 svar · 995 visningar · startad av Mycodez

Medlem sedan feb. 2010445 inlägg
Frågan#1

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'];
	$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
	)
	{
		echo"allt lagrat";
	}
	else 
	echo"Missing field! Please fill in all fields!";
}
else
	echo"Please enter your details and click Register.";
?>

<form action='register.php' method='post'>
<p>
<table width='100%'>
<tr>
	<td width='50%' align='right'>
    <font size='2' face='arial'>Firstname:</font>
    </td>
    <td>
    <input type='text' namae='firstname' maxlength='25'>
    </td>
</tr>
<tr>
	<td width='50%' align='right'>
    <font size='2' face='arial'>Lastname:</font>
    </td>
    <td>
    <input type='text' namae='lastname' maxlength='25'>
    </td>
</tr>
<tr>
	<td width='50%' align='right'>
    <font size='2' face='arial'>Username:</font>
    </td>
    <td>
    <input type='text' namae='username' maxlength='25'>
    </td>
</tr>
<tr>
	<td width='50%' align='right'>
    <font size='2' face='arial'>Password:</font>
    </td>
    <td>
    <input type='password' namae='password' maxlength='25'>
    </td>
</tr>
<tr>
	<td width='50%' align='right'>
    <font size='2' face='arial'>Repeat password:</font>
    </td>
    <td>
    <input type='password' namae='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' namae='dob_year' maxlength='4' size='3' value='YYYY'> / 
    <input type='text' namae='dob_month' maxlength='2' size='1' value='MM'> / 
    <input type='text' namae='dob_day' maxlength='2' size='1' value='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>
</p>
<div  align='right'><input type='submit' namae='submit' value='Register'></div>
</form>

<?php
include('design/footer.php');
?>

Det ända som blir echo är

	echo"Please enter your details and click Register.";

jag är ny i php så ni vet

mycket tacksam för snabba svar och liten beskrivning på felet tack

/ MMycodez

http://www.mycodez.se - bloggen
Idé 3D uf - mitt uf företag

Medlem sedan jan. 2005953 inlägg
#2

Du har skrivit namae='submit' på din submit-knapp. Ändra till name='submit'

Medlem sedan feb. 2010445 inlägg
#3

tack dock ett mkt enkelt svar

Medlem sedan feb. 2010445 inlägg
#4

Den vill fortfarande inte skriva ut mitt echo meddelande :(

Det är bara det echot som visar sig hela tiden
echo"Please enter your details and click Register.";

Medlem sedan juli 20023 617 inlägg
#5

Ändra

if($_POST['$submit'])

till

if($_POST['submit'])
Medlem sedan feb. 2010445 inlägg
#6

Det händer fortfarande ingen skillnad :(

Medlem sedan feb. 2010445 inlägg
#7

Alltså vart kan felet sitta i mitt echo meddelande?

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

//Register code

if($_POST['submit'])
{
	// Grabb submitted data
	$firstname = 			$_POST['firstname'];
	$lastname = 			$_POST['lastname'];
	$username = 			$_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
	)
	{
		echo "allt lagrat";
	}
	else 
	echo "Missing field! Please fill in all fields!";
}
else
	echo "Please enter your details and click Register.";
?>
<form action='register.php' metohod='POST'>

	<table width='60%'>
		<tr>
        	<td width='40%' align='right'>
				<font size='2' face='arial'>Firstname:</font>
			</td>
			<td>
				<input type='text' name='firstname' maxlength='25'>
        	</td>
		</tr>
		<tr>
        	<td width='40%' align='right'>
				<font size='2' face='arial'>Lastname:</font>
			</td>
			<td>
				<input type='text' name='lastname' maxlength='25'>
        	</td>
		</tr>
		<tr>
        	<td width='40%' align='right'>
				<font size='2' face='arial'>Username:</font>
			</td>
			<td>
				<input type='text' 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' namae='dob_year' maxlength='4' size='3' value='YYYY'> / 
   				<input type='text' namae='dob_month' maxlength='2' size='1' value='MM'> / 
    			<input type='text' namae='dob_day' maxlength='2' size='1' value='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');
?>
Medlem sedan feb. 2010445 inlägg
#8

Alltså har jag skrivit något gallet? har jag glömt tecken elelr vad e det för fel blir snart crazy

Medlem sedan juni 2009920 inlägg
#9

Ändra

if($_POST['submit'])

till

if(isset($_POST['submit']))

Du måste också fixa till denna kod

if 
	(
	$firstname&&
	$lastname&&
	$username&&
	$password&&
	$password_repeat&&
	$dob_year&&
	$dob_month&&
	$dob_day&&
	$gender
	)

Det funkar bara att skriva så om tex $firstname är sant eller falskt. Inte som sträng. Så du måste wrappa dom med isset, eller empty. Annars blir det fel.

Medlem sedan juli 20023 617 inlägg
#10

Mycodez skrev:

Alltså har jag skrivit något gallet? har jag glömt tecken elelr vad e det för fel blir snart crazy

Du har ändrat lite från dit första inlägg. T.ex ändrat "method" till "metohod", vilket gör att du inte får med några värden alls... Du har även dubbla sluttaggar för "table" och "form".

Medlem sedan juli 20023 617 inlägg
#11

Gildebrand skrev:

Det funkar bara att skriva så om tex $firstname är sant eller falskt. Inte som sträng. Så du måste wrappa dom med isset, eller empty. Annars blir det fel.

Min första tanke också, men vid en testkörning visade det sig fungera alldeles utmärkt. (PHP 5.3.1)

Medlem sedan feb. 2010445 inlägg
#12

Gildebrand skrev:

Ändra

if($_POST['submit'])

till

if(isset($_POST['submit']))

Du måste också fixa till denna kod

if 
	(
	$firstname&&
	$lastname&&
	$username&&
	$password&&
	$password_repeat&&
	$dob_year&&
	$dob_month&&
	$dob_day&&
	$gender
	)

Det funkar bara att skriva så om tex $firstname är sant eller falskt. Inte som sträng. Så du måste wrappa dom med isset, eller empty. Annars blir det fel.

Okej Vad gör det dära isset??

Medlem sedan juli 20023 617 inlägg
#13

Mycodez skrev:

Okej Vad gör det dära isset??

if 
    (
    isset($firstname)&&
    isset($lastname)&&
    isset($username)&&
    ...osv...
    )

Kolla så att du har ändrat alla "namea" till "name". ;)

Medlem sedan feb. 2010445 inlägg
#14

okej men jag har ändat allt nu och så till och med satt dit isset men nu så kommer inte echot ut utan allt skrivs ut i urlfältet vad e det för galet då?

Medlem sedan juni 200032 967 inlägg
#15

Ja du. Har du ändrat till method som fiddler skrev i går?

Om man anger "metohod" istället för "method" så blir resultatet att man inte har angett method, och då skickas allt i url:en eftersom "get" är default.

Medlem sedan feb. 2010445 inlägg
#16

oj det hade jag visst inte gjort men nu så funkar det ;) Tack så mycket:) men jGa gör funktion isset? egentligen vet om man sätter den i if satsen så gör den allt till isset men vad gör själva Isset funktionen?

Medlem sedan juni 200032 967 inlägg
#17

Manualet på php.net är finfin.

Enligt http://se2.php.net/manual/en/function.isset.php använder man isset för att kontrollera att en variabel har ett värde (som är skilt från null).

Medlem sedan juni 20031 837 inlägg
#18

istället för att anropa isset flera gånger kan man skriva följande:

if (isset($firstname, $lastname, $username, $password, $password_repeat, $dob_year, $dob_month, $dob_day, $gender) )
Medlem sedan feb. 20034 441 inlägg
#19

Fast variablerna kommer ju ändå få ett "värde" även fast $_POST är tom. Så isset där funkar väl inte? Du får isf. köra isset($_POST['firstname'])... Alt kolla strlen($firstname)

Medlem sedan juli 20023 617 inlägg
#20

MickeA.com skrev:

Fast variablerna kommer ju ändå få ett "värde" även fast $_POST är tom. Så isset där funkar väl inte? Du får isf. köra isset($_POST['firstname'])... Alt kolla strlen($firstname)

Bättre att köra med "empty" kanske.

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)