wenn er jetzt jeden durchgeht und vergleicht dann passiert
$n == $usereingabe
"Franz" == "Franziska" und das ist falsch kein login
Also ich habe es ausprobiert und probiere immer noch aus aber er tut nicht das was ich mir gedacht habe ich habe aich schon im Manual gesucht aber kann den Fehler nicht finden
Dein Beispiel klingt logisch aber irgendwie funktioniert es trotzdem nicht
Ein Login soll nur statt finden wenn die Eingabe == Franz ist.
Aber wenn ich als Eingabe Franziska habe logt er sich trotzdem ein!?
Da verstehe ich nicht?
In meiner Datenbank habe ich nur admin; Franz; Peter stehen und nur die Namen dürfen sich einloggen aber warum geht Franziska auch?
liefert mir das foreach andere Werte? Es ist total egal wie der Name heisst
Also nochmal:
So sieht mein einfaches Script aus:
---
require_once('./config.php');
$dbh = getConn();
$rs_level = mysql_query("SELECT * FROM content WHERE ID = '604'", $dbh) or die ('Ein Fehler ist aufgetreten edit: ' . mysql_error());
$row = mysql_fetch_assoc($rs_level);
$namen = explode('; ', $row['ZUGANG']); // aus dem namen string ein array machen.
foreach ($namen as $n) { // Alle Namen durchgehen
if ($n == 'admin') { // und vergleichen mit Benutzernamen "Franz"
// Login Zeugs machen und Schleife abbrechen
$login = true;
break;
}
}
if ($login) {echo "Login";}
else { echo "Name falsch";}
---
Bei if ($n == 'admin')
Ausgabe: Name falsch
if ($n == 'administrator')
Ausgabe: Name falsch
if ($n == 'Franz')
Ausgabe: Name falsch
if ($n == 'Franziska')
Ausgabe: Name falsch
Ich sitze da schon 5 Stunden dran aber mehr wie ausprobieren kann ich nicht ich finde das klingt alles sehr logisch aber wo ist da noch der Fehler?
Ich habe schon daran gedacht $namen ist ja ein Array und vielelicht liegt dort der Fehler? Und habe es so geschrieben $namen[] aber das ist auch verkehrt. Vielleicht stelle ich mir mein Array auch falsch vor dasich nicht auf das selbe Ergebnis komme wie mein PHP Script?