Gå til innhold

$_POST fra en foreach-løkke?


Anbefalte innlegg

Jeg har problemer med å få postet resultatet fra valg av bokser i et pizza-scriopt. Har tidligere definert valgene med <option> osv, men regner med at det skal gå an med foreach/array?

 

<!--Oppgave 3, Leksjon 3-->
<h2>Pizzabestilling</h2>

<form action="" method="POST">

<?php

 //Lager et array med ønsket innhold som kunde kan hive på pizzaen sin.
 $fyll = array("champs"=>"Champignon", "pepperoni"=>"Pepperoni",
    "skinke"=>"Skinke", "paprika"=>"Paprika",
    "biff"=>"Biff", "ost"=>"Ekstra ost");

 echo "<form>\n";

 //Bruker foreach for å kunne hente ut verdiene fra min array
 foreach ($fyll as $key=>$verdi) {
  echo "\t<br><input type='checkbox' name='$key' value='$verdi'>" . $verdi . "\n";
 }

 //Lager her et script for leveringstid(fikk litt hjelp av en kollega her), man kan velge tid innenfor åpningstid, hver halve time.
 echo "<p>Har du en ønsket leveringstid?</p>\n";
 echo "<select name='tid_time'>\n";
 for ($time=12; $time<22; $time++){
  echo "<option value='$time'>$time</option>";
 }
 echo "</select>\n";

 //Kunde kan velge hver hele og halve time for utkjøring
 echo "<select name='tid_halvtime'>";
 echo "<option value='00'>00</option>";
 echo "<option value='30'>30</option>";
 echo "</select>";

 echo "<p><input type='submit' value='Bestill pizza'>";
 echo "</form>";

 echo "<h2>Dette bestilte du!</h2>";

 //Her henter jeg ut valgte tid fra hele- og halve tidsvariabler.
 echo "Tidspunkt for levering er: ";
 echo $_POST['tid_time'] . ":" . $_POST['tid_halvtime'];

 echo "<p>Du ville ha disse ingrediensene på din pizza:</p>";
 echo $_POST['fyll'];

?>

 

Får resultatet fra inntasting av navn, men ikke fra array/checkbox :-(

Lenke til kommentar
Videoannonse
Annonse

Får ikke opp noen error ved kjøring av scriptet, nei.

 

Her er parset kode fra nettstedet(edhollic.net).

<!--#######################################################################################################################-->
<!--Oppgave 3, Leksjon 3-->
<h2>Pizzabestilling</h2>

<form action="" method="POST">

<form>
<br><input type='checkbox' name='champs' value='Champignon'>Champignon
<br><input type='checkbox' name='pepperoni' value='Pepperoni'>Pepperoni
<br><input type='checkbox' name='skinke' value='Skinke'>Skinke
<br><input type='checkbox' name='paprika' value='Paprika'>Paprika
<br><input type='checkbox' name='biff' value='Biff'>Biff
<br><input type='checkbox' name='ost' value='Ekstra ost'>Ekstra ost
<p>Har du en ønsket leveringstid?</p>
<select name='tid_time'>
<option value='12'>12</option>
<option value='13'>13</option>
<option value='14'>14</option>
<option value='15'>15</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
<option value='20'>20</option>
<option value='21'>21</option>
</select>
<select name='tid_halvtime'>
<option value='00'>00</option>
<option value='30'>30</option>
</select>
<p><input type='submit' value='Bestill pizza'>
</form>
<h2>Dette bestilte du!</h2>Tidspunkt for levering er: 12:30<p>Du ville ha disse ingrediensene på din pizza:</p>  
 </div>

 <div id="footer">
  20©12 Edgar A. Holm
 </div>

</div>

</body>

</html>

 

For meg ser det ut som at den ikke leser noen funskjon i $fyll i det hele tatt. Mulig jeg må definere en $_POST per ingrediens fra array?

 

Checkboxer kommer forøvrig kun med i $_POST dersom de er "checket". En snurrighet med standarden.

Det er vel naturlig også? :-)

Lenke til kommentar

<form action="" method="POST">

<form>

 

Hvorfor har du form to ganger? Fjern den siste.

 

Legg til i toppen av skriptet for å se hva som kommer med i $_POST

if (isset($_POST)) {
echo '<pre>;';
print_r($_POST);
echo '</pre>';
}

Endret av Crowly
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...