Php naar MySQL query probleem

  • Onderwerp starter Onderwerp starter as1
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

as1

Gebruiker
Lid geworden
22 mrt 2009
Berichten
305
Hi,
ik heb n klein PHP scriptje gemaakt dat als "registratie" moet dienen maar het werkt niet

de bedoeling:
Als iemand de info heeft ingevoerd moet de data in de USERS tabel worden ingevoerd
gebruikersnaam onder: user
wachtwoord onder: passwd


PHP:
<form method=post action=reg.php?action=register  name=s>
<table>
<tr><td>Username:</td><td><input type=text name=user></td></tr>
<tr><td>Pass:</td><td><input type=password name=pass></td></tr>
<tr><td>Verify Pass:</td><td><input type=password name=vpass></td></tr>
<tr><td colspan=2 align=center><input type=submit value=Register></td></tr>
</table>
</form>
<?php

//Login to your database. Make the fields of course..
mysql_connect("localhost","****","******");
mysql_select_db("******_technolog");
//end

//if registering, check fields.
if ($action == register) {

if (!$user || !$pass || !$vpass) {
 print "Vul alle velden in AUB.";

 exit;
}
$dupe1 = mysql_num_rows(mysql_query("select * from users where user='$user'"));

if ($dupe1 > 0) {
 print "Gebruikersnaam bestaat al.";

 exit;
}

//check if passwords are the same
if ($pass != $vpass) {
 print "The passwords do not match.";

 exit;
}
//end
//insert
mysql_query("insert into users (user, passwd, theory, practica, extra) values('$user','$pass, 0, 0, 0')");
print "Registratie Voltooid. Je kunt inloggen.";
}
?>

en ik had nog een ander vraagje
hoe zorg ik dat als er iemand registreer een ID word ingevoerd dat 1 HOGER is dan de vorige registratie

-AS1
 
Enkele probleempjes
PHP:
if ($action == register) {
Sowieso moeten er aanhalingstekens rond 'register'. Ook moet je eens kijken of "register_globals" aan staat (standaard staat dat uit). Als het uit staat bestaat $action niet, maar is het $_POST['action'] (zelfde geldt ook voor de andere variabelen die je gebruikt).

In dit stukje
PHP:
mysql_query("insert into users (user, passwd, theory, practica, extra) values('$user','$pass, 0, 0, 0')")
kloppen de aanhalingstekens bij de waardes niet, waarschijnlijk (afhankelijk van de types van de velden) moet het dit zijn
PHP:
mysql_query("insert into users (user, passwd, theory, practica, extra) values('$user','$pass', 0, 0, 0)")

Meer foutjes zie ik zo even niet. Wat betreft je tweede vraag, dat kan heel simpel door het veld in te stellen op auto_increment en niet handmatig in te vullen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan