worki2k1
Erfahrenes Mitglied
Hallo Leute,
ich bin gerade auf ein sehr seltsames Problem mit der Funktion "ereg_replace" gestoßen. Ich will die Situation mal kurz schildern:
Ich habe ein Formular mit einem normalen Textfeld. Dort kann eine Zahl mit Nachkommastellen eingegeben werden. Also in meinem Beispiel jetzt mal "1,8". Wichtig ist, dass der Benutzer ein Komma eingeben kann! Jetzt kommt das eigentliche Problem.
Der Wert wird richtig übergeben (per Echo überprüft). Jetzt will ich das Komma in einen Punkt ändern um es in einer MySQL-Tabelle in einem Feld mit dem Typ "double" zu speichern. Hab ich mir gedacht ich nehme "ereg_replace" dazu. Hab also folgenden Code.
Erstmal das Formular:
Jetzt die machewas.php
Auf meinem Localhost geht alles einwandfrei. Der einzige Unterschied zwischen Localhost und Remoteserver ist die PHP Version. Localhost hat 4.3.1 und Remote hat 4.2.3
Ich hab es auch schon mit "str_replace" und "eregi_replace" probiert. Alles das gleiche Problem.
Übrigens die Funktion kann keinen Fehler haben, denn folgendes geht:
Hat jemand eine Ahnung was das sein kann? Wäre über ne Antwort doch sehr erfreut.
ich bin gerade auf ein sehr seltsames Problem mit der Funktion "ereg_replace" gestoßen. Ich will die Situation mal kurz schildern:
Ich habe ein Formular mit einem normalen Textfeld. Dort kann eine Zahl mit Nachkommastellen eingegeben werden. Also in meinem Beispiel jetzt mal "1,8". Wichtig ist, dass der Benutzer ein Komma eingeben kann! Jetzt kommt das eigentliche Problem.
Der Wert wird richtig übergeben (per Echo überprüft). Jetzt will ich das Komma in einen Punkt ändern um es in einer MySQL-Tabelle in einem Feld mit dem Typ "double" zu speichern. Hab ich mir gedacht ich nehme "ereg_replace" dazu. Hab also folgenden Code.
Erstmal das Formular:
PHP:
<form action="machewas.php" method="post">
...
<input type="text" name="a[name]" />
...
</form>
Jetzt die machewas.php
PHP:
// Werte aus der URL holen. Das funktioniert.
echo $a["name"]; // Gibt zum Beispiel "1,8" aus.
$a["name"] = ereg_replace (",", ".", $a["name"]);
echo $a["name"]; // Gibt dann "1.0" aus.
Auf meinem Localhost geht alles einwandfrei. Der einzige Unterschied zwischen Localhost und Remoteserver ist die PHP Version. Localhost hat 4.3.1 und Remote hat 4.2.3
Ich hab es auch schon mit "str_replace" und "eregi_replace" probiert. Alles das gleiche Problem.
Übrigens die Funktion kann keinen Fehler haben, denn folgendes geht:
PHP:
$a = "1,8";
echo ereg_replace (",", ".", $a);
Hat jemand eine Ahnung was das sein kann? Wäre über ne Antwort doch sehr erfreut.