Array im formular!
James
- php
0 lulu0 dedlfix-1 flashnfantasy
Hi;
ich habe in meinem script ein array, dass daten übermitteln soll (das tut es aber nicht)
stark vereinfacht schauts so aus:
<?PHP
$n=0;
print "<table ><form method=post action=testsql.php ><tr><td><input type=text name=$a[$n]></td>
<td></td></tr>";
print "<tr><td><input type=submit name=los value='Fertig'></td></tr></form></table>";
if(isset($_POST['los']))
{
$i=0;
$data=$_POST['a'][0].")";
print $data;
}
?>
das gibt rein gar nichts aus, das skript!!
Huhu James
das gibt rein gar nichts aus, das skript!!
Na immerhin den resultierenden HTML-Quelltext könntest Du Dir angucken.
Dort solltest Du es sehen.
Wenn Du den Level für das Error Reporting runtersetzt bekommst Du es sogar "gesagt" ;-)
Viele Grüße
lulu
echo $begrüßung;
Das
... <input type=text name=$a[$n]>
und das
$data=$_POST['a'][0].")";
harmoniert nicht miteinander. Lass dir mit print_r($_POST) anzeigen, was in $_POST wirklich steht. (Ein <pre> vorher erhöht die Übersichtlichkeit.)
Außerdem empfiehlt es sich das error_reporting auf E_ALL zu stellen, damit nicht nützliche Hinweise auf Fehlerquellen unterdrückt werden.
echo "$verabschiedung $name";
harmoniert nicht miteinander. Lass dir mit print_r($_POST) anzeigen, was in $_POST wirklich steht.
Das ist das Problem - es steht nichts drinnen^^ womit füll ich das denn am geschicktesten???
echo $begrüßung;
harmoniert nicht miteinander. Lass dir mit print_r($_POST) anzeigen, was in $_POST wirklich steht.
Das ist das Problem - es steht nichts drinnen^^ womit füll ich das denn am geschicktesten???
Gar nicht. Das $_POST wird von PHP gefüllt mit den übertragenen Daten. Die Frage ist also, wie du die Daten entsprechend übertragen lässt.
Hier scheint mir der Fehler zu sein.
<input type=text name=$a[$n]>
Was steht denn in $a drin? Oder hätte das nur ein a sein sollen?
Das Konstrukt $a[$n] mit dem (vermutlich) nicht vorhandenem $a wird von PHP am Ende als Leerstring ausgegeben, so dass dein name-Attribut leer sein dürfte, wenn du dir den HTML-Quelltext ansiehst.
echo "$verabschiedung $name";
1. Fehler:
Dein Formular wird an der falschen Stelle geöffnet, so wie es aussieht, öffnest du es in einer Spalte, damit ist die 'Reichweite' des Formulars beendet mit dem Ende dieser Spalte !
2. Fehler:
HTML kann nicht PHP.
Du musst der Eingabe einen konkreten Namen zuweisen.
Ändere nach
name="a"
und
$data=$_POST["a"];
---
Falls du jedoch viele Eingaben haben willst, dann nehme eine Schleife und ändere
name="a_$loop1"
und
if (isset($_POST["a_$loop2"]) name[$loop2]=$_POST["a_$loop2"]