Visualizzazione risultati 1 fino 6 di 6

Discussione: database online

  1. #1
    Guest

    Thumbs down database online

    Codice PHP:
    include("connect_al_db.php");
    $nick = $_SESSION['nick'];
    $time = time();
    $timeout = time()-600;

    $query=" SELECT * FROM online WHERE nick ='$nick' ";
    $invio = mysql_query($query);
    if(
    mysql_num_rows($invio) == 0)
    {

    $query= "INSERT INTO online (nick, data,locations,status) VALUES ('$nick','$time','$location','online')" ;

    mysql_query($query);

    } else {

    mysql_query("UPDATE online SET data='$time',locations='$location',status='online' WHERE nick='$nick'");

    }


    $sql2=" UPDATE online set status = 'offline' WHERE data < '$timeout' ";
    $query2 = mysql_query($sql2)or die("errore2");
    ciao ragazzi rieccomi con un mio nuovo dilemma!!! a parte i miei soliti errori di sintassi, cosa ha di sbagliato questo tag?? dopo un pò i nick con sessione attiva spariscono dalla lista :(
    volevo sapere anche se faccio bene ad usare questo sistema oppure se sono fuori strada visto che le query sono limitate :(
    Ultima modifica di Sharefiles : 15-03-2011 alle ore 20.46.13 Motivo: correzioni spazi inutili

  2. #2
    Kevinoo non è connesso Utente giovane
    Data registrazione
    14-05-2007
    Residenza
    Burano (Venezia)
    Messaggi
    94

    Predefinito

    Ciao,
    secondo codice gli utenti dovrebbbero sparire dalla lista perchè la sessione è scaduta.
    Sarà l'ora tarda, ma credo che tu abbia fatto un errore di logica in questo punto:
    Codice:
    $time = time();
     $timeout = time()-600;
    Supponendo che $time sia l'intervallo di tempo in cui un'account potrà rimanere attivo dovrai "dire"
    Codice:
     $time = tempo_adesso + 600;
    $timeout = time();
    Così all'interno della tabella verrà aggiornato l'intervallo del tempo in cui un'account potrà rimanere attivo, e l'ultima query ($query2) modificherà tutti i record dove il tempo estratto con la funzione time() è passato rispetto a quello del record.

    Scusa la spiegazione contorta.
    Fammi sapere.

    Saluti,
    Kevin
    "sempre avanti mai indietro, nemmeno per prendere la rincorsa!"

    Associazione Vogaepara Burano

  3. #3
    Guest

    Predefinito

    no scusa se aggiungo +600 il timeout diventa per così dire tra 10minuti in futuro!! mentre come lho modificato io vengono messi in offline tutti gli utenti che non si aggiornano da 10 minuti... e fin qui va bene!! resta il fatto che na volta messi in offline seppure si aggiornano non tornano più con lo status online :(

  4. #4
    Kevinoo non è connesso Utente giovane
    Data registrazione
    14-05-2007
    Residenza
    Burano (Venezia)
    Messaggi
    94

    Predefinito

    Citazione Originalmente inviato da Sharefiles Visualizza messaggio
    Codice PHP:
    [...]

    } else {

    mysql_query("UPDATE online SET data='$time',locations='$location',status='online' WHERE nick='$nick'");

    }

    [...]
    Non mi sono neanche accorto che tu passi la stringa (query) alla funzione senza concatenare le variabili. I doppi apici permettono di "leggere" il valore di delle variabili se usati durante l'assegnamento ad una variabile, però non funzionano se passo il "tutto" ad una funzione. In pratica devi fare come hai scritto nel primo ramo if:


    Codice PHP:
    [...]

    } else {

    $query = "UPDATE online SET data='$time',locations='$location',status='online' WHERE nick='$nick'";
    mysql_query($query);

    }

    [...]
    Saluti,
    Kevin
    "sempre avanti mai indietro, nemmeno per prendere la rincorsa!"

    Associazione Vogaepara Burano

  5. #5
    Guest

    Predefinito

    e come al solito dipende sempre dai miei errori di sintassi nei tag.... anche se a dire il vero stavolta non sapevo che cè differenza nei 2 modi di inviare le query :) grazie x la correzione

  6. #6
    Kevinoo non è connesso Utente giovane
    Data registrazione
    14-05-2007
    Residenza
    Burano (Venezia)
    Messaggi
    94

    Predefinito

    Citazione Originalmente inviato da Sharefiles Visualizza messaggio
    miei errori di sintassi nei tag....
    Anche se sono anni che programmo in PHP e altri linguaggi capita anche a me di sbagliare.

    Comunque sono felice di essere stato d'aiuto.
    Kevin
    "sempre avanti mai indietro, nemmeno per prendere la rincorsa!"

    Associazione Vogaepara Burano

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •