Archiv verlassen und diese Seite im Standarddesign anzeigen : dumme Frage?
tkuebler
21.10.2010, 08:51
habe ein Verständnis Problem.
mein Formular enthällt ein paar Checkboxen mit diversen inhalten
Es gibt einen submitbutton der das Formular abschickt.
der Button wurde so definiert
<button id="sperre_sichern" class="eva_abstand button" type="submit" name="sperre_sichern" >
hier noch die kopfzeile des Formulars
<form method="post" name="sperre" action="<?php echo $_SERVER['PHP_SELF']; ?>">
nun will ich nach dem kilick des buttons die Array daten haben.
if (isset ( $_POST['sperre_sichern'] ))
{print_r($_POST);}
liefert mir folgende ausgabe.
Array ( [sperre_sichern] => [sperre_2_2007] => on [sperre_2_2008] => on [sperre_2_2009] => on )
wenn ich aber if (isset ( $_POST['sperre_sichern'] ))
{print_r($_POST['sperre_sichern']);} machen will kommt keine ausgabe!!!
Kann mir einer sagen wieso? stehe auf dem schlach....
phpBuddy
21.10.2010, 10:34
Hi,
Du bekommst bei der ersten Ausgabe auch nichts, schau mal genau hin.
Es ist übersichtlicher, wenn Du die Debug-Ausgabe so machst:
echo "<pre>" . print_r( $deineVariable, TRUE ) . "</pre>";
Wieso verwendest Du button und nicht input für den Submit-Button, so wie es üblich ist? Es schadet sicher auch nichts, wenn Du dem Button ein value-Attribut mitgibst (value="Abschicken"). Ohne value existiert zwar die Variable, aber sie ist leer.
tkuebler
21.10.2010, 11:59
mh das stimmt nicht ganz
wenn ich z.b.
echo "<pre>".print_r($_POST, TRUE)."</pre>";
kommt bei mir
Array
(
[sperre_sichern] =>
[2007] => on
[2008] => on
[2009] => on
)
raus.
Also gibt er was aus, auch ohne das der button ein value hat.
wenn ich dem button den value="sperre" gebe, dann sieht der $_POST array so aus
Array
(
[sperre_sichern] => sperre
[2007] => on
[2008] => on
[2009] => on
)
Wenn ich dazu folgendes ausgeben lasse
echo "<pre>".print_r($_POST['sperre_sichern'], TRUE)."</pre>";
kommt einfach nur sperre raus.
ob ich button oder input verwende ist egal...das ergbnis ist das gleiche.
phpBuddy
21.10.2010, 12:16
Ich verstehe dein Problem nicht - das ist doch genau die Ausgabe, die erwartet wird. Wenn Du mit print_r eine Variable ausgibst (in deinem Fall $_POST['sperre_sichern']) dann kommt genau das raus, was als value übermittelt wurde. Hat das Ding kein value, kommt auch nur eine leere Variable an. $_POST['sperre_sichern'] ist kein Array, also was soll da ausgegeben werden?
Es geht hier nur um die Ausgabe echo "<pre>".print_r($_POST['sperre_sichern'], TRUE)."</pre>"; also genau eine Variable und nicht das gesamt $_POST Array.
tkuebler
21.10.2010, 12:30
oh mann ich bin ja sowas von hohl!!!
ich dachte das währe ein 2dimensionaler array aber das ist er ja nicht OH mann
sorry lösch einfach den post *PEINLICH*
phpBuddy
21.10.2010, 12:57
Achwas, sowas passiert jedem mal, vom Anfänger bis zum Profi. Ich saß auch schon vor dem Screen und wunderte mich minutenlang, wieso eine Variable nicht ausgegeben wurde. Bis mir dann auffiel das eine Ausgabe besser funktioniert, wenn man ein echo benutzt, statt nur die Variable hinzuschreiben. :D
tkuebler
21.10.2010, 13:19
ich arbeite alleine an einem Projekt in Frankfurt, das ich ganz alleine mit php programmiert habe (für die Uni Frankfurt) hab schon zig tausen zeilen code hinter mir und dann sowas...
eiei...
vor lauter wald die bäume nicht gesehen.
Aber so eine Beurteilung von Dir ist wie Balsam für meine Seele :-D
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.