Avatar billede xeox Nybegynder
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 {
Avatar billede flim Nybegynder
20. december 2005 - 09:25 #1
Kommer an på hvad $bruger indeholder...
Avatar billede jakobdo Ekspert
20. december 2005 - 09:32 #2
Du kunne også lave: bruger UNIK, så vil din insert fejle hvis brugeren findes.
Avatar billede xeox Nybegynder
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
Avatar billede xeox Nybegynder
20. december 2005 - 09:33 #4
jakobdo, jeg er åben for forsøget :).. har du et eksemple på det ?
Avatar billede flim Nybegynder
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 :-)
Avatar billede jakobdo Ekspert
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!
Avatar billede xeox Nybegynder
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.
Avatar billede jakobdo Ekspert
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";
Avatar billede xeox Nybegynder
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
Avatar billede jakobdo Ekspert
20. december 2005 - 10:21 #10
Det er fordi du ikke skal bruge die på din INSERT query!
Avatar billede xeox Nybegynder
20. december 2005 - 10:55 #11
vildere.. tak for det.. smid et svar !
Avatar billede jakobdo Ekspert
20. december 2005 - 10:56 #12
Svar!
Avatar billede xeox Nybegynder
20. december 2005 - 11:04 #13
takker.

-lukket-
Avatar billede jakobdo Ekspert
20. december 2005 - 11:06 #14
Takker for point!
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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