Permalänk
Medlem

PHP $_POST_array

Hej, testar lite med en switchsats men jag får det inte att fungera.
Det som händer är att det hoppar direkt till default.
Jag har lite html kod som ser ut likt nedan

<td>Hur hittade du hit?</td> <td><select name="hitta"> <option value="a">Återkommande kund.</option> <option value="b">Av en vän.</option> <option value="c">Genom Google.</option> <option value="d">TV-reklam.</option> </select>

Sedan har jag lite php som ser ut så här

switch ($hitta) { case 'a': echo '<p>Återkommande kund</p>'; break; case 'b': echo '<p>Av en vän</p>'; break; case 'c': echo '<p>Genom Google</p>'; break; case 'd': echo '<p>TV-reklam</p>'; break; default : echo 'Ingen aning hur människan hittade hit'; break; }

Måste jag på något sätt berätta att jag ska använda mig utav $_POST_array?
Är helt ny och försöker lära mig, hittade inget användbart på Google.

Visa signatur

i 300 kan ingen höra dig skrika..

Permalänk
Inaktiv

Det ska inte vara $hitta utan $_POST['hitta'].

Permalänk
Medlem

Kommer inte $_POST['hitta'] hitta se ut så här?

$_POST => array( 'hitta' => array( 0 => "a", 1 => "b", 2 => "c", 3 => "d" ) );

Isåfall måste du använda en loop:

foreach($_POST['hitta'] as $value) { switch ($value) { case 'a': echo '<p>Återkommande kund</p>'; break; case 'b': echo '<p>Av en vän</p>'; break; case 'c': echo '<p>Genom Google</p>'; break; case 'd': echo '<p>TV-reklam</p>'; break; default : echo 'Ingen aning hur människan hittade hit'; break; } }

Visa signatur

Programmerare -> PHP | HTML | CSS | JS | Java.

Permalänk
Medlem

Ett tips, när du inte vet hur din post array ser ut.

<pre> <?php print_r($_POST); ?> </pre>

print_r, riktigt användbar funktion i php, nog min favorit.
Listar alla element/data i $_POST, du kan köra den på objekt, arrayer, tillome på kakor, sessionen, get arrayn.

Permalänk
Medlem
Skrivet av Sony?:

Kommer inte $_POST['hitta'] hitta se ut så här?

$_POST => array( 'hitta' => array( 0 => "a", 1 => "b", 2 => "c", 3 => "d" ) );

Isåfall måste du använda en loop:

foreach($_POST['hitta'] as $value) { switch ($value) { case 'a': echo '<p>Återkommande kund</p>'; break; case 'b': echo '<p>Av en vän</p>'; break; case 'c': echo '<p>Genom Google</p>'; break; case 'd': echo '<p>TV-reklam</p>'; break; default : echo 'Ingen aning hur människan hittade hit'; break; } }

Nope, med tanke på hans HTML borde $_POST se ut så här:

$_POST => array( 'hitta' => 'Det man nu valt i select-listan' );

Så, så länge han inte använder register_globals (som jag verkligen hoppas att han inte gör) så är korrekt kod den här:

switch ($_POST['hitta']) { case 'a': echo '<p>Återkommande kund</p>'; break; case 'b': echo '<p>Av en vän</p>'; break; case 'c': echo '<p>Genom Google</p>'; break; case 'd': echo '<p>TV-reklam</p>'; break; default : echo 'Ingen aning hur människan hittade hit'; break; }