Array als <option> value

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sure Is

Sure Is

18/08/2011 13:08:47
Quote Anchor link
Hallo iedereen!

Op een.php probeer ik een form te verzenden met een dropdown via <select><option>:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
echo '<form name="somename" action="twee.php" method="post"><select name="pickme">';
    
      echo '<option value="'.array("id" => "1", "name" => "Els").'">';
      echo 'Naam 1';
      echo '</option>';

      echo '<option value="'.array("id" => "2", "name" => "Bas").'">';
      echo 'Naam 2';
      echo '</option>';

      echo '<input type="submit" value="Submit" />';
      echo '</select></form>';

?>


In twee.php heb ik dan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

$something
= $_POST['pickme'];
echo $something["id"];
echo $something["name"];
?>


Op de pagina twee.php staat nu helaas niet "1Els" of "2Bas" maar wel "AA".
Gelijk wat ik ook invul, ik krijg altijd "AA" te zien.

Iemand die een oplossing weet? Of een andere manier om meerdere values per optie door te sturen via het form?

Thanks!
Gewijzigd op 18/08/2011 13:11:21 door Sure Is
 
PHP hulp

PHP hulp

08/11/2024 09:38:27
 
Benny Lava

Benny Lava

18/08/2011 13:20:52
Quote Anchor link
Je kunt een array niet op deze manier doorsturen. Wat je kunt doen is value="id2nameBas" ervan maken en dat dan strippen voor de waardes. Maar waarom zou je dat doen want ID is uniek dus is gekoppeld waarschijnlijk aan een naam dus hoef je dat niet door te sturen.

Edit: wat ik er mee bedoel is dus alleen ID als value meesturen;
Gewijzigd op 18/08/2011 13:21:56 door Benny Lava
 
- SanThe -

- SanThe -

18/08/2011 13:27:27
Quote Anchor link
In $_POST['pickme'] zit de string 'Array'.

Dus:
// hier zet je 'Array' in $something
$something = $_POST['pickme'];
// "id" (en ook "name") is onbekend en wordt dus 0 (nul)
// en $something[0] geeft de eerste letter
echo $something["id"];
echo $something["name"];
// dus krijg je twee keer een 'A' => AA

Je zou dit kunnen doen:
echo '<option value="1,Els">';
echo 'Naam 1';
echo '</option>';

En dan zo ophalen:
$something = explode(',', $_POST['pickme']);
echo $something[0]; ==> is het id
echo $something[1]; ==> is de naam
Gewijzigd op 18/08/2011 13:28:20 door - SanThe -
 
Sure Is

Sure Is

18/08/2011 14:00:35
Quote Anchor link
Bedankt van het antwoord!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.