Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    cookie che non fanno il loro dovere..

    allora ragazzi ho il seguente codice


    <?php
    if(!isset($_COOKIE["visitatotali"])) { //se il cookie “visita” non esiste
    setcookie("visitatotali", TIME(), time()+20000000000000000); //e imposta il cookie “visita” con scadenza 24 ore (86400 secondi)

    $visite = file("visite.txt"); //il file di testo che contiene le visite
    $visite = $visite[0]; //usando la funzione file, si apre un array con gli indici corrispondenti ad ogni riga del file
    $visite = $visite + 1; //aumenta di 1 il contenuto de file
    $fp = fopen("visite.txt","w"); //apri il file cancellandone il contenuto
    fwrite($fp, $visite); //scrivi nel file il nuovo contenuto
    fclose($fp); //chiudi il file

    }


    $visite = file("visite.txt"); //il file di testo che contiene le visite

    $visite = $visite[0]; //usando la funzione file, si apre un array con gli indici corrispondenti ad ogni riga del file

    echo $visite; //mostra il contenuto de file
    ?>



    che praticamente non fa il suo dovere...come ho scriptato lo script se non esiste il cookie dovrebbe impostarne uno e incrementare il tutto solo che....lo incrementa sempre!!!.Praticamente ogni reload di pagina si autoincrementa di uno(anche il file di testo si incrementa) io onestamente non vedo il problema...

    potete aiutarmi??.
    sappi che tutta la fatica che stai facendo non servirà a nulla se non credi in te stesso

  2. #2
    cosa volevi fare con questo?

    TIME(), time()+20000000000000000

    1. Usa una stringa come valore del cookie. E' uguale cosa, tanto a te interessa solo che sia settato.

    2. con quel + 20000000000000000 aggiungi ben più di 24 ore. Infatti aggiungi un numero tale di anni che il timestamp finisce e ricomincia da capo. se aggiungi 20000000000000000 secondi ad oggi la data che ti restituisce è aprile 1991, quindi il cookie è scaduto da un pezzo.

    Per meglio chiarire: il timestamp non è eterno.
    Lo Unix Timestamp conta quanti secondi sono trascorsi dalla Unix Epoch (1 gennaio 1970, ore 00:00.00 UTC).

    Il problema sta nel fatto che gli attuali sistemi Unix tengono traccia di questo trascorrere del tempo utilizzando un intero di 4 byte. Un intero di 4 byte a 32-bit può assumere un valore massimo di 2.147.483.648. Se aggiungiamo questi oltre due miliardi di secondi alla Unix Epoch arriviamo alla data massima cui è possibile spingersi allo stato attuale e cioè 19 gennaio 2038, ore 3:14.07 (UTC).

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.