Array-Übernahme aus <FORM> funzt nicht
Kalle
- php
0 Fabian Transchel0 Kalle
0 Sven Rautenberg0 Kalle
Hallo, Forumler,
im WEB klappt's, bei meinem lokalen FoxServ unter NT 4.0 aber nicht:
<FORM name='Terminpflege' action="<?php echo $PHP_SELF; ?>" method=post>
<input type='text' name='datum[1]'><!-- Eintrag vorhanden! -->
<input type='text' name='datum[2]'><!-- Eintrag vorhanden! -->
...
PHP-Datei:
echo "datum[1]=[".$datum[1]."]<br>";
echo "datum[1]=[".$HTTP_POST_VARS["datum[1]"]."]<br>";
Anzeige:
datum[1]=[]
datum[1]=[]
Was ist das jetzt wieder ?
Liebe Grüße aus Worms, Kalle
Hi
<FORM name='Terminpflege' action="<?php echo $PHP_SELF; ?>" method=post>
<input type='text' name='datum[1]'><!-- Eintrag vorhanden! -->
<input type='text' name='datum[2]'><!-- Eintrag vorhanden! -->
...PHP-Datei:
echo "datum[1]=[".$datum[1]."]<br>";
echo "datum[1]=[".$HTTP_POST_VARS["datum[1]"]."]<br>";
[ ] Du kennst REGISTER_GLOBALS
[ ] Du kennst die Variablendimensionskonventionen bei der Echo-Standard-Ausgabe.
Anzeige:
datum[1]=[]
datum[1]=[]Was ist das jetzt wieder ?
Müll?
Fabian
Hi, Fabian,
[ ] Du kennst REGISTER_GLOBALS
Nein, danke für den Tip. Habe \WINNT\php.ini geändert in:
register_globals = on
und Apache restarted. Hat mich nich gehilft.
[ ] Du kennst die Variablendimensionskonventionen bei der Echo-Standard-Ausgabe.
Kleiner Hinweis ?
Wie gesagt, wenn ich auf dem WEB-Server arbeite, funzt es.
Kalle
Hi
[ ] Du kennst REGISTER_GLOBALS
Nein, danke für den Tip. Habe \WINNT\php.ini geändert in:
register_globals = on
*WAH* Genau andersherum. Ändere es zur eigenen Sicherheit wieder auf OFF und recherchiere im Archiv, warum.
und Apache restarted. Hat mich nich gehilft.
Natürlich nicht.
[ ] Du kennst die Variablendimensionskonventionen bei der Echo-Standard-Ausgabe.
Kleiner Hinweis ?
1. Hör auf zu Plenken.
2. Echo kann innerhalt von ""-Ausgaben nur einfache Variablen ausgeben, aber _nicht_ Array-Indizes. Schreibe stattdessen
echo "stringausgabe...".$array[index]."noch ein string";
Wie gesagt, wenn ich auf dem WEB-Server arbeite, funzt es.
Dann schmeiß ihn lieber weg. Du solltest auf POST- und GET-Variablen nur über die entsprechenden Globals ($_POST,$_GET) zugreifen, niemals über REGISTER_GLOBALS.
Fabian
Hi, Fabian,
was ich nicht wusste: Ein Array ist mit nur *EINEM* $_POST zu übernehmen. Jetzt klappt es.
Danke, Kalle.
Moin!
im WEB klappt's, bei meinem lokalen FoxServ unter NT 4.0 aber nicht:
<FORM name='Terminpflege' action="<?php echo $PHP_SELF; ?>" method=post>
<input type='text' name='datum[1]'><!-- Eintrag vorhanden! -->
<input type='text' name='datum[2]'><!-- Eintrag vorhanden! -->
...PHP-Datei:
echo "datum[1]=[".$datum[1]."]<br>";
echo "datum[1]=[".$HTTP_POST_VARS["datum[1]"]."]<br>";
Wie greift man auf mehrdimensionale Arrays zu? Na? Jedenfalls nicht so, wie du es hier versuchst.
Und ein weiteres Problem könnte sein, dass $HTTP_POST_VARS seit PHP-Version 4.1 besser nicht mehr benutzt und durch $_POST ersetzt werden sollte.
Und außerdem noch der gute Tipp: Bei Problemen mit Wertübergaben an PHP immer erstmal checken, was überhaupt ankommt:
phpinfo(INFO_VARIABLES);
- Sven Rautenberg
Moin, Sven
phpinfo(INFO_VARIABLES);
prima Tipp, kannte ich noch nicht. Array ist vorhanden, Übernahme klappt mit
$datum = $_POST["datum"];
Im WEB habe ich noch die alte Programm-Version OHNE mit $_POST zu holen, $datum[1] war einfach da.
Danke, Kalle.