Google Chrome zeigt Fehler, FF nicht - Undefined index:
Gero
- php
Hallo,
ich habe ein simples Formular welches per POST Daten an eine PHP Datei weitergibt. Alles nicht schön und noch zum Ausprobieren. Dennoch zeigt es ein seltsames Verhalten.
Per GET läuft alles prima. Benutze ich POST klappts nur im Firefox. Google Chrome spuckt jedoch ein
Notice: Undefined index: ...
aus. Woran könnte das liegen?
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
//make content save
$var = htmlspecialchars(strip_tags($_POST["ele_5"]));
echo $var;
?>
Danke
Mahlzeit Gero,
aus. Woran könnte das liegen?
Kleiner Tipp: auf *keinen Fall* am serverseitigen (PHP-)Code ... mit dem hat nämlich kein einziger Browser etwas am Hut (zumindest nicht, wenn der Webserver ordnungsgemäß arbeitet).
MfG,
EKKi
Hi!
Per GET läuft alles prima. Benutze ich POST klappts nur im Firefox. Google Chrome spuckt jedoch ein
Notice: Undefined index: ...
aus. Woran könnte das liegen?
An einer Diskrepanz zwischen Erwartetem und Erhaltenem. Prüf doch mal Letzteres mit einer Kontrollausgabe, beispielsweise:
var_dump($_POST);
Vorher ein <pre> erhöht die Übersichtlichkeit der Ausgabe.
Doch nun was anderes.
//make content save
$var = htmlspecialchars(strip_tags($_POST["ele_5"]));
echo $var;
Wenn du Eingabe- und Ausgabebearbeitung zusammenmischst, wirst du es in komplexeren Projekten schwer haben. Besser wäre:
// get cleaned input
$var = strip_tags($_POST["ele_5"]);
// output, considering medium HTML
echo htmlspecialchars($var);
Die Frage ist außerdem, was bringt dir strip_tags()? Wenn dir jemand Müll unterjubeln will, kann er das auch ohne HTML-Tags. Da du htmlspecialchars() in der Ausgabe verwendest, können dir weder Müll noch absichtlich verwendete Zeichen mit besonderer Bedeutung in HTML ein technisch unerwünschtes Ergebnis bringen.
Lo!
Hi,
Google Chrome spuckt jedoch ein
Notice: Undefined index: ...
aus.
Notice != Fehler
Woran könnte das liegen?
Sofern Du die entsprechende Code-Stelle identifiziert hast: Daran, dass Google Chrome kein Feld namens "ele_5" oder "ele-5" per POST übermittelt hat. Entweder hat dies eine zu identifizierende und behebende Ursache, oder Du möchtest zuvor mit isset() prüfen, ob Daten vorliegen.
Cheatah