[php] passare valore di una select ]

  • Creatore Discussione Creatore Discussione Mircodj
  • Data di inizio Data di inizio

Mircodj

Nuovo Utente
22 Apr 2009
1
0
0
salve ragazzi sono nuovo e sto imparando php...
sono ai primi passi davvero..
mi ritrovo di fronte ad un problema
ho le solite 3 select che caricano da un db mysql regione provincia comune...
fin qui nessun problema...
nella mia pagina 1.php ho un form con le mie 3 select e degli imput test per l'inserimento dei dati dell utente e fin qui tutto ok..
adesso vorre inviare alla pagina 2.php il valore di selezione delle select solo che non mi passa niente...
o meglio i valori dei campi di testo li passa tranquillamente il problema è che non passa il valore della select...
posto di seguito il codice php...
ps c'è una parte in ajax per l'aggiornamento delle select in automatico.

pagina 1.php con select
PHP:
<div id="centrale">
<table>
<center>
<form name=sel action='savean.php' method='post' enctype='multipart/form-data'>
<div class="up">
    <div class="testo"><b><font face="Verdana">NOME DEL MITTENTE</font></b></div>
    <input type="text" name="autore"><br>
    <div class="testo"><b><font face="Verdana">INVIA L'IMMAGINE DEL TUO ANNUNCIO</font></b></div>
    <img src="img/img.gif"><br><input type="file" name="logo"><br></div>
    </div>
    
    
    <div class="down">
    <div class="testo"><b><font face="Verdana">INSERISCI IL TUO ANNUNCIO</font></b></div>
    <div class="annuncio">
    <img src="img/write.gif"><BR><textarea cols="40" rows="15" name="annuncio"></textarea><br>
    
</tr>
<?

echo "<tr><td>Regione</td><td><font id=provincia><select name='provincia' class='scelta'>";
echo "<option value='0'>============</option>" ;
echo "</select></font></td>";

echo "<td>Provincia</td><td><font id=comune><select name='comune' class='scelta'>";
echo "<option value='0'>=== none ===</option>" ;
echo "</select></font></td>";

echo "<td>Comune</td><td><font id=cap><select name='cap'  class='scelta'>";
echo "<option value='0'>=== none ===</option>" ;
echo "<img src=img/barrasotto.jpg>";
echo "</select></font></td>";
?>
<center><input type="submit" value="Invia"></center>
</form>
</table>



<!-- combo fine--3F4A59>

<!-- javascript associato alle combo box-->
<script language=Javascript>
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} //IE
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
try { return new XMLHttpRequest(); } catch(e) {} //Native Javascript
alert("XMLHttpRequest not supported");
return null;
};

function dochange(src, val) {
var req = Inint_AJAX();
req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) {
document.getElementById(src).innerHTML=req.responseText; //retuen value
}
}
};
req.open("GET", "italia.php?data="+src+"&val="+val); //make connection
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header
req.send(null); //send value
}

window.onLoad=dochange('provincia', -1); // value in first dropdown
</script>

</div> 
[/php ]

pagina 2.php
[php]
<?
include("config.inc.php");

$logo = $_POST['logo'] ;
$annuncio = $_POST['annuncio'] ;
$autore = $_POST['autore'] ;
$scelta2 = $_POST['cap'];
echo $scelta2;

// QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
// DI PHP PRECEDENTI ALLA 4.1.0
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

//***[START LOGO]*************** VARIABILI [LOGO] ********************/
// Controlla la root mongolò!!!!!!!!! /


$dimensione_massima=4451200; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
$dimensione_massima_Kb=$dimensione_massima/1024;
$cartella_upload="public/"; //cartella in cui eseguire l'upload (controllare permessi scrittura)
// percorso cartella relativo $cartella_upload="../public/";
$filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
$array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png'); //estensioni ammesse

if(!isset($_FILES['logo']) || $_FILES['logo']['size']==0){
    echo "Nessun file selezionato per l'upload";
}elseif($_FILES['logo']['size']>$dimensione_massima){
    echo "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb";
}else{
    $nome_file=$_FILES['logo']['name'];
    $errore="";
    if($filtrare==1){
        $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
        if(!in_array($estensione,$array_estensioni_ammesse)){
            $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br/>";
        }
    }
    if(!file_exists($cartella_upload)){
        $errore.="La cartella di destinazione non esiste</br>";
    }
    
    if($errore==""){
        if(move_uploaded_file($_FILES['logo']['tmp_name'], $cartella_upload.$_FILES['logo']['name'])){
            chmod($cartella_upload.$_FILES['logo']['name'],0777); //permessi per poterci sovrascrivere/scaricare
            echo "Operazione eseguita con successo. Upload riuscito.";
            $logop = $_FILES["logo"]["name"];
$query = "INSERT into annunci (img, annuncio,autore,indice) values ('$logop','$annuncio','$autore','$scelta2')";
echo "La query vale -|$query|-";
if (mysql_query($query, $db))
{

echo "L'annuncio è stato inserito correttamente<br> <a href=annunci.php>Clicca qui per vedere il tuo annuncio</a> ";

}
else
{
echo "Errore durante l'inserimento: ".mysql_error();
}
mysql_close($db);
        }else{
            echo "Impossibile effettuare l'upload del file";
        }
    }else{
        echo $errore;
    }
}
//[END LOGO]********************* FINE VARIABILI [LOGO] ********************/

// ************************ [QUERY DI INSERIMENTO tabella = "annunci"] ************************


in questo punto se stampo le variabili tutte contengono un valore tranne scelta 2 che equivale alla selct

PHP:
<?
include("config.inc.php");

$logo = $_POST['logo'] ;
$annuncio = $_POST['annuncio'] ;
$autore = $_POST['autore'] ;
$scelta2 = $_POST['cap'];
echo $scelta2;

premetto che se non faccio alcuna scelta nelle select e clicco sul pulsante invia nel form mi viene passato il valore di defoult 0 appena faccio una selezione non passa nulla..
dove sbaglio?
 

Discussioni simili