hallo ng
habe folgendes, kleines 'anfängerproblem':
ich sollte eine kleine passwortüberprüfung haben und habe wie unten
programmiert,
hole mir das pw aus der db, das funktioniert, jedoch nicht die bedingung
...,
wo ist der fehler, erhalte immer ein false, auch wenn das feld nicht leer
und mit
dem richtigen passwort beschrieben ist :-(
**************
if ($_REQUEST["pw"] != "" and $_REQUEST["pw"] == $daten->pw){
echo "<br><br>Sie sind erfolgreich validiert :-)<br><br>";
echo ("pw: ". $_REQUEST['pw'] ."<br><br>");
}
else {
echo "<br><br>Validierung ist leider fehlgeschlagen :-(<br><br>";
echo ("pw: ". $_REQUEST['pw'] ."<br><br>");
}
**************
herzlichen dank für die hilfe !!!
peter
Syntaktisch sieht es lauffähig aus, was steht denn in $_REQUEST und in
$daten während des Vergleichs drin?
> if ($_REQUEST["pw"] != "" and $_REQUEST["pw"] == $daten->pw){
Warum $_REQUEST und nicht $_GET/$_POST? Wo ist deine Abfrage, ob die
Daten überhaupt übergeben wurden?
> echo "<br><br>Sie sind erfolgreich validiert :-)<br><br>";
> echo ("pw: ". $_REQUEST['pw'] ."<br><br>");
> }
> else {
> echo "<br><br>Validierung ist leider fehlgeschlagen :-(<br><br>";
> echo ("pw: ". $_REQUEST['pw'] ."<br><br>");
> }
Die Eingaben werden nicht maskiert ausgegeben. Nicht problematisch wenn
es reine Testausgaben sind, aber falls das drin bleiben soll maskieren.
--
Mit freundlichen Grüßen,
Christoph Herrmann
Mache doch mal vor Deiner if-Abfrage folgendes:
echo($_REQUEST['pw']."<br>\n");
echo("<pre>\n");
print_r($daten);
echo("<(pre>\n");
Dann siehst Du, was in $_REQUEST['pw'] steht und was in $daten->pw
steht.
Wenn das identisch aussieht, versuche mal
if (trim($_REQUEST["pw"]) != "" and trim($_REQUEST["pw"]) == trim
($daten->pw)){
Ist nur eine Vermutung, da ich den Rest Deines Codes nicht kenne und
oftmals störende Leerzeichen stören. Könnte mir das vorstellen, wenn
die Daten aus $daten aus einer MSSQL-DB kommen.
Ist aber rein spekulativ.....
Du musst schon mehr posten.
Grüßle Jörg