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