• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] DE ist nicht DE?

TecEye

New member
Hy Leute, ich hab ein Projekt wo es im DE-AT-CH geht.
Die Applikation soll erkennen aus welchem Land der User kommt und entsprechende Voreinstellungen treffen,
dazu hab ich mir erstmal den Ländercode ermitteln lassen:
PHP:
// Geo ermitteln
$ip 			= (getenv("HTTP_X_FORWARDED_FOR")) ? getenv("HTTP_X_FORWARDED_FOR") : getenv("REMOTE_ADDR");
function get_country($ip){ return file_get_contents("http://ipinfo.io/".$ip."/country"); }
$countrycode	= get_country($ip);

So jetzt wollte ich es in nem select einbinden um dann das entsprechende Land vorzudefinieren und stelle fest als ich meine Werte mit md5 gegeneinander abgleiche, dass DE nicht gleich DE ist? Jemand ne Idee wieso?

Code:
echo "DE -> ".md5('DE');
echo "<br />";
echo $countrycode." -> ".md5($countrycode);

kommt raus:
DE -> 3a52f3c22ed6fcde5bf696a6c02c9e73
DE -> fd49f4794e84d32c0ff44a5aa64f009c
 
Zuletzt bearbeitet von einem Moderator:
Hi,

nach genauem Hinschauen im Ausgabefenster ist mir aufgefallen, das $countrycode mehr schreibt als nur DE. Folgendes Zeichen (\n) wurde mit angefügt, so das dein md5 Hash nicht stimmte.

Damit sollte dein Problem gelöst sein:
PHP:
$countrycode = md5(trim($countrycode, "\n"));

Gruß,
Terra
 
Bei solchen Problemen hilft es manchmal, Variablen nicht mit echo, sondern mit var_dump() auszugeben. Damit erkennt man das Problem oft schneller.
 
Zurück
Oben