Sto implementando due possibili scelte di spedizione nell'area checkout_shipping del mio ecommerce, il cliente che vuole acquistare può decidere se ricevere il prodotto a domicilio o ritirarlo presso un punto vendita convenzionato. A seconda di quello che sceglie vi sono delle variazioni: esempio se il cliente sceglie la consegna a domicilio, questa avviene il mercoledì e il giovedì, tipo il mercoledì a chiaia, il mercoledì a vomero e il giovedì a posillipo e il giovedì a napoli centro. La stessa cosa vale per il ritiro presso un punto convenzionato. Ho implementato un menù a tendina a seconda dell'opzione di spedizione che sceglie il cliente. Ho inviato la scelta al server tramite il metodo post. Questa scelta viene inviata alla pagina successiva cioè quella del checkout_payment. Il mio problema è che mi viene riportata nella pagina successiva solo la scelta del secondo metodo di spedizione cioè quella per il punto di ritiro, mentre la prima opzione cioè quella della consegna a domicilio non viene riportata nella pagina checkout_payment. Vi allego il codice per fare apparire il menù a tendina della scelta nel file checkout_shipping:
<td>
<br>
<?php
if (($quotes[$i]['methods'][$j]['cost'])=="Consegna a Domicilio") {
?>
<br>
<td class="main">Punti di Ritiro:</td>
<td class="main">
<form method="post" action="http://www.progettoaires.org/Shop/checkout_payment.php">
<select input type=text name="puntiritiro" onChange="return refresh_form(checkout_shipping);">
<option value="">Selezionare</option>
<option value="8">Mercoledi: Squisitezze (P.Bellini)</option>
<option value="9">Mercoledi: Mercadante (C.Emanuele)</option>
<option value="10">Mercoledi: Taddeo (Fuorigrotta)</option>
<option value="11">Mercoledi: Erboristeria (Centro Direzionale)</option>
<option value="12">Mercoledi: Sira (Teverola/Aversa)</option>
<option value="13">Giovedi: Semi di Pace (Portici)</option>
<option value="14">Giovedi: Nuova Terra (S. Giorgio)</option>
<option value="15">Giovedi: Naturalmente Bio (Vomero)</option>
<option value="16">Giovedi: Eurotour (Vomero)</option>
<option value="17">Giovedi: Solonatura (Rione Alto)</option>
<option value="18">Giovedi: Edone (Pozzuoli)</option>
</select>
<INPUT TYPE="SUBMIT" VALUE="Invia Ora !">
<INPUT TYPE="RESET" VALUE="Reset">
</td>
</form>
<?php
}
else
{
?>
<br>
<td class="main">Consegne a Domicilio:</td>
<td class="main">
<form method="post" action="http://www.progettoaires.org/Shop/checkout_payment.php">
<select input type=text name="consegnadomicilio" onChange="return refresh_form(checkout_shipping);">
<option value="">Selezionare</option>
<option value="1">Mercoledi: Chiaia</option>
<option value="2">Mercoledi: Mergellina</option>
<option value="3">Mercoledi: C.V. Emanuele</option>
<option value="4">Giovedi: Vomero</option>
<option value="5">Giovedi: Posillipo</option>
<option value="6">Giovedi: Portici</option>
<option value="7">Giovedi: San Giorgio a Cremano</option>
</select>
<INPUT TYPE="SUBMIT" VALUE="Invia Ora !">
<INPUT TYPE="RESET" VALUE="Reset">
</td>
</form>
<?php
}
?>
</td>
<br>
vi allego anche il codice che inserisco nella pagina checkout_payment per riprendere il valore della scelta fatta in precedenza nella pagina checout_payment:
<tr>
<td>Il valore scelto è:
<?php $consegnadomicilio = $_POST['consegnadomicilio'];
switch ($consegnadomicilio) {
case 1:
echo "Mercoledi: Chiaia";
break;
case 2:
echo "Mercoledi: Mergellina";
break;
case 3:
echo "Mercoledi: C.V. Emanuele";
break;
case 4:
echo "Giovedi: Vomero";
break;
case 5:
echo "Giovedi: Posillipo";
break;
case 6:
echo "Giovedi: Portici";
break;
case 7:
echo "Giovedi: San Giorgio a Cremano";
break;
}
?>
<?php $puntiritiro = $_POST['puntiritiro'];
switch ($puntiritiro) {
case 8:
echo "Mercoledi: Squisitezze (P.Bellini)";
break;
case 9:
echo "Mercoledi: Mercadante (C.Emanuele)";
break;
case 10:
echo "Mercoledi: Taddeo (Fuorigrotta)";
break;
case 11:
echo "Mercoledi: Erboristeria (Centro Direzionale)";
break;
case 12:
echo "Mercoledi: Sira (Teverola/Aversa)";
break;
case 13:
echo "Giovedi: Semi di Pace (Portici)";
break;
case 14:
echo "Giovedi: Nuova Terra (S. Giorgio)";
break;
case 15:
echo "Giovedi: Naturalmente Bio (Vomero)";
break;
case 16:
echo "Giovedi: Eurotour (Vomero)";
break;
case 17:
echo "Giovedi: Solonatura (Rione Alto)";
break;
case 18:
echo "Giovedi: Edone (Pozzuoli)";
break;
}
?>
</td>
qualcuno mi potrebbe dare una mano a capire perchè la seconda scelta me la riporta nella pagina checkout_payment mentre per la prima scelta non mi riporta nulla nella pagina checkout_payment?
Problema con POST e $_POST
Moderatore: mod Generali