Frage von IaskQuestion23, 38

PHP undefined index?

Hallo Leute. Hier ist der Code. (Er ist sehr kurz also sollte er euch keine allzu großen Schwierigkeiten bereiten):

<?php $datum = $_POST["23.9"]; $autor = $_POST["Stephen King"]; $newstext = $_POST["Guten Tag, ich bin heute ziemlich gut drauf."];

?>

Die Fehlermeldung lautet so: Undefined index: 23.9 in C:\xampp\ on line 2

das ist bei allen zeilen so.

Antwort
von Suboptimierer, 38

Übergabeparameternamen scheinen mit einem Alphazeichen beginnen zu müssen. Benenne den Parameter einmal probeweise in A23.9 um. Vermeide außerdem Leer- und Sonderzeichen in Parameternamen. Selbst wenn der Compiler nicht meckerte, wäre es sehr irritierend.

Antwort
von ceevee, 33

dann solltest du mal in das $_POST-Array reingucken (mit var_dump($_POST), ob die Indizes "23.9", "Stephen King" und "Guten Tag... " existieren. 

So wie dein Code aussieht, hast du aber assoziative Array nicht verstanden, weil der Inhalt des Arrays nicht in den Index reingehört. 

$_POST["23.9"] = "24.12.1860";

wäre ein gültiger Eintrag für das Array, der aber wahrscheinlich nicht das Datum zurückgibt, das du erwartest.

Antwort
von maximilianus7, 26

zeigt er die meldungen als Notice oder Error?

was suboptimierer schreibt stimmt nicht, ausserdem geht es um array-indizies und nicht um parameter, in beiden darf alles stehen wenn es strings sind.

wenn der index in $_POST nicht vorhanden ist, wird ein leerer string zurückgegeben und eine notice gemeldet (kann man generell ausschalten). per anweisung kann man das mit

$datum = @$_POST["23.9"];

ausschalten.

allerdings kommen mir deine indizies seltsam vor, es scheint, dass du die bedeutung von $_POST nicht verstanden hast.

was hast du vor?

Antwort
von RakonDark, 17

ich glaub kaum das der input tag mit name = "Stephen King" existiert ?

ist das eine Hausaufgabe ?

und zweitens , was willst du eigentlich bewirken mit dem post ?


Kommentar von IaskQuestion23 ,

Nein

Keine passende Antwort gefunden?

Fragen Sie die Community