25. august 2008 - 22:06Der er
18 kommentarer og 1 løsning
tjekke brugernavn i databasen
hvad gør jeg galt her ? jeg kan ikke få den til at se om brugernavnet er taget og heller ikke om de 2 kodeord er ens
if($_POST[submit]) {
function Opret($brugernavn,$kodeord1,$kodeord2){ $res_find_brugernavn = mysql_query("SELECT * FROM bruger where brugernavn='$brugernavn'") or die (mysql_error()); if (mysql_num_rows($res_find_bruger) == 1){ $msg = "Der findes allerede en bruger med navnet: ".$brugernavn.""; } elseif($kodeord1 != $kodeord2) { $msg = "De indtastede koder stemmer IKKE overens!"; } elseif(($kodeord1 == $kodeord2) && (mysql_num_rows($res_find_bruger) == 0)){ }}
mysql_query("INSERT INTO bruger (brugernavn,kodeord,date) VALUES ('$_POST[brugernavn]','$_POST[kodeord]',now())") or die(mysql_error()); print "den er oprettet! $brugernavn"; print "<br/><br/>";
nope det hjalp ikke. vil du have hele koden,? så skal det så liges siges det er noget af det første jeg sider og brygger sammen med lidt script code hist og pist fra
function Opret($brugernavn,$kodeord1,$kodeord2){ $res_find_brugernavn = mysql_query("SELECT * FROM bruger where brugernavn='$brugernavn'") or die (mysql_error()); if (mysql_num_rows($res_find_bruger) == 1){ $msg = "Der findes allerede en bruger med navnet: ".$brugernavn.""; } elseif($kodeord1 != $kodeord2) { $msg = "De indtastede koder stemmer IKKE overens!"; } elseif(($kodeord1 == $kodeord2) && (mysql_num_rows($res_find_bruger) == 0)){ }}
mysql_query("INSERT INTO bruger (brugernavn,kodeord,date) VALUES ('$_POST[brugernavn]','$_POST[kodeord1]',now())") or die(mysql_error()); print "den er oprettet! $brugernavn"; print "<br/><br/>";
function Opret($brugernavn,$kodeord1,$kodeord2){ $res_find_brugernavn = mysql_query("SELECT * FROM bruger where brugernavn='$brugernavn'" LIMIT 1) or die (mysql_error()); if(mysql_num_rows($res_find_bruger) == 1){ $msg = "Der findes allerede en bruger med navnet: ".$brugernavn.""; }elseif($kodeord1 != $kodeord2) { $msg = "De indtastede koder, stemmer IKKE overens!"; }else{ $msg = true; } return $msg; }
if($_POST[submit]) { $ret = Opret($_POST['brugernavn'],$_POST['kodeord1'],$_POST['kodeord2']); if($ret == true){ mysql_query("INSERT INTO bruger (brugernavn,kodeord,date) VALUES ('$_POST[brugernavn]','$_POST[kodeord1]',now())") or die(mysql_error()); print "den er oprettet! $brugernavn"; print "<br/><br/>"; }else{ echo $msg; } } ?>
jeg lavede noget andet og det virker men ved ikke om det er sikker kodet eller rigtigt kodet. her er det <?php include "forbind1.php";
// Her tjekker vi om der er trykket på submit knappen
if($_POST[Opret]) {
//her tjekker vi om der stå noget i brugernavn og kodeords felterne
if(empty($brugernavn) || empty($kodeord1) || empty($kodeord2)) { print "Du skal udfylde felterne med * ud for"; } //Hvis både brugernavn og kodeord er sat går vi videre. else { //Så tjekker vi lige om der er en bruger der hedder det samme for det går jo ikke :S $query = mysql_query("SELECT * FROM bruger WHERE brugernavn='". $_POST['brugernavn'] ."'") or die(mysql_error()); if(mysql_num_rows($query) == '1') { print "Brugernavnet er i brug sorry"; } else { // Så tjekker vi om kodeordne er ens if($kodeord1 != $kodeord2) { print "Dine kodeord er ikke ens prøv igen!"; } else { if($kodeord1 == $kodeord2)
// Hvis alt er okay så smider vi det i databasen mysql_query("INSERT INTO bruger (brugernavn,kodeord,date) VALUES ('$_POST[brugernavn]','$_POST[kodeord1]',now())") or die(mysql_error()); print "Du er nu oprettet med de her bruger info!<br>Brugernavn $brugernavn <br> Kode 1 : $kodeord1 <br> Kode 2 : $kodeord2"; print "<br/><br/>"; } } } } ?>
og så bruger $brugernavn i sin videre kode og i mysql.
Dog vil et brugernavn garanteret var 6 eller flere tegn. Hvilke tegn vil være ok ? a-z 0 - 9 ? Hvis ja, så kan man lave et tjek med: if(ctype_alphanum($_POST['brugernavn'])){ echo 'Alt er ok'; }else{ echo 'Der er ulovlige tegn'; }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.