Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema cookie

  1. #1

    Problema cookie

    Perche non mi salva il cookie?

    Codice PHP:
    require_once "inc/entityhtml.php";
    require_once 
    "inc/db.php";

    $cat=trim($_GET["cat"]);
    $art=trim($_GET["art"]);
    $title=decode($art)." — MatesEventi";

    $db=new database;
    $db->connect();

    $ip=trim($_SERVER['REMOTE_ADDR']);
    if(!isset(
    $_COOKIE["visit_page_mateseventi"])){
        
    $sql="UPDATE archive SET Visite=Visite + 1 WHERE Titolo='$art' AND Comune='$cat' OR Tipologia='$cat'";
        if(!
    $db->query($sql)){
            
    $time=mktime(235959date("m"), date("d"), date("Y"));
            if(!
    setcookie("visit_page_mateseventi",$ip,time())) echo "errore cookie";
        }
        
    $sql="";
    }
    echo 
    "IP: ".$_COOKIE["visit_page_mateseventi"]; 
    mi da questo errore:
    Notice: Undefined index: visit_page_mateseventi

  2. #2
    non vorrei dire una scemenza, ma penso che la funzione setcookie non la puoi mettere ovunque.
    deve essere posizionata prima dell'invio di un qualsiasi output.

    prova a leggere anche qui: https://www.w3schools.com/PhP/func_http_setcookie.asp

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    1) Il cookie viene salvato ma è disponibile solo dagli header, quindi potrai utilizzarlo dal caricamento successivo;
    2) La data della scadenza del cookie è errata:
    Codice PHP:
    $realTime 60 60 24 7// 1a settimana di durata, 60 secondi per 60 minuti, per 24 ore per 7 giorni
    setcookie("visit_page_mateseventi",$ip,time() + $realTime 
    Se l'errore persiste, fornisci i dettagli aggiuntivi rilevati dopo le modifiche da me segnalate.

    non vorrei dire una scemenza, ma penso che la funzione setcookie non la puoi mettere ovunque.
    deve essere posizionata prima dell'invio di un qualsiasi output.
    Yes, infatti anche se noi non lo vediamo formattato in questo modo (per il browser elimina gli header dalla window), come ben sai.
    Inviando un cookie (quindi inviando un header), lo stai inviando fra i tag (html) e il browser non potrebbe mai riconoscerlo valido.

    Per risolvere è possibile utilizzarle le funzioni della famiglia ob_start()
    Ultima modifica di zacca94; 26-09-2017 a 13:59

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 © 2024 vBulletin Solutions, Inc. All rights reserved.