OK, also rasiere ich meinen Kopf, aber wenn ich Haare hätte, würde ich kein Rasiermesser brauchen, weil ich heute Abend alles rausgerissen hätte. Es ist 3 Uhr morgens weg und was um 00:30 Uhr wie eine einfache Lösung aussah, ist weit davon entfernt.PHP-Variablen sehen gleich aus, sind aber nicht gleich (ich bin verwirrt)
Bitte sehen Sie den Code Extrakt unten ..
$psusername = substr($list[$count],16);
if ($psusername == $psu_value){
$answer = "YES";
}
else {
$answer = "NO";
}
$psusername
den Wert hält "normann", die von einer URL in einer textbasierten Datei (url.db)
$psu_value
auch das genommen wird, hält Wert "normann", der aus einem auf dem Computer des Benutzers gesetzten Cookie (oder einem Parameter in der Adressleiste des Browsers - URL) abgerufen wird.
Allerdings, und ich bin sicher, Sie können mein Problem erraten, die Variable $answer
enthält "NEIN" aus dem obigen Test.
All das PHP, das ich kenne, habe ich von Google-Suchen abgeholt und euch hier, also bin ich kein Experte, was vielleicht offensichtlich ist.
Vielleicht ist dies ein Schuljungenfehler, aber ich kann nicht herausfinden, was ich falsch mache. Meine Annahme ist, dass die Datentypen sich unterscheiden. Letztendlich möchte ich die beiden Variablen vergleichen und ein TRUE-Ergebnis haben, wenn sie die gleiche Information enthalten (d. H. Normann = normann).
Wenn also sehr schlaue Burschen darauf hinweisen können, warum zwei Variablen das widerspiegeln, was die gleichen Informationen zu sein scheinen, aber tatsächlich anders sind, wäre es eine sehr nützliche Lektion für mich und macht meine Benutzer sehr glücklich.
versuchen, var_dump zwei Variablen, um zu sehen, ob sie tatsächlich die gleichen sind – fusion3k
OK, nachdem ich dies in TextPad Hexansicht angeschaut habe, kann ich sehen, dass der Benutzername ich extrahiere aus der URL enthält zwei zusätzliche Zeichen, so normann .. (0D 0A). So scheint es, dass ich die Teilstring-Funktion nicht richtig verwende und ich muss wissen, wie der Auszug von meinem Startpunkt bis zum letzten alphanumerischen Zeichen reicht. – Kevin
Ah ha .. Dank der Hex-Ansicht konnte ich eine produktivere Suche nach einer Lösung machen und fand sie hier auf SO - ihr seid so clever. Diese Anweisung löste mein Problem: $ psusername = preg_replace ("/ [^ [: alnum:]]/u", '', $ psusername); – Kevin