Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 41

Discussione: Sondaggio in PHP

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    32

    Sondaggio in PHP

    Salve, qualche giorno fa avevo chiesto per un errore nel codice di una pagina php e poi è stato risolto grazie a questo forum, adesso però avrei bisogno di un'altro aiuto perchè stò cercando di far funzionare un sondaggio in php ma non mi inserisce i dati nel database e non li richiama poi per mostrare i risultati. Il codice intero è questo, sapete dirmi dove sbaglio?:

    config.php
    Codice PHP:
    <?php 
    $mysql
    [host] = "localhost"
    $mysql[user] = "root"
    $mysql[pass] = ""
    $mysql[name] = "dbsond";   

    $question "Come vi sembra il nostro sito?"
    $answers = array("Stupendo""Bello""Brutto""Schifo");    

    @
    mysql_connect($mysql[host], $mysql[user], $mysql[pass]); 
    @
    mysql_select_db($mysql[name]); ?>
    install.php
    Codice PHP:
    <?php  
    require("config.php");  
    mysql_query("CREATE TABLE sonda (  
    id INT( 11 ) NOT NULL AUTO_INCREMENT ,  
    tot_1 VARCHAR( 255 ) DEFAULT 0 NOT NULL ,  
    tot_2 VARCHAR( 255 ) DEFAULT 0 NOT NULL ,  
    tot_3 VARCHAR( 255 ) DEFAULT 0 NOT NULL ,  
    tot_4 VARCHAR( 255 ) DEFAULT 0 NOT NULL ,  
    INDEX (id));"
    );  

    mysql_query("INSERT INTO sonda VALUES (' ',0,0,0,0)");  
    echo 
    "Linstallazione è avvenuta con successo!
    "
    ?>
    index.php
    Codice PHP:
    <?php  
    require("config.php");   
    echo 
    '<form action="vote.php" method="post">'
    echo 
    "[b]{$question}[/b]

    "
    ;    
    for (
    $i 0$i <= count($answers) - 1$i++)  
    {  echo 
    "<input type=\"radio\" name=\"a\" value=' . ($i + 1) . '>{$answers[$i]}
    "
    ; }    
    echo 
    '
    <input type="submit" value="Vota">'

    echo 
    '[url="results.php"]Risultati[/url]'
    echo 
    '</form>'?>
    vote.php
    Codice PHP:
    <?php  
    require("config.php");   

    mysql_query("UPDATE sonda SET 'tot_{$_POST[a]}' = 'tot_{$_POST[a]} + 1'"); header("Location: results.php");   
    ?>
    results.php
    Codice PHP:
    <?php  require("config.php");   
    $query = @mysql_query("SELECT * FROM sonda"); 
    $result = @mysql_fetch_array($query);    
    echo 
    "[b]{$question}[/b]

    "

    for (
    $x 1$x <= count($answers); $x++)  
    {  
    $total $total $result[tot_ $x]; }    
    for (
    $i 1$i <= count($answers); $i++)  
    {  @
    $percent $result[tot_ $i] / $total$percent $percent 100$percent number_format($percent1); 
    echo 
    "" $answers[$i 1] . " ([b]{$percent}%[/b])
    "
    ; }  ?>

  2. #2
    premesso che si dovrebbero fare maggiori controlli sugli input... prova così
    Codice PHP:
    mysql_query("UPDATE sonda SET tot_".$_POST['a']."= 'tot_".$_POST['a']."+ 1'") or die(mysql_error()); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    32
    grazie per la rapida risposta, ho provato a fare come hai detto e mi da questo errore:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(1 + 1) . = 'tot_ . (1 + 1) . + 1'' at line 1

  4. #4
    prova a modificare nella index.php il ciclo di for
    Codice PHP:
    for($i 0$i <= count($answers) - 1$i++)
        {
        
    $value_input $i 1;
        echo 
    '<input type="radio" name="a" value="' $value_input '>'.$answers[$i].'
    '
    ;
        } 

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    32
    sostituendo il for non da più l'errore però nell'index non ci sono più le opzioni ne il tasto vota, rimane solo la domanda del sodaggio e un radio con in parte il link ai risultati

  6. #6
    Sostituisci il for con:
    Codice PHP:
    foreach($answers as $key => $value)
        {
        echo 
    '<input type="radio" name="a" value="' $key+'">'.$value.'
    '
    ;
        } 
    mi dai il link di dove stai testando questo script?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    32
    lo sto testando in locale...cmq sostituendo di nuovo il for mettel le opzioni e il tasto vota ma toglie tutti i radio e mette 1">

  8. #8
    Originariamente inviato da Baxxter
    lo sto testando in locale...cmq sostituendo di nuovo il for mettel le opzioni e il tasto vota ma toglie tutti i radio e mette 1">
    non ho capito

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    32
    hehe...scusa nn mi sn spiegato bene....il sondaggio lo stò testando in locale.

    Sostituendo ancora il for nell'index adesso appaiono le opzioni di scelta e il tasto vota che prima erano sparite però spariscono i radio e al loro posto ce: 1"> ad ogni opzione

  10. #10
    ma aldilà di ciò che compare a video devi vedere l'output... e correggere leggendo quello...
    controlla bene le virgolette... bhò nn sò

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.