04. november 2005 - 10:25
Der er
9 kommentarer og 1 løsning
Hjælp til bruger check
Hej eksperter. Jeg har nu følgende script: <?php if(isset($_POST['submit'])) { function isValidEmail($email_address) { $regex = '/^[A-z0-9][\w.-]*@[A-z0-9][\w\-\.]+\.[A-z0-9]{2,6}$/'; return (preg_match($regex, $email_address)); } if(strcmp($password1, $password2) == 0) { $password = md5($_POST['password1']); include 'db.php'; $error = false; $bruger = $_POST['bruger']; $navn = $_POST['navn']; $alder = $_POST['alder']; $komm = $_POST['komm']; $email = $_POST['email']; $admin = "2"; if(!isValidEmail($email)) { print('Email adressen er ugyldig'); $error = true; } if(!$error) { mysql_query("INSERT INTO db_bruger (bruger, password, admin, navn, alder, komm, email) VALUES ('$bruger', '$password', '$admin', '$navn', '$alder', '$komm', '$email')") or die(mysql_error()); } echo "<div align=\"center\"><span class=\"style2\">Brugeren blev oprettet.</span></div>"; } else { echo "<span class=\"style2\">De to kodeord er ikke ens.</span>"; } } ?> Som jeg UTROLIG gerne vil have lavet den sidste finesse på, det er at den skal inden den opretter brugen, gå ind og tjekke om der findes en bruger med det navn i forvejen. Håber i vil hjælpe mig med at lave det.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
04. november 2005 - 10:40
#1
$result = mysql_query("select * from db_bruger where bruger = '$bruger'"); if (mysql_num_rows($result) > 0) { //burger eksistere } else { //Bruger eksistere ikke }
04. november 2005 - 10:40
#2
Har ikke afprøvet den, men måske med dette her ? <?php if(isset($_POST['submit'])) { function isValidEmail($email_address) { $regex = '/^[A-z0-9][\w.-]*@[A-z0-9][\w\-\.]+\.[A-z0-9]{2,6}$/'; return (preg_match($regex, $email_address)); } if(strcmp($password1, $password2) == 0) { $password = md5($_POST['password1']); include 'db.php'; $error = false; $bruger = $_POST['bruger']; $navn = $_POST['navn']; $alder = $_POST['alder']; $komm = $_POST['komm']; $email = $_POST['email']; $admin = "2"; if(!isValidEmail($email)) { print('Email adressen er ugyldig'); $error = true; } if(!$error) { $query = "SELECT * FROM db_bruger WHERE user = '".$bruger."'"; $result = mysql_query($query)or die("MySQL fejl: " . mysql_error()); $test = mysql_fetch_array($result); if (isset($test['bruger'])) { print(" <font face='verdana' size='2' color='#000000'> <b>Brugernavnet \"$user\" er allerede optaget vælg venligst et nyt </b></font><br> <font face='verdana' size='2' color='#000000' text-decoration='none'> </font>"); } else { mysql_query("INSERT INTO db_bruger (bruger, password, admin, navn, alder, komm, email) VALUES ('$bruger', '$password', '$admin', '$navn', '$alder', '$komm', '$email')") or die(mysql_error()); } echo "<div align=\"center\"><span class=\"style2\">Brugeren blev oprettet.</span></div>"; } else { echo "<span class=\"style2\">De to kodeord er ikke ens.</span>"; } } }}
04. november 2005 - 10:40
#3
Ahh too slow ... :)
04. november 2005 - 10:41
#4
if(!$error) { $result = mysql_query("select * from db_bruger where bruger = '$bruger'"); if (mysql_num_rows($result) > 0) { //burger eksistere } else { mysql_query("INSERT INTO db_bruger (bruger, password, admin, navn, alder, komm, email) VALUES ('$bruger', '$password', '$admin', '$navn', '$alder', '$komm', '$email')") or die(mysql_error()); } } Sådan kunne det evt. gøres } }
04. november 2005 - 10:43
#5
heavybreezer-> Der er ingen grund til at fetche array, og teste om der er elementer i, når man bare kan tage antal rækker i resultatet
04. november 2005 - 10:44
#6
forresten, så HUSK at tjekke om brugernavnet og passwordet i det hele taget er indtastet ;)
04. november 2005 - 10:57
#7
takker... det funker jo fint :D.. så var det korrekt ;) -lukket-
04. november 2005 - 17:45
#8
Takker for points :) Vil du kommentere i min karma :)?
04. november 2005 - 18:09
#9
I stedet for at hente en masse data ud af databasen med "SELECT * ...", er det mere effektivt at brug "SELECT count(*) ...": $query = mysql_query("SELECT count(*) AS antal FROM db_bruger WHERE bruger = '$bruger'") or die(mysql_error()); $row = mysql_fetch_assoc($query); if ($row["antal"] > 0) { //burger eksistere } else { //Bruger eksistere ikke }
06. november 2005 - 13:40
#10
ahh ja... det kan du have ret i :/
Vi tilbyder markedets bedste kurser inden for webudvikling