ebiz-consult PHP Entwicklung
- Ad -
IMPRESSUM dotted_line KONTAKT dotted_line search dotted_line Contact dotted_line sitemap
194 PHP-Resource Mitglieder online
php-resource



Archiv verlassen und diese Seite im Standarddesign anzeigen :
mehrere Formulare abschicken; $_POST


 
mcmurphy
02-03-2005, 13:14 
 
Moin mitteinand,
habe folgendes vor:
aus einer Datenbank sollen auf einer Seite mehrere Formulare (mit identischen Feldnamen!) erzeugt werden. Der User kann dann in den Formularen einträge vornehmen. Mit einem Klick sollen die Formulare abgeschickt werden.
Dachte ich mir in etwa so:
Beispiel Source:

<!-- Html Header Kram.... -->
<script type="text/javascript">
<!--
function submitAll(){
for(var i = 0; i <= document.forms.length; i++){
alert(document.forms[i].name);// nur zum Test
document.forms[i].submit();// schickt mit die Formulare ab
}
} //--> </script>
</head>
<!-- Html body blbla.... -->
<form action="index.php?action=test02" name="form01" method="POST">
<input type="text" name="textfeld">
</form>

<form action="index.php?action=test02" name="form02" method="POST">
<input type="text" name="textfeld">
</form>
<a href="index.php?action=test02" onclick="submitAll();">FormularTest</a>
</body>

Das dynamische Erzeugen der Formulare funzt, aber auf der nächsten Seite wird mir im $_POST Array nur die Eingabe des ersten Formulars angezeigt.
Bsp. print_r($_POST):


Array
(
[textfeld] => Eingabe im Textfeld 1
)

Wie komme ich an die anderen Werte :confused:
Am liebsten wär mir ein Array ala:
print_r(myArray):
Array
(
[0] => Array
(
[textfeld01] => irgendeineEingabe
[textfeld02 => noch'n'Gedicht
[etc] => etc
)
[1] => Array
(
[textfeld01] => irgendeineEingabe02
[textfeld02 => noch'n'Gedicht02
[etc] => etc02
)
// usw. etc. pp.
)
Jeht dat überhaupt ???
Für alle Antworten bedanke ich mich schon mal im voraus......
THXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx

 
asp2php
02-03-2005, 13:20 
 
das geht nicht! Aber warum mehrere Formular, wenn du doch alle Daten brauchst, warum nicht in einem :rolleyes:

 
wahsaga
02-03-2005, 13:33 
 
Original geschrieben von mcmurphy
Das dynamische Erzeugen der Formulare funzt, aber auf der nächsten Seite wird mir im $_POST Array nur die Eingabe des ersten Formulars angezeigt.
natürlich, es kann ja auch immer nur ein formular abgesendet werden.

 
mcmurphy
02-03-2005, 13:37 
 
Weil die Formulare gleiche Feldnamen haben sollen, um sie dann per SQL in die Datenbank schreiben zu können.
Wenn das so wie ich es mir gedacht habe nicht geht wird das dann komplizierter, jedes Formularelement braucht dann einen einen eigenen Namen den ich mir beim Speichern in der DB dann wieder auseinanderklapüseren muß

 
wahsaga
02-03-2005, 13:40 
 
Original geschrieben von mcmurphy
Weil die Formulare gleiche Feldnamen haben sollen, um sie dann per SQL in die Datenbank schreiben zu können.
Wenn das so wie ich es mir gedacht habe nicht geht
nee, so geht's selbstverständlich nicht.
sollte jemand mit HTML-grundkenntnissen aber auch eigentlich wissen.

wird das dann komplizierter, jedes Formularelement braucht dann einen einen eigenen Namen den ich mir beim Speichern in der DB dann wieder auseinanderklapüseren muß
du kannst die formularelemente ja auch so benennen, dass PHP automatisch arrays draus macht ...

name="feldname[]"
oder ggf. auch mit index,
name="feldname[xy]"

 
asp2php
02-03-2005, 13:41 
 
mach daraus ein Formular, benenne die bisher gleichen Elemente wiefolgt: name="bisherigename[]" und schaue dir beim Absenden print_r($_POST) mal an ;)

 
mcmurphy
02-03-2005, 13:43 
 
du kannst die formularelemente ja auch so benennen, dass PHP automatisch arrays draus macht ... name="feldname[]" oder ggf. auch mit index, name="feldname[xy]
THX für denn Tip

 
mcmurphy
02-03-2005, 13:46 
 
THXXXXXXXXXXXXXXXXX auch an
asp2php
:p


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:50 Uhr.