Avatar billede udvikler Nybegynder
11. oktober 2005 - 21:06 Der er 8 kommentarer og
1 løsning

if sætning udskriver noget den ikke skal

Jeg er igang med at lave et administrator login og jeg har lidt problemer. Til at starte med tjekker den for tomme felter, dernæst tjekker den om brugernavnet og kodeordet er rigtigt og derefter - hvis man har skrevet det rigtige brugernavn og kodeord - bliver man logget ind. Problemet er at når den fx udskriver "Du mangler at du skrive et brugernavn" så udskriver den samtidigt "Forkert brugernavn/kodeord" - kan i ordne det problem ?

Her er php delen med if sætningerne:

<?
$user = Admin;
$pass = Bla;
if ($_POST[submit]) {

if ($_POST[user] == "") {
echo "*Du mangler at skrive dit brugernavn";
echo  "<br>";
}
if ($_POST[pass] == "") {
echo "*Du mangler at skrive dit kodeord";
echo  "<br>";
}
if ($_POST[user] == "Admin" AND $_POST[pass] == "Bla") {
echo "Du er nu logget ind";
echo "<br>";
}else {
echo "Forkert brugernavn/kodeord";
echo "<br>";
}
}
?>
Avatar billede jaw Nybegynder
11. oktober 2005 - 21:11 #1
Værsgo':

<?
$_POST['user'] = "a";
$_POST['pass'] = "";
$_POST['submit'] = "ja";

if ($_POST['submit']) {
    if ($_POST['user'] == "") {
        echo "*Du mangler at skrive dit brugernavn";
        echo  "<br>";
    } elseif($_POST['pass'] == "") {
        echo "*Du mangler at skrive dit kodeord";
        echo  "<br>";
    } elseif ($_POST['user'] == "Admin" AND $_POST['pass'] == "Bla") {
        echo "Du er nu logget ind";
        echo "<br>";
    }else {
        echo "Forkert brugernavn/kodeord";
        echo "<br>";
    }
}
?>
Avatar billede udvikler Nybegynder
11. oktober 2005 - 21:23 #2
Tusinde tak, hvorfor angiver du tekten ja til variablen submit ? :S
Avatar billede udvikler Nybegynder
11. oktober 2005 - 21:25 #3
- og den virker heller ikke :)

den skriver: Du mangler at skrive dit kodeord uanset hvad selv før jeg overhovedet indtaster noget - desværre.
Avatar billede jaw Nybegynder
11. oktober 2005 - 21:29 #4
Grunden til at jeg skriver $_POST['submit'] = "ja" er, at min lokale server er striks sat op, så den accepterer ikke at arbejde med variabler der ikke er sat. Når du nu smider dine forms på, skal du selvfølgelig fjerne de 3 linier, ellers vil den altid (også før du udfylder formen) skrive at du ikke har angivet noget password - det jo klart !
Avatar billede udvikler Nybegynder
11. oktober 2005 - 21:33 #5
Har lige prøvet med følgene kode, virkede ikke - den siger: Du mangler at skrive dit brugernavn... lige meget hvad.

<?
$user = Admin;
$pass = Bla;

if ($_POST['submit']) {
    if ($_POST['user'] == "") {
        echo "*Du mangler at skrive dit brugernavn";
        echo  "<br>";
    } elseif($_POST['pass'] == "") {
        echo "*Du mangler at skrive dit kodeord";
        echo  "<br>";
    } elseif ($_POST['user'] == "Admin" AND $_POST['pass'] == "Bla") {
        echo "Du er nu logget ind";
        echo "<br>";
    }else {
        echo "Forkert brugernavn/kodeord";
        echo "<br>";
    }
}
?>
Avatar billede udvikler Nybegynder
11. oktober 2005 - 21:35 #6
Næ hov, mig der kludrede i det. Det virker perfekt. Dit svar er accepteret

- tak for hjælpen !
Avatar billede jaw Nybegynder
11. oktober 2005 - 21:38 #7
Det skulle det også gerne :) Selv tak.

En enkelt tilføjelse ville dog være, at jeg måske ville ændre:
  if ($_POST['submit']) {
til:
  if (isset($_POST['submit'])) {

og:
  if($noget == "") {
til:
  if(empty($noget)) {
Avatar billede udvikler Nybegynder
11. oktober 2005 - 21:39 #8
Ja, det ved jeg selvfølgelig godt, men havde helt glemt det da jeg aldrig plejer bruge det. Men tusinde tak for rådet !
Avatar billede udvikler Nybegynder
11. oktober 2005 - 21:40 #9
men hvad er forskellen egentlig ?
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