Hallo zusammen,
Hab ein problem mit if-abfragen in php. Wenn man als passwort test eingibt in einem html-textfeld eingibt, wird trotzdem die meldung "Falsches kennwort" ausgegeben, es müßte aber " Kennwort richtig" kommen. Was stimmt nicht? Der name des passwortfelds im html-code ist "password" und der des textfeld administrator.
<?php
function pruefen()
{
if ($password =="test")
{ return true; }
else {return false;}
}
if (pruefen())
{ $administrator = true; }
else { $administrator =false;}
if ($administrator)
{ echo "Kennwort richtig";
}
else { echo "Falsches Kennwort";}
?>
mfg
san
Ankündigung
Einklappen
Keine Ankündigung bisher.
if Bedingung funktioniert nicht...
Einklappen
Neue Werbung 2019
Einklappen
X
-
if Bedingung funktioniert nicht...
Stichworte: -
-
Lies dir den Link von xabbuh doch mal durch, bevor du hier weiter postest.
Übergib einfach der Funktion das Passwort per
pruefe($passwort)
dann kannst du innerhalb der Funktion auch darauf zugreifen.
-
ich würd egal ob on oder off immer $_GET, $_SESSION, $_POST und $_COOKIE verwenden..
kann andernfalls ne sicherheitslücke sein!!
mfg
Andi
Einen Kommentar schreiben:
-
Zitat von san26In den php einstellungen is register_globals auf on gesetzt. Dadurch sind die namen der formularfelder doch im ganzen php skript verfügbar, auch in fuinktionen oder?
Zitat von san26Oder muss ich $password der funktion mit global erst bekannt machen?
Ich probier noch mal.
Einen Kommentar schreiben:
-
Ein Gast antworteteIn den php einstellungen is register_globals auf on gesetzt. Dadurch sind die namen der formularfelder doch im ganzen php skript verfügbar, auch in fuinktionen oder?
Oder muss ich $password der funktion mit global erst bekannt machen?
Ich probier noch mal.
Einen Kommentar schreiben:
-
Wenn sowiso die superglobalen Variablen verwendet werden kann man sich die Übergabe aber gleich sparen, nur solltest du dann in der Funktion direkt $_POST oder $_GET verwenden.
Also function pruefen() {
if ($_POST['password']==...)
...
}
Einen Kommentar schreiben:
-
Woher sollten die Variablen $password bzw. $administrator denn in den Funktionen bekannt sein?
Schau dir mal an, wie der Gültigkeitsbereich von Variablen aussieht: http://www.php.net/manual/en/languag...bles.scope.php
Einen Kommentar schreiben:
-
bin ma ned sicher, ab ich glaube, du musst die variable übergeben...
PHP-Code:<?php
function pruefen($password)
{
if ($password =="test")
{ return true; }
else {return false;}
}
if (pruefen($_POST['password']))
{ $administrator = true; }
else { $administrator =false;}
if ($administrator)
{ echo "Kennwort richtig";
}
else { echo "Falsches Kennwort";}
?>
Andi
Einen Kommentar schreiben:
Einen Kommentar schreiben: