Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558

    "La tua ultima visita...", con il PHP

    Avrete forse capito dal titolo di cosa ho bisogno...

    Ci pensato molto, ma non ho trovato una soluzione "funzionante" senza usare miliardi di cookie a variabili...

    Voglio realizzare sul mio sito una barra su cui c'è scritto
    "Bentornato [visotatore]! La tua ultima visita è stata [data ultima visita del visitatore]."

    Per me va bene usare sia cookie che DBSQL per fare ciò (sempre che i cookie non siano una decina!)...

    Ovviamente ciò funziona con i visitatori registrati, che vengono riconosciuti attraverso un cookie sul loro PC contenente il loro nome (a fare questo ci sono riuscito, e quindi il Bentornato [nome] sono riuscito a realizzarlo).

  2. #2
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    Così non potrebbe andare?

    Codice PHP:
    if (!isset($_COOKIE['bentornato'])) {
        echo 
    "E' la tua prima visita..:";
    }
    else
    {
        echo 
    "Bentornato visitatore non registrato, la tua ultima visita risale a".date(...., $_COOKIES['bentornato']);
    }
    setcookie("bentornato"time(), 3600*24*365); 

  3. #3
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558
    Si, ma in questo modo quando il visitatore cambia pagina si trova scritto "la tua ultima visita è stata [5 secondi fa]"

    Capito cosa voglio dire?

  4. #4
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    si... ma tu mettilo solo nella index

    cmq

    Codice PHP:
    if (!isset($_COOKIE['bentornato'])) {
        echo 
    "E' la tua prima visita..:";
    }
    else
    {
      if(
    session_is_registered('bentornato'))
      {
         echo 
    "Bentornato visitatore non registrato, la tua ultima".date(...., $_session['bentornato']); 
      }
      else
      {
        echo 
    "Bentornato visitatore non registrato, la tua ultima visita risale a".date(...., $_COOKIES['bentornato']);
        
    session_registered('bentornato');
        
    $_SESSION['bentornato'] = time();
      }
    }
    setcookie("bentornato"time(), 3600*24*365); 

    Aggiusta il codice tu

  5. #5
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558
    Vorrei metterlo in tutte le pagine (per ora lo faccio comparire dappertutto con un include("barravisita.php")...

    Mi è venuta in mente una cosa...
    Potrei sfruttare i magic cookie...
    Quand'è che si cancellano 'sti cookie? All'uscita dall'host o alla chiusura dell'explorer?

  6. #6
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    basta che non espliciti la data di scadenza di un cookies

    Codice PHP:
    if (!isset($_COOKIE['bentornato'])) {
        echo 
    "E' la tua prima visita..:";
    }
    else
    {
      if(isset(
    $_COOKIE['time']))
      {
         echo 
    "Bentornato visitatore non registrato, la tua ultima".date(...., $_COOKIE['time']); 

      }
      else
      {
        echo 
    "Bentornato visitatore non registrato, la tua ultima visita risale a".date(...., $_COOKIES['bentornato']);

        
    setcookie("time"time());
      }
    }

    setcookie("bentornato"time(), 3600*24*365); 

  7. #7
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558
    Avevo chiesto una cosa...

    Quand'è che si cancellano 'sti cookie? All'uscita dall'host o alla chiusura dell'explorer?

  8. #8
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    Explore Forse :master:

  9. #9
    Potresti creare una tabella nel db dove memorizzi l'ip. All'ip associ il valore settato nel cookie e nel cookie memorizzi il nuovo valore. Nell'index, quindi, visualizzi la data del cookie e la fai impostare nel db. Nelle altre pagine la fai estrarre dal db. Poi, ad intervalli di tempo prestabiliti pulisci la tabella dagli ip ormai obsoleti. Per esempio potresti impostare anche un campo data di inserimento e lo script cancella tutti i campi del db dove gli ip sono stati inseriti il giorno prima. Credo che dovrebbe funzionare! Magari inseriscin uno script in automatico in home page che lo faccia per te! Potrebbe essere un'idea! Ciao.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  10. #10
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558
    Ho risolto così:

    Codice PHP:
    <?php
      
      
    // Elaborazione Cookie
      
      // Controlla il primo cookie del nome
      
    if(isset($_COOKIE['JoeRegVisNAME'])) {
      
        
    // Controlla se era già online
        
    if(isset($_COOKIE['JoeRegVisONWEB'])) {
          
    $DateDV=date('D, j M Y, H:i'$HTTP_COOKIE_VARS['JoeRegVisTHISLAST']);
        }
        else {
          
    setcookie('JoeRegVisONWEB''1');
          
          
    // Controlla che l'ultima visita sia settata
          
    if(isset($_COOKIE['JoeRegVisLASTVISIT'])) {
            
    setcookie('JoeRegVisTHISLAST'$HTTP_COOKIE_VARS['JoeRegVisLASTVISIT']);
            
    setcookie('JoeRegVisLASTVISIT'time(), time()+1000000000"/""joeproductions.altervista.org");
            
    $DateDV=date('D, j M Y, H:i'$HTTP_COOKIE_VARS['JoeRegVisTHISLAST']);
          }
          else {
            
    $ResponseNegative="E' la tua prima visita...";
            
    setcookie('JoeRegVisLASTVISIT'time(), time()+1000000000"/""joeproductions.altervista.org");
            
    setcookie('JoeRegVisTHISLAST'$HTTP_COOKIE_VARS['JoeRegVisLASTVISIT']);
          }
        }
      
      }
      else {
        
    $ResponseNegative='Non sei registrato come visitatore di JoeProductions.';
      }


      
    // Visualizza la data
      
    if (isset($ResponseNegative)) { echo $ResponseNegative; }
        else { echo 
    'La tua ultima visita è stata ' $DateDV; }

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.