Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    [php] Problema nel mio forum php

    Ciao a tutti. Da un po' di tempo mi si presenta un problema sul forum che ho creato con php appoggiandosi su un database mysql. Praticamente qualsiasi scelta faccia l'utente (che nella pagina è $opzione mandata tramite variabile $HTTP_POST_VARS['opzione'] da un form di tipo radio) verrà sempre incrementata la prima possibilità. Come mai?
    Questo è il codice:

    $query = "SELECT * FROM utenti_sondaggio WHERE utente='$username'"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    $numrows = mysql_num_rows($result); //conto il numero di occorrenze trovate nel db
    echo "Hai votato

    ";
    echo $opzione;
    echo "

    ";
    echo $opzione1;
    echo "
    ";
    if ($numrows!=0) {
    echo "Hai già votato per questo sondaggio.";
    }
    else {
    $query = "INSERT INTO utenti_sondaggio VALUES ('$username');"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    if ($opzione === $opzione1) {
    $query = "UPDATE sondaggi SET risultato1=risultato1+1"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    }
    elseif ($opzione === $opzione2) {
    $query = "UPDATE sondaggi SET risultato2=risultato2+1"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    }
    elseif ($opzione === $opzione3) {
    $query = "UPDATE sondaggi SET risultato3=risultato3+1"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    }
    echo "Votazione inserita correttamente";

    Non ce la faccio più!!

  2. #2

    Re: [php] Problema nel mio forum php

    Originariamente inviato da Nick083
    Ciao a tutti. Da un po' di tempo mi si presenta un problema sul forum che ho creato con php appoggiandosi su un database mysql. Praticamente qualsiasi scelta faccia l'utente (che nella pagina è $opzione mandata tramite variabile $HTTP_POST_VARS['opzione'] da un form di tipo radio) verrà sempre incrementata la prima possibilità. Come mai?
    Questo è il codice:

    $query = "SELECT * FROM utenti_sondaggio WHERE utente='$username'"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    $numrows = mysql_num_rows($result); //conto il numero di occorrenze trovate nel db
    echo "Hai votato

    ";
    echo $opzione;
    echo "

    ";
    echo $opzione1;
    echo "
    ";
    if ($numrows!=0) {
    echo "Hai già votato per questo sondaggio.";
    }
    else {
    $query = "INSERT INTO utenti_sondaggio VALUES ('$username');"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    if ($opzione === $opzione1) {
    $query = "UPDATE sondaggi SET risultato1=risultato1+1"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    }
    elseif ($opzione === $opzione2) {
    $query = "UPDATE sondaggi SET risultato2=risultato2+1"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    }
    elseif ($opzione === $opzione3) {
    $query = "UPDATE sondaggi SET risultato3=risultato3+1"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    }
    echo "Votazione inserita correttamente";

    Non ce la faccio più!!
    se usi un form di tipo radio, devi controllare il value del radiobutton...

    posta il codice del form!

    Ciao!

  3. #3
    Questo è il codice del form:

    $query = "SELECT domanda, opzione1, opzione2, opzione3 FROM sondaggi ORDER BY id_sondaggio DESC"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    $numrows = mysql_num_rows($result); //conto il numero di occorrenze trovate nel db
    //se il database è vuoto lo stampo a video
    if ($numrows==0){
    print"Database vuoto!";
    }
    else
    {
    $resrow = mysql_fetch_row($result);
    $sondaggio_corrente = $resrow[0];
    $opzione1 = $resrow[1];
    $opzione2 = $resrow[2];
    $opzione3 = $resrow[3];
    } ?>
    <?php echo $sondaggio_corrente; ?>
    <div align="left">
    <form name="sondaggio" method="post" action="sondaggio.php">
    <input type="radio" name="opzione" value="<?php echo $opzione1; ?>"> <?php echo $opzione1; ?>

    <input type="radio" name="opzione" value="<?php echo $opzione2; ?>"> <?php echo $opzione2; ?>

    <input type="radio" name="opzione" value="<?php echo $opzione3; ?>"> <?php echo $opzione3; ?>



    <center><input type="submit" name="Invia" value="Invia"></center>
    </form>

    Grazie...

  4. #4

  5. #5
    Ehm.. non so perchè ma sul titolo ho scritto forum invece di sondaggio.. Spero si fosse capito dal codice che ho mandato che si trattava di un sondaggio.. Altrimenti: RAGAZZI E' UN SONDAGGIO!! Sorry...

  6. #6
    up... Dai sono sicuro che è una cavolata, ma non riesco a trovarla..

  7. #7
    dal codice postato, non trovo nessun errore...

    potrebbe esserci un errore nel modo in cui passi le variabili.

    metti il codice completo delle pagine!
    (almeno la parte dove invii, controlli i dati ed assegni le variabili!)

    ciao!
    Ciao!

  8. #8
    Ok, allora questo è il codice per l'invio della scelta del sondaggio:

    <div id="sondaggio" style="background-color: <?php echo $colore2; ?>;">
    <h3>SONDAGGIO</h3>
    <?php
    $query = "SELECT domanda, opzione1, opzione2, opzione3 FROM sondaggi ORDER BY id_sondaggio DESC"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    $numrows = mysql_num_rows($result); //conto il numero di occorrenze trovate nel db
    //se il database è vuoto lo stampo a video
    if ($numrows==0){
    print"Database vuoto!";
    }
    else
    {
    $resrow = mysql_fetch_row($result);
    $sondaggio_corrente = $resrow[0];
    $opzione1 = $resrow[1];
    $opzione2 = $resrow[2];
    $opzione3 = $resrow[3];
    } ?>
    <?php echo $sondaggio_corrente; ?>
    <div align="left">
    <form name="sondaggio" method="post" action="sondaggio.php">
    <input type="radio" name="opzione" value="<?php echo $opzione1; ?>"> <?php echo $opzione1; ?>

    <input type="radio" name="opzione" value="<?php echo $opzione2; ?>"> <?php echo $opzione2; ?>

    <input type="radio" name="opzione" value="<?php echo $opzione3; ?>"> <?php echo $opzione3; ?>



    <center><input type="submit" name="Invia" value="Invia"></center>
    </form>
    </div>
    RISULTATI


    </div>

    Questo invece è il codice della pagina che riceve la scelta:

    session_start();
    $username = $HTTP_SESSION_VARS['username']; //Otteniamo l'username
    $password = $HTTP_SESSION_VARS['password']; //Otteniamo la password
    if ($username=="")
    die ("Non hai i diritti per accedere a questa pagina");

    $opzione = $HTTP_POST_VARS['opzione'];
    ...
    <h1>Sondaggio</h1>
    <?php
    $query = "SELECT * FROM utenti_sondaggio WHERE utente='$username'"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    $numrows = mysql_num_rows($result); //conto il numero di occorrenze trovate nel db
    echo "Hai votato

    ";
    echo $opzione;
    echo "

    ";
    echo $opzione1;
    echo "
    ";
    if ($numrows!=0) {
    echo "Hai gi&agrave; votato per questo sondaggio.";
    }
    else {
    $query = "INSERT INTO utenti_sondaggio VALUES ('$username');"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    if ($opzione === $opzione1) {
    $query = "UPDATE sondaggi SET risultato1=risultato1+1"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    }
    elseif ($opzione === $opzione2) {
    $query = "UPDATE sondaggi SET risultato2=risultato2+1"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    }
    elseif ($opzione === $opzione3) {
    $query = "UPDATE sondaggi SET risultato3=risultato3+1"; //Imposto ed eseguo la query
    $result = mysql_query($query, $myconn) or die("Errore...");
    }
    echo "Votazione inserita correttamente";
    ?>


    Fai click qui per vedere i risultati del sondaggio.
    <?php } ?>
    </div>

    Capisci dove sta l'errore??

    p.s.: naturalmente ho messo solo il codice che può servire..
    Grazie!

  9. #9

  10. #10
    metti
    Codice PHP:
    echo $opzione
    subito dopo
    Codice PHP:
    $opzione $HTTP_POST_VARS['opzione']; 
    e vedi cosa viene fuori.

    e sopratutto impara ad utilizzare il tag code e il tag php del forum.
    Ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.