07. november 2004 - 21:00
Der er
13 kommentarer og 1 løsning
Brugernavnet er optaget.
Er det muligt at lave sådan hvis der allerede findes et navn i databasen skal den sige "Brugernavnet er optaget."; - - - - - - - - - - - - - - - - - - - - - - - - - - - - Og hvis ens brugernavn begynder med mellemrum og !"#¤%&/()=??`^'_:;,. og alt tegn osv. skal den sige "Du har brugt ulovlige tegn i brugernavnet" - - - - - - - - - - - - - - - - - - - - - - - - - - - - Og hvis brugernavnet indholder alt tegn feks. þ│ò og !"%¤#) osv.. Skal den sige "Du har brugt ulovlige tegn i brugernavnet" Håber i forstår mig.
Annonceindlæg fra Kingston Technology
07. november 2004 - 21:09
#1
1. sæt feltet til unigue så kan der kun være en. function acceptChars($c){ return preg_match("/^[a-zA-ZæøåÆØÅ]+$/", $c); } if(acceptChars($_POST["brugernavn"])){ $k = mysql_query("SELECT * FROM brugere WHERE online = 'ja'"); if(mysql_num_rows($k) > 0){ print "optaget makker"; }else{ mysql_query("INSERT INTO....."); } }else{ print "ulovlige karakterer"; }
07. november 2004 - 21:11
#2
og hvis du vil have tal med som lovlige karakterer : return preg_match("/^[a-zA-ZæøåÆØÅ1-9_-]+$/", $c);
07. november 2004 - 21:11
#3
Det skal siges det er i et Opret system.
07. november 2004 - 21:11
#4
Ja det gik jeg ud fra når nu du vil vide om det er optaget - det er jo ikke interessant hvis man logger ind ;-)
07. november 2004 - 21:12
#5
Altså kan du ikke lige sætte det ind? <? if(isset($_POST[brugernavn])) { mysql_query("INSERT INTO brugere SET brugernavn='$_POST[brugernavn]', kode='$_POST[kode]'") or die(mysql_error()); echo "<font face=verdana size=2 color=#1E5175>Din bruger <b>$_POST[brugernavn]</b> er nu oprettet.<hr>"; exit; } ?> <form action="" method="POST"> <font color="#1E5175" size="2" face="Verdana"><b>Brugernavn:<br> <input type="text" name="brugernavn" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: Tahoma; BACKGROUND-COLOR: #ffffff" > <br>Kodeord:<br> </b></font><input type="password" name="kode" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: Tahoma; BACKGROUND-COLOR: #ffffff" ><br> <input type="submit" value="Opret bruger" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: Tahoma; BACKGROUND-COLOR: #ffffff" > </form>
07. november 2004 - 21:16
#6
<? function acceptChars($c){ return preg_match("/^[a-zA-ZæøåÆØÅ]+$/", $c); } if(isset($_POST[brugernavn]) && acceptChars($_POST["brugernavn"])) { $k = mysql_query("SELECT * FROM brugere WHERE brugernavn = '":$_POST["brugernavn"]."'"); if(mysql_num_rows($k) > 0){ print "optaget makker"; }else{ mysql_query("INSERT INTO brugere SET brugernavn='$_POST[brugernavn]', kode='$_POST[kode]'") or die(mysql_error()); echo "<font face=verdana size=2 color=#1E5175>Din bruger <b>$_POST[brugernavn]</b> er nu oprettet.<hr>"; } }else{ print "ulovlige karakterer"; } ?>
07. november 2004 - 21:20
#7
Fandt 3 fejl, og de er rettet. Men lige når man går ind op opret siden står der Ulovlige tegn.. Er det ikke sat forkert, eller? Min kode: <? function acceptChars($c){ return preg_match("/^[a-zA-ZæøåÆØÅ]+$/", $c); } if(isset($_POST[brugernavn]) && acceptChars($_POST["brugernavn"])) { $k = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$_POST[brugernavn]'"); if(mysql_num_rows($k) > 0){ print "<font face=verdana size=2 color=#1E5175>Brugernavnet er optaget, tag et andet."; }else{ mysql_query("INSERT INTO brugere SET brugernavn='$_POST[brugernavn]', kode='$_POST[kode]'") or die(mysql_error()); echo "<font face=verdana size=2 color=#1E5175>Din bruger <b>$_POST[brugernavn]</b> er nu oprettet.<hr>"; } }else{ print "<font face=verdana size=2 color=#1E5175>Ulovlige tegn."; } ?>
07. november 2004 - 21:28
#8
Den ene var en tastefejl med : fremfor . i mySql´en - det andet var ikke fejl, men bare min måde at gøre det på. if(isset($_POST[brugernavn]) && acceptChars($_POST["brugernavn"]) == 1) {
07. november 2004 - 21:40
#9
Virker stadig ikke :( den siger Ulovlige tegn.
07. november 2004 - 21:48
#10
function acceptChars($c){ return preg_match("/^[a-zA-ZæøåÆØÅ]+$/", $c); } if(isset($_POST[brugernavn])) { if(acceptChars($_POST["brugernavn"]) == 1){ // $k = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$_POST[brugernavn]'"); if(mysql_num_rows($k) > 0){ print "<font face=verdana size=2 color=#1E5175>Brugernavnet er optaget, tag et andet."; }else{ // mysql_query("INSERT INTO brugere SET brugernavn='$_POST[brugernavn]', kode='$_POST[kode]'") or die(mysql_error()); echo "<font face=verdana size=2 color=#1E5175>Din bruger <b>$_POST[brugernavn]</b> er nu oprettet.<hr>"; } }else{ print "<font face=verdana size=2 color=#1E5175>Ulovlige tegn."; } } ?>
08. november 2004 - 00:09
#11
fik du det til at virke?
08. november 2004 - 01:10
#12
ja, læg svar
08. november 2004 - 01:11
#13
oki doki
08. november 2004 - 09:42
#14
tak for points
Vi tilbyder markedets bedste kurser inden for webudvikling