Permalänk
Medlem

Registrering (PHP och MySQL)

Hej!

Jag har lite problem nu med min kod jag gör för att kunna registrera sig på min sida. Enligt wamp är det fel på rad 35. Jag tror/vet att det är fel i stycket där det echoas ut alla fält måste vara ifyllda. Jag vet inte riktigt var jag ska sätta in det.

KOD: http://pastie.org/1820210

Glad påsk alla på sweclockers!

Permalänk
Medlem

du glömde efter ELSE{ }

plus, indentera din kod lite bättre. det kommer spara dig sjukt mkt tid!

Visa signatur

Awesome stuff can be found @ www.demonshalo.com
follow us on twitter: www.twitter.com/demonshalo_com

Permalänk
Medlem
Skrivet av Wic:

du glömde efter ELSE{ }

plus, indentera din kod lite bättre. det kommer spara dig sjukt mkt tid!

Vad glömde jag? Kan du skriver lite mer specifikt, då jag är färsking :). Vad ska skrivas var?

Permalänk
Medlem
Skrivet av csmannen:

Vad glömde jag? Kan du skriver lite mer specifikt, då jag är färsking :). Vad ska skrivas var?

Du ska ha { på rad 36 och } på rad 72.

Permalänk
Medlem
Skrivet av kobb3:

Du ska ha { på rad 36 och } på rad 72.

Tack!

Nu kan jag i vilket fall se min form. Dock när jag trycker på "registrera dig!" får jag mysql-error på rad 31? Vad är fel där?

Permalänk
Medlem

Du försöker lägga till strängarna "$fullname" osv men det är det som är inte det du vill lägga in i databasen,

Din kod:
$queryreg = mysql_query ("INSERT INTO users VALUES ('','$fullname','$username','$password','$date')");

Ska vara:
$queryreg = mysql_query ("INSERT INTO users VALUES ('','".$fullname."','".$username."','".$password."','".$date."')");

Tror inte det är det som orakar mysql-fel iofs... men men.

Visa signatur
Permalänk
Medlem
Skrivet av anarkizt:

Du försöker lägga till strängarna "$fullname" osv men det är det som är inte det du vill lägga in i databasen,

Din kod:
$queryreg = mysql_query ("INSERT INTO users VALUES ('','$fullname','$username','$password','$date')");

Ska vara:
$queryreg = mysql_query ("INSERT INTO users VALUES ('','".$fullname."','".$username."','".$password."','".$date."')");

Tror inte det är det som orakar mysql-fel iofs... men men.

Tack, dock var det inte det som orsakade mysql-felet på rad-31....
Min rad-31 är den som checkar om lösenordet är mellan 6-25 bokstäver långt. DEn raden är rätt va?

EDIT: Det här står i felet:

"Parse error: syntax error, unexpected '}', expecting ',' or ';' in C:\wamp\www\login\login1\register.php on line 31"

EDIT2: Här är min nuvarande kod: http://pastie.org/1822252

Permalänk
Medlem

Om du fixar indenteringen som Wic sade ovan så kommer du lätt se vart problemet finns.

Visa signatur
Permalänk
Medlem

Står ju i felmedelandet att den finns ett oväntat }.

Har kollat igenom koden och du stänger ju bara hälften av alla taggar...Gör om gör rätt...

Vet inte ens om det jag skrev i min förra post stämde eftersom du saknade flera taggar, detta ska nog fungera efter en snabb titt.

<?php echo "<h1> Registera dig!</h2>"; $submit = $_POST ['submit']; // form data $fullname = strip_tags ($_POST ['fullname']); $username = strip_tags ($_POST ['username']); $password = strip_tags($_POST ['password']); $repeatpassword = strip_tags($_POST ['repeatpassword']); $date = date ("Y-m-d"); if ($submit) { //kollar om pw och användar namn finns if ($fullname&&$username&&$password&&$repeatpassword) { if ($password==$repeatpassword) { //kollar längden på username och fullname if (strlen ($username)>25||strlen($fullname)) { echo "Max anatar charaktärer är 25."; } else { //lösenord check if (strlen($password)>25||strlen($password)<6) echo "Lösenordet måste vara mellan 6-25 bokstäver långt"; } } else { //Registreringen //krypterar pwna $password = md5($password); $repeatpassword = md5($repeatpassword); //ansluter till databasen $con = mysql_connect("localhost","root",""); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("test", $con); $queryreg = mysql_query (" INSERT INTO users VALUES ('','$fullname','$username','$password','$date') "); die ("Du har blivit registrerad. <a href='index.html'> Klicka här för att komma tillpacka till inloggningssidan </a>"); } echo "Det funka"; } else echo "Var vänlig fyll i <b>alla</b> fält"; } ?> <html> <h1> Registera dig!</h2> <form action='register.php' method='post'> <table> <tr> <td> Ditt hela namn: </td> <td> <input type='text' name='fullname' value='<?php echo $fullname; ?>'> </td> </tr> <tr> <td> Användarnamn: </td> <td> <input type='text' name='username' value='<?php echo $username; ?>'> </td> </tr> <tr> <td> Lösenord: </td> <td> <input type='password' name='password'> </td> </tr> <tr> <td> Repitera ditt lösenord: </td> <td> <input type='password' name='repeatpassword'> </td> </tr> </table> <input type='submit' name='submit' value='Registera dig!'> </html>

Permalänk
Medlem
Skrivet av kobb3:

Står ju i felmedelandet att den finns ett oväntat }.

Har kollat igenom koden och du stänger ju bara hälften av alla taggar...Gör om gör rätt...

Vet inte ens om det jag skrev i min förra post stämde eftersom du saknade flera taggar, detta ska nog fungera efter en snabb titt.

Tack!

Nu funkar det nästan. Nu skriver koden alltid ut "Max antal karaktärer är 25". Hur får jag koden att skriva ut den om lösenordet är större än 25 eller mindre än 6?

KOD:

if (strlen($password)>25||strlen($password)<6) echo "Lösenordet måste vara mellan 6-25 bokstäver långt";