Fehlermeldung mit Checkbox Array

aleks

Mitglied
Hallo Zusammen ich hab mal wieder ein Problem ... mit einem Checkbox Array.
Dieses Array befindet sich innerhalb des Formular. Es geht um folgendes : 1. wenn keine Checkbox aktiviert ist soll ein Fehlertext ausgegeben werden.2. die aktivierten Checkboxen sollen beim nächsten mal angezeigt des Formular auch als aktiv gezeigt bleiben. So, hier ist der Code mit dem ich Probleme habe: Erst mal meine Fehlerausgabe:
PHP:
if (empty($_POST['check1']))
		
	
	{
	  $allesok=0;
	  $error[check1]="Bitte mindestens eine Charaktereigenschaft auswählen!";
	  $error2[check1]="<b><span style=\"color:red;\">*</span></b>";
	}
So jetzt der HTML-Teil:
HTML:
<p >
<span class="spalte1 ">
<input name="check1[1]" type="checkbox" value="abenteuer"><label  for="abenteuer">abenteuerlustig</label></span>
<span class="spalte2">
<input name="check1[2]" type="checkbox" value="energiegeladen"><label for="energiegeladen" >energiegeladen</label></span> 
<span class="spalte3">
<input name="check1[3]" type="checkbox" value="intelektuell"><label for="intelektuell" >intellektuell</label></span> 
<span class="spalte4">
<input name="check1[4]" type="checkbox" value="spontan" ><label for="spontan" >spontan</label></span></p>



<p>
<span class="spalte1 ">
<input name="check1[5]" type="checkbox" value="streitlustig"><label for="streitlustig" >streitlustig</label></span> 
<span class="spalte2">
<input name="check1[6]" type="checkbox" value="weltgewandt"><label for="weltgewandt" >weltgewandt</label></span> 
<span class="spalte3">
<input name="check1[7]" type="checkbox" value="schuechtern"><label for="schuechtern" >Sch&uuml;chtern</label></span> 
<span class="spalte4">
<input name="check1[8]" type="checkbox" value="humorvoll"><label for="humorvoll" >humorvoll</label></span></p>
<p > ...usw.
und
PHP:
<?php 


foreach ($_POST['check1'] as $check1_id => $status) 
	{
	  if(isset($_POST['check1']))
	  {
	    echo '<input value="'.$check1_id.'"checked>';
	  }
	  else
	  {
	     echo '<input value="'.$check1_id.'">';
	  }
        
    }

?>
Also ich bekomme folgende Fehlermeldung:Warning: Invalid argument supplied for foreach() in C:\Programme\xampp\htdocs\xampp\php\kalender.php on line 255. Es handelt sich um folgende obere Zeile des PHP-Codes:
PHP:
 foreach ($_POST['check1'] as $check1_id => $status)
Was mache ich den falsch? Komme einfach nicht dahinter wie man das richtig macht.:confused: Würde mich über Tipps sehr freuen;)
Gruß Aleks
 
Danke, ja.
PHP:
<input name="check1[1]" type="checkbox" value="abenteuer"><label  for="abenteuer">abenteuerlustig</label></span>.... und

foreach ($_POST['check1'] as $check1_id => $status)
Ist eben vom Typ Checkbox. Meins du das ? Oder welche Variable meins du genau?

Gruß aleks
 
Wie man oben sehen kann handelt es sich um ein assoziatives array. Ich hoffe deine frage ist genügend beantwortet.
Gruß aleks
 
Dann ist $_POST['check1'] kein Array.

Wird check1 überhaupt übergeben? print_r($_POST); wird dir da Auskunft geben.
Wird Formular auch wirklich via POST geschickt, oder per GET?
 
fanste hat gesagt.:
Dann ist $_POST['check1'] kein Array.

Wird check1 überhaupt übergeben? print_r($_POST); wird dir da Auskunft geben.
Wird Formular auch wirklich via POST geschickt, oder per GET?

Erst mal danke für die Beiträge.;) Ich habe das Script ein wenig verändert so:
PHP:
if(isset($_POST['check1']))
    {
       reset($_POST['check1']);
	    foreach($_POST['check1'] as $check1_id => $status) 
		{
		    echo '<input value="'.$check1_id.'"checked>'; 
		}
	}
.

Jetzt wird es übergeben (ich meine check1) dafür ich jetzt ein anderes Problem. Wenn keine Checkbox ausgewählt ist zeigt er die Fehlermeldung an das ok. So wenn ich jetzt eine Checkbox auswähle wird beim nächsten zeigen des Formular trotzdem die Checkbox im Urzustand also ohne Häcken angezeigt
So meine Frage ist jetzt wie kriege ich das hin das er das Häckchen übernimmt?:confused:

Gruß aleks
 
Zurück