Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di E.C.Web
    Registrato dal
    Dec 2011
    Messaggi
    139

    [PHP & MYSQL] Problema controllo if - else

    Ciao ragazzi eccomi con un nuovo problema xD
    Allora sto realizzando una pagina in php che ha la funzione di monitorare chi è presente sul mio sito, attraverso la semplice cattura dell'IP.

    Ecco la parte di codice dove sorge il problema.
    Codice PHP:

    /* Se non vi è nessun ID salvato nella memoria */ 
    if (!isset($_SESSION['ID'])) { 

    // Controllo l'esistenza dell'utente nella tabella "Presenti" del database attraverso una verifica dell'IP 
    $MySql "SELECT * FROM Presenti WHERE IP = '".$_SERVER['REMOTE_ADDR']."'"
    $Risultato mysql_query($MySql); 
    $rs mysql_fetch_array($Risultato);

    /* Se l'utente è già presente, aggiorno la data del suo ultimo click e la sua posizione attuale */
    if (!empty($rs)) { 

    $MySql "UPDATE Presenti SET Data_Update = NOW(), Posizione = '".$_SERVER['REQUEST_URI']."' WHERE IP = '".$_SERVER['REMOTE_ADDR']."'"
    $Risultato mysql_query($MySql);

    /* Altrimenti si tratta di un nuovo visitatore quindi INSERISCO i suoi dati */ 

    } else { 

    $MySql="INSERT INTO Presenti (Username, Data_Accesso, Data_Update, Posizione, IP) VALUES ('Visitatore', NOW(), NOW(), '".$_SERVER['REQUEST_URI']."', '".$_SERVER['REMOTE_ADDR']."')"
    $Risultato mysql_query($MySql); 


    /* Se l'utente conserva nella sua memoria un SESSION_ID valido, vuol dire che è connesso e posso ricavare i suoi dati come l'Username */ 

    } else { 

    // Ricavo i dati dell'utente attraverso una verifica degli ID 

    $MySql "SELECT * FROM Utenti WHERE ID = '".$_SESSION['ID']."'"
    $Risultato mysql_query($MySql); 
    $rs mysql_fetch_array($Risultato); 

    // Aggiorno i suoi dati di sessione $MySql = "UPDATE Presenti SET Username = '".$rs['Username']."', Data_Update = NOW(), Posizione = '".$_SERVER['REQUEST_URI']."' WHERE IP = '".$_SERVER['REMOTE_ADDR']."'"; 
    $Risultato mysql_query($MySql); 

    La parte che non mi esegue è questa:
    Codice PHP:

    /* Se l'utente conserva nella sua memoria un SESSION_ID valido, vuol dire che è connesso e posso ricavare i suoi dati come l'Username */ 

    } else { 

    // Ricavo i dati dell'utente attraverso una verifica degli ID 

    $MySql "SELECT * FROM Utenti WHERE ID = '".$_SESSION['ID']."'"
    $Risultato mysql_query($MySql); 
    $rs mysql_fetch_array($Risultato); 

    // Aggiorno i suoi dati di sessione 
    $MySql "UPDATE Presenti SET Username = '".$rs['Username']."', Data_Update = NOW(), Posizione = '".$_SERVER['REQUEST_URI']."' WHERE IP = '".$_SERVER['REMOTE_ADDR']."'"
    $Risultato mysql_query($MySql); 

    Cioè dovrebbe semplicemente cambiare la scritta "Visitatore" con l'username dell'utente. ( da ricordare che la SESSIONE la setto al login. )

  2. #2
    è sbagliata la struttura condizionale.
    se vuoi mettere più alternative:
    Codice PHP:
    if(CONDIZIONE) {
    .....
    } else if(
    CONDIZIONE) {
    ......
    } else {
    ........

    tu hai messo due else.

  3. #3
    Utente di HTML.it L'avatar di E.C.Web
    Registrato dal
    Dec 2011
    Messaggi
    139
    Mh ho rivisto il codice, e non mi sembra di aver sbagliato, gli altri if sono chiusi tutti per bene.

  4. #4
    Una domanda banale.
    La SESSIONE la setti al login e la valorizzi con l'username dell'utente.
    La pagina che contiene lo script contiene ad inizio pagina
    session_start();
    Senza questa istruzione non potrai mai leggere i contenuti delle sessioni

  5. #5
    Utente di HTML.it L'avatar di E.C.Web
    Registrato dal
    Dec 2011
    Messaggi
    139
    Giusto! il session_start();!!!!!!

    Ma ora ho un altro problema, stranamente mi cancella il record del Visitatore, invece che aggiornarmi l'username O_O

  6. #6
    Utente di HTML.it L'avatar di E.C.Web
    Registrato dal
    Dec 2011
    Messaggi
    139
    Tutto risolto, grazie ragazzi!!

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.