20. december 2005 - 09:20
Der er
13 kommentarer og 1 løsning
tjekke om den er oprettet
Hej eksperter. burde denne ikke tjekke om en bruger med det navn allerede er oprettet?: $result = mysql_query("SELECT * FROM cms_admin WHERE bruger='$bruger'"); if (mysql_num_rows($result) > 0) { echo "<table width=\"450\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#FF8282\"> <tr> <td width=\"20\" valign=\"middle\" bgcolor=\"f4f3f3\"><img src=\"images/warning.gif\" width=\"23\" height=\"25\"></td> <td width=\"430\" valign=\"middle\" bgcolor=\"#f4f3f3\" class=\"godkendt_txt\">Det ønskede brugernavn findes allerede. Og blev derfor ikke oprettet.!</td> </tr> </table><br>"; } else {
Annonceindlæg fra Infor
20. december 2005 - 09:25
#1
Kommer an på hvad $bruger indeholder...
20. december 2005 - 09:32
#2
Du kunne også lave: bruger UNIK, så vil din insert fejle hvis brugeren findes.
20. december 2005 - 09:32
#3
den indeholder bare et navn .. altså et brugernavn :). Men når jeg prøver at oprette en bruger så kommer den med den tekst der.. selvom den ikke findes brugeren
20. december 2005 - 09:33
#4
jakobdo, jeg er åben for forsøget :).. har du et eksemple på det ?
20. december 2005 - 09:35
#5
Synes nu lige at du skulle udskrive dit brugernavn eller sætte en 'or die mysql' i røven på din SQL-sætning. Det er ikke sikkert at din $bruger indeholder data :-)
20. december 2005 - 09:39
#6
Eftersom du jo ønsker dit brugernavn unik, så kan du jo lige så godt lave det unikt i din DB!
20. december 2005 - 09:53
#7
Jakobdo.. aah på den måde.. men ja, det er fordi jeg gerne vil have den kommer med en fejlmeddelse når det er.. for så kan personen se det når han prøver at oprette en bruger.
20. december 2005 - 09:59
#8
Hvis du laver feltet UNIKT i mysql. Så skal du bruge: $query = mysql_query("INSERT INTO BRUGERE(brugernavn,kodeord) VALUES('".$bruger."','".$kodeord."')"); if(mysql_affected_rows()>0) echo "Det gik godt"; else echo "Det gik ikke godt";
20. december 2005 - 10:06
#9
ja sådan her: <?php include 'db.php'; if(isset($_POST['op'])) { if ($_POST['admin'] == 0) { echo "<table width=\"450\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#FF8282\"> <tr> <td width=\"20\" valign=\"middle\" bgcolor=\"f4f3f3\"><img src=\"images/warning.gif\" width=\"23\" height=\"25\"></td> <td width=\"430\" valign=\"middle\" bgcolor=\"#f4f3f3\" class=\"godkendt_txt\">Du valgte ikke en status til brugeren. Derfor blev brugeren ikke oprettet.!</td> </tr> </table><br>"; } else { $bruger = $_POST['bruger']; $password = md5($_POST['password']); $admin = $_POST['admin']; $navn = $_POST['navn']; $email = $_POST['email']; mysql_query("INSERT INTO cms_admin (bruger, password, admin, navn, email) VALUES ('$bruger', '$password', '$admin', '$navn', '$email')") or die(mysql_error()); if(mysql_affected_rows() > 0) { echo "<table width=\"450\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#FF8282\"> <tr> <td width=\"20\" valign=\"middle\" bgcolor=\"f4f3f3\"><img src=\"images/godkend.gif\" width=\"23\" height=\"25\"></td> <td width=\"430\" valign=\"middle\" bgcolor=\"#f4f3f3\" class=\"godkendt_txt\">Brugeren blev oprettet!</td> </tr> </table><br>"; } else { echo "<table width=\"450\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#FF8282\"> <tr> <td width=\"20\" valign=\"middle\" bgcolor=\"f4f3f3\"><img src=\"images/godkend.gif\" width=\"23\" height=\"25\"></td> <td width=\"430\" valign=\"middle\" bgcolor=\"#f4f3f3\" class=\"godkendt_txt\">Brugernavnet findes allerede!</td> </tr> </table><br>"; } } } ?> men se hvad den skriver når brugernavnet allerede findes: Duplicate entry 'admin' for key 2
20. december 2005 - 10:21
#10
Det er fordi du ikke skal bruge die på din INSERT query!
20. december 2005 - 10:55
#11
vildere.. tak for det.. smid et svar !
20. december 2005 - 10:56
#12
Svar!
20. december 2005 - 11:04
#13
takker. -lukket-
20. december 2005 - 11:06
#14
Takker for point!
Vi tilbyder markedets bedste kurser inden for webudvikling