Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777

    [PHP] cookie non funzionante

    ciao a tutti ho un blog
    la pagina tipica dell'articolo è costituita da una parte in cui lo si può votare...questa viene richiamata nella pagina principale dell'articolo attraverso il comando include("vota.php")
    la pagina vota.php è la seguente
    Codice PHP:
    $where"vota_".$id;
    $_SESSION['where']= $id;
    $_SESSION['path'] =$path;

    if (isset(
    $_COOKIE['$where'])){

    $tot=$si $no;
    $percsi=($si/$tot)*100;
    $percsi=round($percsi,2);


    $percno= ($no/$tot)*100;
    $percno=round($percno,2);

    $result"<div class=\"vote\"><b class=\"vleft\" style=\"background-color:green;width:$percsi%;text-align:center\">[/b]<b class=\"vright\" style=\"background-color:red;width:$percno%;text-align:center\">[/b]</div><div class=\"clear\">Mi piace: [b]$percsi %[/b] ($si voti)
    Non mi piace: [b]
    $percno %[/b] ($no voti)</div>";
    echo 
    $result;
    }
    else{

    echo 
    "<form name=\"vota\" action=\"elabora_vote.php\" method=\"POST\">";

    echo 
    "<div><input type=\"radio\" name=\"a\" value=\"1\" onclick=\"this.form.submit()\"><img src=\"mipiace.gif\" width=\"20\" height=\"15\"> Mi piace!
    "
    ;
    echo 
    "<input type=\"radio\" name=\"a\" value=\"2\" onclick=\"this.form.submit()\"><img src=\"nonmipiace.gif\" width=\"20 height=\"12\"> Non mi piace!</div>";

    echo 
    "</form>";


    poi ho la sezione dove poter postare i commenti
    nel momento in cui l'utente commenta viene settato un cookie in cui viene memorizzato nome e mail dell'utente in modo da permettere all'utente in futuro di commentare senza inserire di nuovo tali dati..
    ecco come viene settato il cookie
    Codice PHP:
    $tmpinfo$nome."|".$mail;
                    if(empty(
    $_COOKIE['info_utente']) OR $_COOKIE['info_utente'] != $tmpinfo ){
                    
    setcookie("info_utente",$tmpinfo,time()+360000"/");
                    } 
    ecco come viene verificato se il cookie è settato e quindi inserire gli eventuali dati negli input dei form
    Codice PHP:
    if(isset($_COOKIE['info_utente']) and $_COOKIE['info_utente'] != ""){
    list(
    $nome,$mail)=explode("|",$_COOKIE['info_utente']); 
    $form_nome"

    Nome:
    <input name=\"nome\" value=\"" 
    .$nome"\" type=\"text\"></p>";
    $form_mail"

    Email:
    <input name=\"mail\" value=\"" 
    .$mail"\" type=\"text\"></p>";
    }
    else{
    $form_nome"

    Nome:
    <input name=\"nome\" type=\"text\"></p>"
    ;
    $form_mail"

    Email:
    <input name=\"mail\" type=\"text\"></p>"
    ;

    ora quello che non funziona è il settaggio del cookie info_utente e facendo delle prove ho scoperto che togliendo include("vota.php") questo funzionava...è chiaro quindi che la cosa che fa interferenza si trova in vota.php

    vorrei sapere cosa interferisce nel settaggio del cookie..

  2. #2
    Utente di HTML.it L'avatar di hyde82
    Registrato dal
    Feb 2010
    Messaggi
    243
    hai provato innanzitutto a vedere se il browser memorizza il cookie? con firebug per FF lo verifichi facilemente

  3. #3
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Non puoi mandare output prima di impostare un cookie.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    chiedo scusa
    ma non ho capito..sai sono abbastanza principiante

  5. #5
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Il fatto di essere principianti non vuol dire aspettarsi la pappa pronta, bisogna anche impegnarsi un po' per cercare di capire le cose...
    Provo a riformulare: non puoi usare la funzione setcookie() dopo aver usato echo o comunque dopo che sia stato scritto un qualsiasi output (che include parti dello script fuori dai tag php)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    se ti dico che è più da una settimana che ho cercato il motivo per cui non funziona ci credi
    comunque ho risolto ho riscritto in maniera più ordinata il codice e ho spostato il codice del cookie più a monte e ora funziona.

    la cosa che hai detto tu era nuova per me e io vengo qui volentieri per imparare sempre cose nuove

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.