mehrere Werte gleichzeitig auslesen

stephandziurla

Erfahrenes Mitglied
Moin!

Ich habe mal eine Frage. In einer HTML-Seite habe ich in einem Formular ein Menüfeld, bei dem man mehrere Werte auswählen kann. Nun möchte ich diese "angeklickten" Werte an eine .php-Datei übergeben und dann auslesen, wie mache ich das? Mit dem normalen form-Tag geht das nicht, es wird dann immer nur ein Wert ausgegeben.

HTML:
  <select name="select" size="4" multiple id="select">
      <option>Rubrik1</option>
      <option>Rubrik2</option>
      <option>Rubrik2</option>
      <option>Rubrik3</option>
      <option>Rubrik4</option>
      <option>...</option>
    </select>

Wenn ich quasi Rubrik1, Rubrik3 und Rubrik5 auswähle möchte ich dann als Resultat, dass in der .php-Ausgabe auch diese drei Rubriken genannt werden, ist das mittels PHP möglich oder geht das nur mittels JS?

Thx so far...
 
PHP:
     <form name="" action="" method="post">
    <select name="select[]" size="4" multiple id="select">
          <option value="1">Rubrik1</option>
          <option value="2">Rubrik2</option>
          <option value="3">Rubrik2</option>
          <option value="4">Rubrik3</option>
          <option value="5">Rubrik4</option>
          <option value="6">...</option>
        </select>
    <input type="submit" value="Senden">
    </form>
    
    
     <?
     
     $var = $_POST['select'];
     foreach($var as $a)
     {
     	echo $a."<br>";
     }
     
     ?>

Check das mal :)




Gruß
 
Jo, dat ging nich, da bekomm ich ne Fehlermeldung:
Warning: Invalid argument supplied for foreach() in ... /test.php in Zeile 15

Das ist die Zeile mit dem foreach. Die Variable hab ich aber angepasst.
 
Naja, hab mir den Teil von dir kopiert, angepasst und eingefügt und dann mal ausprobiert.

PHP:
      $var = $_POST['select2'];
     foreach($var as $a)
     {
         echo $a."<br>";
     }

"select2" heißt das Menüfeld, wo ich Werte auswähle.
 
Hier kopier das, das Funktioniert habs getestet.

PHP:
<form name="" action="<? echo $PHP_SELF; ?>" method="post">
 	<select name="select[]" size="4" style=" height:100px; width:200px; " multiple id="select">
 		  <option value="1">Rubrik1</option>
 		  <option value="2">Rubrik2</option>
 		  <option value="3">Rubrik2</option>
 		  <option value="4">Rubrik3</option>
 		  <option value="5">Rubrik4</option>
 		  <option value="6">...</option>
 		</select>
 	<input type="submit" value="senden" name="senden">
 	</form>
 	
 	
 	 <?
 	 
 	 $var = $_POST['select'];
 	 if(isset($_POST['senden']))
 	 {
 		 foreach($var as $a)
 		 {
 			 echo $a."<br>";
 		 }
 	 }
 	 
 	 ?>

Gruß
 
Hm, also irgendwie steh ich tierisch aufm Schlauch, das noch immer nich:

Ich hab ne HTML-Datei:
HTML:
<form name="form1" method="post" action="test.php">
  <input type="checkbox" name="checkbox" value="checkbox">
</p>
<p>
  <select name="select2[]" size="4" multiple>
    <option>Name_A</option>
    <option>Name_B</option>
    <option>Name_C</option>
    <option>Name_D</option>
  </select>
  <input type="submit" name="Submit" value="Senden">
</form>

Die Werte werden dann also an die Datei test.php übergeben:
PHP:
<?php
//Da werden dann noch weitere Dinge ausgegeben...is aber nich relevant    
    $var = $_POST['select2'];
     if(isset($_POST['senden']))
     {
         foreach($var as $a)
         {
             echo $a."<br>";
         }
     }
?>

Hmm, und das funktioniert nich... :(
 
im PHP Code ist SENDEN klein geschrieben im HTML code das S Groß geschrieben.
Du musst auf Groß und kleinschreubung achten.

Desweiteren musst du den Optionen noch einen Wert also value="bla sülz" zuweisen, denn so sind die ganzen Array elemente Leer und Folglich kann nichts angezeigt werden wo nichts ist ;)


Gruß
 
Zuletzt bearbeitet:
Zurück