Avatar billede oliverg Nybegynder
21. oktober 2003 - 22:41 Der er 10 kommentarer

kun et brugernavn

Hej jeg søger en måde så man ikke kan oprette to bruger med samme brugernavn. Her er mit opret system:

<script language="JavaScript">
function formCheck() {
    if (document.post.navn.value == "") {
      alert("Du skal skrive dit brugernavn!");
      document.post.navn.focus();
      return false
    }
    if (document.post.password.value == "") {
      alert("Du skal skrive et password!");
      document.post.password.focus();
      return false;
    }
}
</script><br>
  <form method="post" action="opret.php" name="post" onsubmit="return formCheck()">
Brugernavn:<input name="navn" type="text" size="15"><br>
Password:<input type="password" name="password" size="15"><br>
E-mail:<input type="text" name="email" size="15"><br>
<select name="køn">
  <option value="mand">Dreng/Mand</option>
  <option value="dame">Pige/Dame</option>
</select><br>

<p>
<input type="submit" name="send" value="Bliv medlem">
<input type="reset" value="Slet alt">
</form>
Hvis du ikke skriver din email adresse kan du ikke f&aring; tilsendt dit password!<br><br>
  <?
if($send){
include ("db.php");
$query = mysql_query("INSERT `3dchat_users` SET(`brugernavn`, `password`, `email`, `køn`) VALUES ('$navn', '$password', '$email', '$køn')") or die (mysql_error());
echo "Du er nu oprettet<br><a href=\"login.php\">Log ind</a>";
}
?>
Avatar billede ztyxx Nybegynder
21. oktober 2003 - 22:43 #1
hvis du laver feltet i databasen for brugernavnet som UNIQUE, kan der ikke oprettes to ens
Avatar billede oliverg Nybegynder
21. oktober 2003 - 22:46 #2
hvad sker der så hvis man prøver at oprette en til??

hvorfor svare du ikke på http://www.eksperten.dk/spm/394785 ??
Avatar billede ztyxx Nybegynder
22. oktober 2003 - 18:43 #3
ups, har fået for vane at fjerne hakket for at modtage e-mail, så derfor har jeg ikke set at der er kommet nye indlæg, kigger der med det samme.

hvis du prøver at oprette et brugernavn, der allerede eksisterer, vil MySQL returnere en fejl, du kan evt. lave en søgning i databasen først, inden du indsætter nyt brugernavn, som så fortæller at der allerede er registreret en bruger med det navn, og hvis ikke der er noget registreret, så kan du køre din insert-query
Avatar billede sansalvador Nybegynder
31. oktober 2003 - 12:06 #4
Du kan fx lave en simpel søgning vha. mysql_num_rows, som tæller antallet af de navne, som din bruger nu prøver at oprette sig under. Hvis der ikke er nogen brugere med det pågældende brugernavn, hvilket jo er godt, så giver man lov til at oprette brugeren.

Eksempel:

Udråbstegnet i if-sætningen gør, at hvis der returneres false, hvilket der gør hvis der ingen brugere findes, så udføres indsætningen af den nye bruger i databasen :)

if (!mysql_num_rows((SELECT * FROM 3dchat_users WHERE brugernavn='$navn'") {

$query = mysql_query("INSERT `3dchat_users` SET(`brugernavn`, `password`, `email`, `køn`) VALUES ('$navn', '$password', '$email', '$køn')") or die (mysql_error());

}
Avatar billede sansalvador Nybegynder
31. oktober 2003 - 12:08 #5
Glemte et ) til sidst i if-sætningen og sætte et ekstra for meget.

Skal se sådan her ud:
if (!mysql_num_rows("SELECT * FROM 3dchat_users WHERE brugernavn='$navn'")) {
Avatar billede oliverg Nybegynder
03. december 2003 - 11:44 #6
hej igen...

der kommer denne fejl:
Parse error: parse error in /home/web/gb1184/sites/opret.php on line 38

dettet line 38: ?> *loool* hvorfor det hehe... :D

dettet er min kode...

<?
if($send){
include ("db.php");
if (!mysql_num_rows("SELECT * FROM users WHERE brugernavn='$navn'")) {
$query = mysql_query("INSERT `users` SET(`brugernavn`, `password`, `email`, `dir`) VALUES ('$navn', '$password', '$email', '$dir')") or die (mysql_error());
echo "Du er nu oprettet<br><a href=\"?side=login&titel=Hjemmeside Login\">Log ind</a>";
}
?>
Avatar billede oliverg Nybegynder
03. december 2003 - 11:45 #7
har lavet 3dchat_users til users
Avatar billede oliverg Nybegynder
03. december 2003 - 11:46 #8
*loool* 2 sek
Avatar billede oliverg Nybegynder
03. december 2003 - 11:47 #9
nej det virker ikke :(
Avatar billede sansalvador Nybegynder
05. december 2003 - 14:08 #10
det er fordi du mangler et } til allersidst til at slutte din "if($send){" :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester