Hawkai Skrevet 25. mars 2004 Del Skrevet 25. mars 2004 Mitt registrerings script ser slik ut. Men med dette kan man registrere seg med samme brukernavn som andre. Dette er jo ikke spes. lurt. Hvordan legge til slik at scriptet sjekker om nicket er i bruk fra før av? <?php include('admin/mysql-config.php'); ?> <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> <table border="0" cellspacing="0" width="300"> <tr> <body bgcolor="#E8AE04"> <td colspan="2" background="nyheter.gif"><b><center>#Registrering</center></b></td> </tr> <tr> <td colspan="2"><center> Det kommer til å bli lagt ut flere ting du kan gjøre her på siden, men det vil komme litt senere.</center></td> </tr> <tr> <td>"Fullt" navn:</td> <td> <INPUT TYPE="text" NAME="Navn"></td> </tr> <tr> <td>Adresse:</td> <td> <INPUT TYPE="text" NAME="Adresse"></td> </tr> <tr> <td>Postnr:</td> <td> <INPUT TYPE="text" NAME="Postnr"></td> </tr> <tr> <td>Sted:</td> <td> <INPUT TYPE="text" NAME="Sted"></td> </tr> <tr> <td>Alder:</td> <td> <INPUT TYPE="text" NAME="Alder"></td> </tr> <tr> <td>Kjønn:</td> <td> <INPUT TYPE="text" NAME="Kjonn"></td> </tr> <tr> <td>Tlf mobil:</td> <td> <INPUT TYPE="text" NAME="Tlfmob"></td> </tr> <tr> <td>Tlf hjem:</td> <td> <INPUT TYPE="text" NAME="Tlfhjem"></td> </tr> <tr> <td>E-post:</td> <td> <INPUT TYPE="text" NAME="Epost"></td> </tr> <tr> <td>Brukernavn:</td> <td> <INPUT TYPE="text" NAME="Nick"></td> </tr> <tr> <td>Passord:</td> <td> <INPUT TYPE="password" NAME="Passord"></td> </tr> <tr> <td></td> <td><input type="submit" name="Send" value="SUBMIT" /><INPUT TYPE="reset" VALUE="Avbryt"></td> </tr> </table> </form> </center> <?php if (isset($_POST['Send'])) { $Navn = $_POST['Navn']; $Adresse = $_POST['Adresse']; $Postnr = $_POST['Postnr']; $Sted = $_POST['Sted']; $Alder = $_POST['Alder']; $Kjonn = $_POST['Kjonn']; $Tlfmob = $_POST['Tlfmob']; $Tlfhjem = $_POST['Tlfhjem']; $Epost = $_POST['Epost']; $Nick = $_POST['Nick']; $Passord = $_POST['Passord']; $sql = "INSERT INTO brukere SET Navn='$Navn', Adresse='$Adresse', Postnr='$Postnr', Sted='$Sted', Alder='$Alder', Kjonn='$Kjonn', Tlfmob='$Tlfmob', Tlfhjem='$Tlfhjem', epost='$Epost', dato=CURDATE(), tid=CURTIME(), Nick='$Nick', Passord=MD5('$Passord')"; if (@mysql_query($sql)) { echo('<p> <html> <head> <meta HTTP-EQUIV="Refresh" CONTENT="0;URL=login.php"> </head> </body> </html> .</p>'); } else { echo('<p>Error: ' . mysql_error() . '</p>'); } } ?> Slik ser mysql tabellen ut: CREATE TABLE brukere ( ID int(11) NOT NULL auto_increment, Navn text, Adresse text, Postnr text, Sted text, Alder text, Kjonn text, Tlfmob text, Tlfhjem text, epost text, Nick text, Passord text, hvilketcrew varchar(32) NOT NULL default '', hvorfordeg text NOT NULL, userlevel tinyint(3) NOT NULL default '1', bilde varchar(20) NOT NULL default '', dato date NOT NULL default '2000-00-00', tid time NOT NULL default '00:00:00', PRIMARY KEY (ID), FULLTEXT KEY Navn (Navn), FULLTEXT KEY Navn_2 (Navn) ) TYPE=MyISAM; Lenke til kommentar
Neo Skrevet 25. mars 2004 Del Skrevet 25. mars 2004 Kjøre en sjekk på om brukeren finnes fra før i tabellen FØR du setter inn en ny rad er jo kanskje ikke så dumt. Noe slikt kanskje SELECT nick FROM brukere where Nick="$_POST['Nick']" Så tar du en test på om du fikk noe tilbake på denne sql-setningen, hvis du gjorde det eksisterer brukeren fra før og du viser en feilmelding på nettsiden din. Kjør da en if-else konstruksjon. Trenger du mer spesifikt enn det her? Lenke til kommentar
???????? Skrevet 25. mars 2004 Del Skrevet 25. mars 2004 Kjøre en sjekk på om brukeren finnes fra før i tabellen FØR du setter inn en ny rad er jo kanskje ikke så dumt. Trenger du mer spesifikt enn det her? Nei, du trenger mye mindre. Gjør feltet unikt - som du sier, det skal likevel ikke være mulig å registrere flere med samme data. } else { echo('<p>Error: ' . mysql_error() . '</p>'); } Den kan gjøres litt bedre, ta en kikk på http://www.mysqlfreaks.com/mysql_errors.php Så bruker du heller mysql_errno og legger inn de vanligste errorene i en array, så har du automatisk et error script. NB: det er mange error der du ikke trenger til dette scriptet. Lenke til kommentar
Hawkai Skrevet 26. mars 2004 Forfatter Del Skrevet 26. mars 2004 Nå skjønner jeg ingen ting.- Hvordan skal jeg få laget dette? Kan dere gi meg litt mer informasjon. Jeg er vell så å si nybegynner i PHP. Lenke til kommentar
???????? Skrevet 26. mars 2004 Del Skrevet 26. mars 2004 Gjør feltet unikt, åpne f.eks. phpMyAdmin og gjør feltet unikt. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå