Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Errore lettura cookie

  1. #1

    Errore lettura cookie

    Ho un codice per un sondaggio in PHP(tramite database MySQL), che diviso in 3 parti funziona perfettamente. Le tre parti sono:
    form.php(che mostra il form)
    vote.php(che aggiunge il voto)
    results.php(che mostra i risultati)
    Queste tre pagine messe divise funzionano, invece, se vado a metterle tutte e 3 insieme, tramite un controllo con i cookie, non funziona. Eppure il form compare, il voto viene aggiunto ma è come se non trovasse il cookie settato... Non riesco a capire, l'errore che mi dà è:
    "Warning: Cannot modify header information - headers already sent by (output started at /var/www/ffmagazine.net/subdomains/devel/html/exagon/sondaggio/index.php:6) in /var/www/ffmagazine.net/subdomains/devel/html/exagon/sondaggio/index.php on line 27"...
    è parecchio che cerco di risolvere, ma non trovo soluzione... Potete aiutarmi? Il codice completo lo trovate qua sotto.
    Codice PHP:
    <?php
    //Connessione al DB
    include '../admin/connect.php';

    //Nome del cookie
    $coname 'ex_n_1';

    function 
    addvote() {
    ob_start();
    $query "SELECT * FROM sondaggio";
    $results mysql_query($query);
    $votatore $_REQUEST['voto'];
    while (
    $row mysql_fetch_array($results)) {
    $voto $row["$votatore"];
    $add = ($voto 1);
    }
    $sql "UPDATE sondaggio SET $votatore='$add'";
    if(
    mysql_query($sql)){
    setcookie ($coname,"cookie impostato",time()+2592000,"/");
    } else {
    echo 
    'Impossibile aggiungere il voto';
    exit();
    }
    ob_end_flush();
    }

    function 
    showresults() {
    $query "SELECT * FROM sondaggio";
    $result mysql_query($query);

    while (
    $row mysql_fetch_array($result)) {
    $v1 $row["v1"];
    $v2 $row["v2"];
    $v3 $row["v3"];
    $v4 $row["v4"];
    $v5 $row["v5"];
    }
    $tot $v1+$v2+$v3+$v4+$v5;
    switch(
    $tot) {
    case 
    0:
    $frase 'Non ci sono voti';
    break;
    case 
    1:
    $frase "In totale c'&egrave; $tot solo voto";
    break;
    default:
    $frase "In totale ci sono $tot voti";
    }
    echo 
    $frase;


    $percv1 $v1*100/$tot;
    $s round($percv12);


    $percv2 $v2*100/$tot;
    $i round($percv22);


    $percv4 $v4*100/$tot;
    $f round($percv42);
     

    $percv3 $v3*100/$tot;
    $p round($percv32);
     

    $percin $v5*100/$tot;
    $n round($percin2);

    //calcolo della lunghezza dell'immagine
    $s1 $s*3;
    $i1 $i*3;
    $p1 $p*3;
    $f1 $f*3;
    $n1 $n*3;

    echo 
    "<pre>";
    echo 
    "Eccellente($v5 voti) [img]http://icons.iconarchive.com/icons/dimension-of-deskmod/micro/Applications-48x48.png[/img] $n%\n";
    echo 
    "Ottimo($v4 voti) [img]http://icons.iconarchive.com/icons/dimension-of-deskmod/micro/Applications-48x48.png[/img] $f%\n";
    echo 
    "Buono($v3 voti) [img]http://icons.iconarchive.com/icons/dimension-of-deskmod/micro/Applications-48x48.png[/img] $p%\n";
    echo 
    "Sufficente($v2 voti) [img]http://icons.iconarchive.com/icons/dimension-of-deskmod/micro/Applications-48x48.png[/img] $i%\n";
    echo 
    "Che schifo!($v1 voti) [img]http://icons.iconarchive.com/icons/dimension-of-deskmod/micro/Applications-48x48.png[/img] $s%\n";
    echo 
    "</pre>";
    }

    function 
    showform() {
    echo 
    '<form method="post" enctype="multipart/form-data" name="poll" action="'.$_SERVER['PHP_SELF'].'">
    <label><input type="radio" name="voto" value="v5" />Eccellente</label>

    <label><input type="radio" name="voto" value="v4" />Ottimo</label>

    <label><input type="radio" name="voto" value="v3" />Buono</label>

    <label><input type="radio" name="voto" value="v2" />Sufficente</label>

    <label><input type="radio" name="voto" value="v1" />Che schifo!</label>

    <input type="submit" name="vote" value="Aggiungi il tuo voto" />
    </form>'
    ;
    }


    //Eseguo tutte le operazioni tramite chiamata a funzione

    if($_COOKIE[$coname]) {
    showresults();
    } elseif(!
    $_COOKIE[$coname]) {
    showform();
    if (
    $_POST['voto']) {
    addvote();
    }
    }
    ?>

  2. #2

  3. #3
    Ho inserito anche ob_start e ob_flush_end, ma continuo a non capire perchè non funzioni... Probabilmente li ho messi male io, dovrei metterli in un altro punto, ma provo e riprovo e non funziona.

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.