if geht nicht mehr
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
arbeiten
betrag
code
dank
eingabe
eventuellen buchstaben
folgender url
gleichem typ
hilfe
http
manual
operator
prinzip
sonderzeichen
string
testen
typ
variablen ausgeben
vergleichen
zahl
-
Also ich möchte testen ob eine Eingabe nur aus Ganzen Zahlen besteht.
Dafür habe ich diesen Code:
($_GET["x"] ist die Eingabe)
<?php error_reporting(E_ALL); ini_set('display_errors','On'); $y12= $_GET["x"]; $x12 =intval($y12); if($x12 == $y12){ echo"OK<br /> Deine Eingabe:".$y12."<br /> Betrag:".$x12." "; }else echo "Bitte nur Zahlen Eingeben"; ?>
er spuckt mir aber IMMER aus, dass die beiden Variablen übereinstimmen.Wenn ich die Variablen ausgeben lasse sagt er mir aber 2 Verschiedenene:
Bei Folgender URL:
http://thecity.lima-city.de/int.php?x=321c
Sagt er:
OK
Deine Eingabe:321c
Betrag:321
Das heißt für ihn sind 321c und 321 identisch...... WIESO???
Schonmal Danke für die Zahlreichen Begründungen, und Hilfen im Vorraus ^^ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
if ($x12 === $y12) {
des Rätsels Lösung, da dann auch der Typ der Variabel überprüft wird und nur auch bei gleichem Typ wahr ausgegeben wird! -
Wieso vergleichst du zwei Variablen, dessen Wert immer der selbe ist ;)
-
es ist ja nicht der Gleiche wert bei der einen wurden die eventuellen Buchstaben/Sonderzeichen entfernt
-
http://de.php.net/manual/en/language.operators.comparison.php
Der Satz unter der Tabelle (auf der deutschen Version der Seite fehlt er leider!):
If you compare an integer with a string, the string is converted to a number. If you compare two numerical strings, they are compared as integers.
=> "Wenn ein Integer mit einem String verglichen wird, wird der String in eine Zahl umgewandelt."
Und das ist ja im Prinzip genau das, was du vorher per Intval mit dem vergleichsstring machst!
Am einfachsten wäre es wahrscheinlich, deinen Code ein wenig umzuschreiben und statt mit deinem Vergleichssystem mit is_numeric (http://de.php.net/manual/de/function.is-numeric.php) zu arbeiten!
bis dann -
danke sowas hab ich gesucht
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage