SNOWMAN Geschrieben 26. Juli 2004 Teilen Geschrieben 26. Juli 2004 Hi, ich arbeite gerade an einem kleinen Script, mit dem ich CDs in die DB eintragen kann. Per PHP generiere ich eine, derzeit noch fixe, anzahl von Textareas mit dem Namen a0, a1, a2 - Die zahl wird durch die variable $a eingefügt. In einer zweiten Datei werden die Inserts durchgeführt, ich greife dabei mit $_POST auf die Textareas der anderen Datei zu. Die 1 im Insert ist die UserID welche eingetragen wird, die anderen beiden Felder bleiben leer, aber wieso? Hier der Quellcode: //ERSTE DATEI //Generieren der Textareas und Eingeben der Werte //DB CONNECT <form method="POST" action="insert_cd.php"> <? $a = 0; for($i = 0 ; $i<30 ; $i++) { echo"<input type=\"textarea\" name=\"a$a\" size=\"55\">"; $a = $a + 1; echo" <input type=\"textarea\" name=\"a$a\" size=\"55\"><br>"; $a = $a + 1; } ?> <input type="submit" value=" GO "> </form> ------------------ //ZWEITE DATEI //insert ausführen //DB CONNECT <? $sql = "insert into cd values ('1', '" .$_GET['a0'] ."','" .$_GET['a1'] ."');"; mysql_query($sql); ?> [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 26. Juli 2004 Teilen Geschrieben 26. Juli 2004 Verschoben -> Webserverprogrammierung Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 26. Juli 2004 Teilen Geschrieben 26. Juli 2004 warum nimmst du kein array dafür? dann kannste jede textarea z.b. "a[]" nennen. ist dann auf der nächsten seite nach dem submit in dem array $_POST["a"] alles drinn //ERSTE DATEI //Generieren der Textareas und Eingeben der Werte //DB CONNECT <form method="POST" action="insert_cd.php"> <? $a = 0; for($i = 0 ; $i<30 ; $i++) { echo"<input type=\"textarea\" name=\"a$a\" size=\"55\">"; $a = $a + 1; echo" <input type=\"textarea\" name=\"a$a\" size=\"55\"><br>"; $a = $a + 1; } ?> <input type="submit" value=" GO "> </form> ------------------ //ZWEITE DATEI //insert ausführen //DB CONNECT <? $sql = "insert into cd values ('1', '" .$_POST['a0'] // hier unten anstatt $_GET['a0'] => $_POST['a0'] ."','" .$_POST['a1'] // hier unten anstatt $_GET['a1'] => $_POST['a1'] ."');"; mysql_query($sql); ?> [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 26. Juli 2004 Autor Teilen Geschrieben 26. Juli 2004 Werd ich testen wenn ich daheim bin. aber mal noch ne frage dazu: Ich hab noch nicht all zu viel mit array in php zu tun gehabt, aber ich nehm jetzt einfach mal an, dass $_POST[a] auf das erste Element des Array zugreift, $_POST[a+1] aufs zweite, $_POST[a+2] aufs dritte usw. So wie in C/C++, oder!? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kLeiner_HobBes Geschrieben 26. Juli 2004 Teilen Geschrieben 26. Juli 2004 nee, IMHO kannste das so machen:$a = $_POST["a"]; echo $a[0]; echo $a[1]; ...[/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 26. Juli 2004 Teilen Geschrieben 26. Juli 2004 Werd ich testen wenn ich daheim bin. aber mal noch ne frage dazu: Ich hab noch nicht all zu viel mit array in php zu tun gehabt, aber ich nehm jetzt einfach mal an, dass $_POST[a] auf das erste Element des Array zugreift, $_POST[a+1] aufs zweite, $_POST[a+2] aufs dritte usw. So wie in C/C++, oder!? oder einfach alle in einer schleife durchgehen: // entweder mit for: for ( $i = 0; $i < count($_POST["a"]; $i++) { echo "Schlüssel:". $i . "Wert:" . $_POSt["a"][ $i] . "<br>\n"; } // oder mit foreach: foreach ( $_POST["a"} as $key => $value) { echo "Schlüssel:" . $key . ", Wert:". $value ."<br>\n"; } [/PHP] die for-Schleife geht nur bei numerischen schlüsseln, während die foreachschleife bei allen arten von schlüsseln funktioniert Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.