ancora sul settaggio variabili

ciao,

dunque ho questo codice:

<?php
$query = mysql_query("SELECT abbonamento FROM tbl_product WHERE pd_id = {$_GET['p']}")or die(mysql_error());
   while($row = mysql_fetch_array($query))

   if($row['abbonamento']=='N') {
?>
<script type="text/javascript">

var shipping = new Object()
shipping["1"] = [{value:"1", text:"<?php echo $lang['carta']; ?>"},
                      {value:"2", text:"<?php echo $lang['contrassegno']; ?>"},
                      {value:"3", text:"<?php echo $lang['bollettino']; ?>"}];
shipping["2"] = [{value:"1", text:"<?php echo $lang['carta']; ?>"},
                      {value:"4", text:"<?php echo $lang['bonifico']; ?>"}];
shipping["3"] = [{value:"1", text:"<?php echo $lang['carta']; ?>"},
                      {value:"4", text:"<?php echo $lang['bonifico']; ?>"}];

function setCost(chooser) {
    var newElem;
    var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
    var costChooser = chooser.form.elements["id_pag"];
    while (costChooser.options.length) {
        costChooser.remove(0);
    }
    var choice = chooser.options[chooser.selectedIndex].value;
    var db = shipping[choice];
    newElem = document.createElement("option");
    newElem.text = "<?php echo $lang['pag2']; ?>";
    newElem.value = "";
    costChooser.add(newElem, where);
    if (choice != "") {
        for (var i = 0; i < db.length; i++) {
            newElem = document.createElement("option");
            newElem.text = db[i].text;
            newElem.value = db[i].value;
            costChooser.add(newElem, where);
        }
    }
}

</script>

<select name="id_area" onchange="setCost(this)">
<option value="" selected="selected"><?php echo $lang["area"]; ?></option>

<option value="1"><?php echo $lang["italia"]; ?></option>
<option value="2"><?php echo $lang["Europa"]; ?></option>
<option value="3"><?php echo $lang["extraeuropa"]; ?></option>
</select>
</td></tr>
<tr><td colspan="8">
<select name="id_pag" onchange="this.form.submit();">
<option value="" selected="selected"><?php echo $lang["pag"]; ?></option>
</select>

<?php
} else { echo "fa qualcos'altro";}

   ?>

in pratica cosa succede: quando ricevo la var $_GET['p'] ho una condizione if, in cui if($row['abbonamento']=='N') {

//mi carica la select multipla

} else { echo "fa qualcos'altro";}

il problema è che quando seleziono le opzioni dalla select il form action mi fa l'update della tabella, ma perdo il valore di $_GET['p'], quindi mi genera un errore di notice e uno di sql.

come posso aggirare l'ostacolo?

grazie

inviato 10 anni fa
iTek
iTek
1
X 0 X

ho risolto!

bastava aggiungere .....&p={$_GET['p']} al form action

 :D

ciauz!

risposto 10 anni fa
iTek
iTek
1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda