Avatar billede php_programmoer Nybegynder
20. november 2005 - 12:27 Der er 3 kommentarer og
1 løsning

Forbyde diverse navne - virker ikke efter hensigten

jeg har prøvet at gøre sådan så man ikke kan oprette en bruger som fx hedder admin, administrator eller webmaster sådan her:

if ($_POST['brugernavn'] == "admin") {
  echo "Brugernavnet er ikke tilladt at bruge";
}
if ($_POST['brugernavn'] == "administrator") {
  echo "Brugernavnet er ikke tilladt at bruge";
}
if ($_POST['brugernavn'] == "webmaster") {
  echo "Brugernavnet er ikke tilladt at bruge";
}

men det virker overhovedet ikke, for den opretter alligevel brugeren, den udskriver brugernavnet er ikke tilladt at bruge men den opretter alligevel brugeren. kan i ikke hjælpe mig med at få det til at virke ?

her er hele if else delen:

if ($_POST[opret]) {

if (empty($_POST[brugernavn]) || empty($_POST[kodeord])) {
echo "Du mangler et eller flere felter";
echo "<br>";
} else {
$res_find_bruger = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$_POST[brugernavn]'") or die (mysql_error());
if (mysql_num_rows($res_find_bruger) == 1){
echo "Brugeren findes allerede";
echo "<br>";
} else {
mysql_query("INSERT INTO brugere (brugernavn, kodeord) VALUES ('$_POST[brugernavn]','$_POST[kodeord]')") or die(mysql_erorr());
echo "Du er nu oprettet, hvis du har brugt ulovlige tegn som æøå eller mellemrum i dit <b>brugernavn</b>, er æ'et blevet erstattet med ae, ø'et blevet erstattet med oe, å'et er blevet erstattet med aa, og mellemrum er blevet erstattet med _";
}
}
}
Avatar billede jaw Nybegynder
20. november 2005 - 12:30 #1
Indsæt exit; efter "Brugernavnet er ikke tilladt at bruge, og så kan du jo smide dem i én:

if ($_POST['brugernavn'] == "admin" || $_POST['brugernavn'] == "administrator" || $_POST['brugernavn'] == "webmaster") {
  echo "Brugernavnet er ikke tilladt at bruge";
  exit;
}

Det er den simple måde, men det burde nu nok virke.
Avatar billede php_programmoer Nybegynder
20. november 2005 - 12:34 #2
dejligt og enkelt og det bedste -> det virker :)

Et svar tak :)
Avatar billede jaw Nybegynder
20. november 2005 - 12:35 #3
Værsgo' - og takker :)
Avatar billede steven_ Nybegynder
20. november 2005 - 12:55 #4
Jeg ville helt klart bruge in_array..

$reservedUsernames = array("admin", "administration", "administrator", "webmaster");
if (in_array( strtolower( $brugernavn ), $reservedUsernames ))
{
    exit("Dream on! ;)");
}
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