PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Auslesen von Formulardaten bez. vorher gleichnamiger Checkboxen (http://www.selfphp.de/forum/showthread.php?t=7260)

phpLaie 24.03.2004 14:10:48

Auslesen von Formulardaten bez. vorher gleichnamiger Checkboxen
 
Hi zusammen,

also wie das Topic schon sagt, habe ich ein Problem beim php-mäßigen Auslesen von Daten die davor von einem HTML-Formular abgesendet wurden. Und zwar genauer von solchen Daten, die im Formular davor über gleichnamige Checkboxen angefallen sind, wie etwa auch in diesem Beispiel hier. Clicke ich von diesen Checkboxen jetzt nämlich gleich mehrere an und schicke das Formular dann ab, so habe ich auf der php-Seite nun das Problem, dass die Datenbezeichnungen aufgrund der vorherigen Gleichnamigkeit dieser Checkboxen jetzt diesbezüglich ja auch wieder gleichnamig sind und ich da mit einem $Bla = $_GET['Eigenschaft'] oder mit einem $Bla = $HTTP_POST_VARS['Eigenschaft'] immer nur an den ersten Checkbox-Wert herankomme aber nicht an einen event. existierenden zweiten...

Wie also müsste hier in einem solchen Fall die Syntax aussehen, um eben auch einen solchen weiteren Checkbox-Wert erfolgreich aus den zugeschickten Daten auslesen zu können?


(Im Zweifelsfall könnte man zwar die Namen der Checkboxen im HTML-Formular alle auch etwas unterschiedlich nennen (etwa "Eigenschaft1", "Eigenschaft2" usw.) aber vielleicht gibt es ja auch eine zu diesem Problem speziell passende Lösung. Oder ist die Gleichnamigkeit der Checkboxen im angegebenen Formular-Beispiel da event. etwa selbst nur ein Fehler?).

Thx im Voraus

chris17 24.03.2004 14:23:13

Hi,

schau Dir mal das an -> http://www.dclp-faq.de/q/q-formular-checkbox.html

Gruss

gerhard 25.03.2004 07:11:25

die obige lösung kannte ich noch nicht --> man lernt nie aus.

eine weitere möglichkeit wäre eine dynamische variable.

praktisch gesprochen:

du baust die formularabfrage der ceckboxen über eine schleife auf und
vergibts einen "stammnamen" - beispielsweise "kasterl"

in der schleife hängst du beim aufruf der ceckbox an diesen stamm-namen die laufvariable an, wenn z.b. das $i ist (for($i=1;$i<2;$i++)) würde dann die ceckbox so aussehen:

echo '<input type="checkbox" name="kasterl'.$i.'" value="1">';

damit hast du dann variable (die auch übertragen werden) mit namen $kasterl0, $kasterl1, $kasterl2 .... etc.

im auswertungsscript musst du dann natürlich die gleiche schleife abfragen

etwa so:

for($i=1;$i<2;$i++)
{
$ergebnis="kasterl".$i;
$einzelergebnis = $$ergebnis;
}


ich weiss, klingt vielleicht ein wenig komplizierter als die erste lösung ...

phpLaie 25.03.2004 16:39:22

Many Thx an beide! Das erste Beispiel war aber eigentlich schon ausreichend (auch wenn es bei mir nicht mit $REQUEST funktionierte, sondern nur mittels $_POST o. $HTTP_POST_VARS), aber so wie ich unter "foreach" las, ist diese Methode ja wohl auch ohnehin noch nicht so ganz uralt. Trotzdem denke ich, werde ich mich dem Fortschritte mal nicht verschließen...

lindic 25.03.2004 16:51:57

Mit $_REQUEST müsste es auch gehen. (Unterstrich nicht vergessen!) :-)

phpLaie 25.03.2004 19:23:05

Yo stimmt, hab's noch mal kurz gecheckt. Weiß nicht was ich da falsch gemacht hatte – vielleicht tatsächlich den Unterstrich vergessen, wie im Post darüber :-/


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:52:53 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.