- Home
- Categorie
- Coding e Sistemistica
- PHP
- Non stampa echo per il Sondaggio
-
Non stampa echo per il Sondaggio
Ho notato che non trova "Devi selezionare una risposta!", escono solo gli altri 2
[PHP]
if(isset($_POST['puls_invio'])) {
if(isset($_POST['voto'])) {
$voto=mysql_real_escape_string($_POST['voto']);
$q="UPDATE sondaggio SET $voto = $voto + 1 WHERE id=1";
if(mysql_query($q)) {
echo "Grazie, il tuo voto è stato inserito!";
echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
else {
echo "Devi selezionare una risposta!";
echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
}
else {
echo "Hai già votato, grazie!";
echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
}[/PHP]
-
Ciao Apthu,
non capisco bene lo scopo, comunque $_POST['voto'] evidentemente è impostato anche quando non te lo aspetti.
hai provato a fare un var_dump($_POST['voto'])?Se ottieni una variabile vuota, allora prova a sostituire if(isset($_POST['voto'])) con if(!empty($_POST['voto'])).
Luca
-
@lucabartoli said:
Ciao Apthu,
non capisco bene lo scopo, comunque $_POST['voto'] evidentemente è impostato anche quando non te lo aspetti.
hai provato a fare un var_dump($_POST['voto'])?Se ottieni una variabile vuota, allora prova a sostituire if(isset($_POST['voto'])) con if(!empty($_POST['voto'])).
Luca
Appare NULL, però forse il codice andava già bene di per se perché ho vuotato i cookie da Safari e ora va bene.
In realtà il codice che ho postato non è completo, manca il cookie, sarebbe così:
[PHP]
if(isset($_POST['puls_invio'])) {
if(!isset($_COOKIE['votato'])) {
if(isset($_POST['voto'])) {
$voto=mysql_real_escape_string($_POST['voto']);
$q="UPDATE sondaggio SET $voto = $voto + 1 WHERE id=1";
if(mysql_query($q)) {
echo "Grazie, il tuo voto è stato inserito!";
echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
setcookie("votato", "si", time()+5365246060); //Dura 5 anni
}
}
else {
echo "Devi selezionare una risposta!";
echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
}
else {
echo "Hai già votato, grazie!";
echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
}
[/PHP]
-
Il codice sembra corretto. Se voto passa null dovrebbe funzionare tutto.
Luca
-
@lucabartoli said:
Il codice sembra corretto. Se voto passa null dovrebbe funzionare tutto.
Luca
Difatti se provi nel tuo browser che non ha ancora il cookie, clicca su Vota senza selezionare la risposta e apparirà un avviso a triangolo, poi selezionane una e vota, poi rivota e uscirà il terzo echo gruppoalveo.altervista.org/index.php