- Home
- Categorie
- Coding e Sistemistica
- PHP
- Sondaggio
-
Sondaggio
Ho cercato di creare un sondaggio seguendo questa guida (giorgiotave.it/tutorial/sondaggio1.php**), ma quando voto mi dà l'errore: "errore impossibile votare". Quindi, visto che avevo già fatto delle modifiche, ho ricominciato da capo modificando solo i dati del server sql, ma niente da fare.
Potreste aiutarmi??
-
Ciao smbo994,
invece di:
[php]
if(!mysql_query($sql)){
echo "Errore impossibile votare";
echo "<script>
function redirect(){
window.location.replace("scegli.htm");
}[/php]
metti:
[php]
mysql_query($sql) or die(mysql_error());
[/php]In modo che venga mostrato l'errore.
-
niente...
pagina bianca...
non ci sono neanche queries al database...
è giusto così il codice?
[php]
<?phpinclude("db_connect.php");
$risultati_mysql=mysql_query("SELECT * FROM nomi ");
while ($riga1=mysql_fetch_array($risultati_mysql))
{
$id=$riga1["$paese"];
$idnuovo=($id + 1);
}
$sql="UPDATE nomi SET $paese='$idnuovo' ";
mysql_query($sql) or die(mysql_error());
setTimeout("redirect()", 2000);
</script>";
exit();
}else{
echo "Voto valido";
echo "<script>
function redirect(){
window.location.replace("guarda.php");
}
setTimeout("redirect()", 2000);
</script>";
}
mysql_close();
?>
[/php]Grazie!
-
Ma $paese da dove prende il valore?
-
Non lo so...
Quindi è quello l'errore??
Non so da dove lo prenda, non è citato neanche nelle pagine precedenti...
-
Si, lo script funziona solo con i register_globals impostati su ON, prova cosi:
[php]
<?phpinclude("db_connect.php");
if(isset($_POST['paese']))
$paese = $_POST['paese'];
else
exit;if(!in_array($paese, array('italia','spagna','portogallo','francia','inghilterra')))
exit;$risultati_mysql=mysql_query("SELECT * FROM nomi ");
while ($riga1=mysql_fetch_array($risultati_mysql))
{
$id=$riga1["$paese"];
$idnuovo=($id + 1);
}
$sql="UPDATE nomi SET $paese='$idnuovo' ";
mysql_query($sql) or die(mysql_error());
setTimeout("redirect()", 2000);
</script>";
exit();
}else{
echo "Voto valido";
echo "<script>
function redirect(){
window.location.replace("guarda.php");
}
setTimeout("redirect()", 2000);
</script>";
}
mysql_close();
?>
[/php]
-
Ciao!, thedarkita.
Io ho seguito lo stesso tutorial di (Sambo994), funziona tutto, grazie anche alle tue ultime modifiche. Io però non ho fatto il controllo dei voti con i cookie, ma oltre la tabella nomi per inserire i voti, ne ho creata un'altra per recuperare l'ip di ogni utente che votava, in modo che un utente potesse votare una volta sola.
Ho creato un'altra tabella perchè aggiungendo il campo ip_utenti nella tabella nomi, non mi aggiornava mai i dati correttamente, allora ho creato una tabella separata.
Con due tabelle funziona tutto, volevo capire se è giusto quello che ho fatto, oppure ci sono altri sistemi, anche perchè l'ho trovato semplice farlo in quel modo.
Ti posto il codice modificato per farlo lavorare con due tabelle.[php]
$ip=$_SERVER['REMOTE_ADDR'];
if(!isset($_POST['paese']))
{
echo "Devi scegiere cosa votare<br/>";
echo"<a href="sondaggi1.php">Torna al sondaggio</a>";
}
if(isset($_POST['paese']))
$paese = $_POST['paese'];
else
exit;
if(!in_array($paese, array('italia','spagna','portogallo','argentina','inghilterra')))
exit;
//inserimento e controllo ip utenti
$query=mysql_query("INSERT INTO ip_utenti (ip_utenti) VALUES ('$ip')")or die ( "HAI GIA VOTATO ");
//fine inserimento e controllo ip
$risultati_mysql=mysql_query("SELECT * FROM nomi ");
while ($riga1=mysql_fetch_array($risultati_mysql))
{
$id=$riga1["$paese"];
$idnuovo=($id + 1);
}
$sql="UPDATE nomi SET $paese='$idnuovo'";
if(!mysql_query($sql)){
echo "Errore impossibile votare";
echo "<script>
function redirect(){
window.location.replace("scegli.htm");
}
setTimeout("redirect()", 2000);
</script>";
exit();
}else{
echo "Grazie per il tuo Voto ";
echo "<script>
function redirect(){
window.location.replace("guarda.php");
}
setTimeout("redirect()",800);
</script>";}
[/php]Cosa ne pensi?
Tanti saluti.
Ciao! Grazie.