
Originariamente inviata da
Alhazred
Io nel tuo codice non vedo il tag di paretura <select> né quello di chiusura </select>
Questo
<select id="province" value="">
non ha senso, perché per il tag <select> non è previsto alcun attributo "value", il value è solo per i tag <option>
Visualizza il codice della pagina su cui appare il form e controlla che il codice html generato sia corretto.
Per favore aiutatemi sono in diffcoltà ed alle primissime armi con il php.
Nel mio form popolo le select di provincia e comune tramite il seguente codice:
codice:
/*select.class.php*/
<?php
class SelectList
{
protected $conn;
public function __construct()
{
$this->DbConnect();
}
protected function DbConnect()
{
include "config.inc.php";
$this->conn = mysql_connect($dbhost,$dbuser,$dbpass) OR die("Impossibile connettersi al database");
mysql_select_db($dbname,$this->conn) OR die("Impossibile selezionare il database $db");
return TRUE;
}
public function ShowProvince()
{
$sql = "SELECT * FROM province order by provincia";
$res = mysql_query($sql,$this->conn);
$province = '<option value="0">scegli...</option>';
while($row = mysql_fetch_array($res))
{
$province .= '<option value="' . $row['ID'] . '">' . utf8_encode($row['PROVINCIA']) . '</option>';
}
return $province;
}
public function ShowComuni()
{
$sql = "SELECT * FROM comuni WHERE provincia=$_POST[ID]";
$res = mysql_query($sql,$this->conn);
$comuni = '<option value="0">scegli...</option>';
while($row = mysql_fetch_array($res))
{
$comuni .= '<option value="' . $row['ID'] . '">' . utf8_encode($row['COMUNE']) . '</option>';
}
return $comuni;
}
}
?>
/*select.php*/
<?php
include_once 'select.class.php';
$opt = new SelectList();
if(isset($_POST['ID']))
{
echo $opt->ShowComuni();
die;
}
?>
Poi nel mio form ho oltre ad altre input box le due selectbox di provincia e comune che dopo averele selezionate mi serve dalvarle nel db.
Passo i valori imputati ad un altro file registra_tesserato.php che verificherà la validità dei dati e li salvareà nel db.
codice:
....
<?php
include_once 'select.class.php';
$opt = new SelectList();
?>
....
<form id="form1" name="form1" method="post" action="registra_tesserato.php">
...
<?php
$rep = isset($_GET["rep"]) ? $_GET["rep"] : '';
$errore="";
if($rep==2) {
$errore="Formato Email non valido!";
$returnStyleError2 = "border-color: red;"; //background-color: green;
}
else if($rep==1) {
$errore="Il Campo Nome deve contenere almeno di 3 caratteri";
$returnStyleError1 = "border-color: red;";
}
else if($rep==3) {
$errore="Il Campo Cognome deve contenere almeno di 3 caratteri";
$returnStyleError3 = "border-color: red;";
}
$mail = isset($_GET["mail"]) ? $_GET["mail"] : '';
$nome = isset($_GET["nome"]) ? $_GET["nome"] : '';
$cognome = isset($_GET["cognome"]) ? $_GET["cognome"] : '';
$comune = isset($_GET["comune"]) ? $_GET["comune"] : '';
$provincia = isset($_GET["provincia"]) ? $_GET["provincia"] : '';
?>
....
<fieldset>
<label>Il/La sottoscritto/a <input name="nome" type="text" placeholder="Nome" id="nome" maxlength="20" style="<?php echo $returnStyleError1; ?>" value="<?php echo $nome;?>">
</label>
<label>
<input type="text" placeholder="Cognome" name="cognome" id="cognome" maxlength="20" style="<?php echo $returnStyleError3; ?>" value="<?php echo $cognome;?>" />
</label>
</fieldset>
<fieldset>
<label>Provincia
<select id="regioni"> <?php echo $opt->ShowRegioni(); ?></select>
</label>
<label>Comune
<select id="province"> <option>Scegli...</option></select>
</label>
...
...
</fieldset>
Come faccio a passare l'id della provincia e del comune selezionati alle varibili $provincia e $comune???
A voi sembrerà una domanda stupida ma non so come fare...
aiuto per favore!