Gå til innhold

Registrerings Script


Anbefalte innlegg

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
Videoannonse
Annonse

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
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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...