Banale PHP Frage

DonDemf

Erfahrenes Mitglied
Hallo User,
ich stehe kurz vorm Nervenzusammenbruch. Seit nun mehr 48 stunden versuche ich die Lösung für ein scheinbar total dummes Problem zu finden.....


Vorwissen:

Es gibt eine Tabelle "fusion668a1_users" (relevante spalte: user_team) (PHP FUSION CMS) und eine Tabelle "spielplan_bundesliga1" (relevante zeile: heim).

Ich spreche in einer IF Anweisung die beiden relevanten spalten an und vergleiche ob heim = user_team.

PHP:
echo ''.$row->heim.'<br />'; // gibt die heim spalte aus, WERT: FC Santos
echo $userdata["user_team"]; // gibt die user_team spalte aus, WERT: FC Santos

if($userdata["user_team"]==$row->heim) { 
echo 'TRUE'; 
}

beide Werte sind 100% identisch, ich habe sie 100Fach überprüft. Leider gibt er nicht das TRUE aus.

Wenn ich beispielsweise den Wert von user_team zu Real Madrid ändere im PHPMYADMIN und die selbe abfrage auf eine andere zeile beziehe, (nämlich die wo heim = Real Madrid ist), funktioneirt die abfrage und es erscheint ein TRUE.


Kann mir wer erklären, wieso es bei der esten Abfrage nicht funktioniert? Ich verzweife bald.

Danke schon mal im voraus!
 
Statt echo nutze mal var_dump($userdata["user_team"]); Das gleiche bei der anderen Variable.

Noch eine Randbemerkung:
PHP:
echo ''.$row->heim.'<br />'; 
//Wofür der leere String am Anfang?
echo echo $row->heim.'<br />';
//das tut's doch auch o.o
 
timestamp meint bestimmt
PHP:
echo ''.$row->heim.'<br />'; 
//Wofür der leere String am Anfang?
echo $row->heim.'<br />';
//das tut's doch auch o.o
 
@DonDemf
Um "Unzulänglichkeiten" zu vermeiden, speicher die Daten erstmal in temporären Variablen. Schau, wie sich dann das if verhält, möglicherweise liegt ein Kodierungsunterschied vor, der das true zurückhält. Zudem könnte man beide Variablen in Kleinbuchstaben umwandeln, was den Braten (für den Vergleich) nicht fett machen sollte. Ist irgendwo ein Leerezichen am Anfang oder Ende, der bis Dato nicht aufgefallen ist? Ist der Sourcecode als UTF8 ohne BOM gespeichert?

PHP:
$tmp_heim = trim($row->heim);
$tmp_user = trim($userdata["user_team"]);

echo "heim: ".$tmp_heim.'<br />user: '.$tmp_user.'<br/>'; 

if((strtolower($tmp_user)==strtolower($tmp_heim))
{ 
   echo 'TRUE'; 
}
mfg chmee

p.s.: Naja, so ist das mit Crosspostings.. Danke.
 
Zurück