Errore (sintattico?) durante eliminazione record

Ho inserito nella mia chat uno script php che dopo un tot di tempo disconnette un utente se non inserisce piu un messaggio.

Probebilmente sbaglio a scrivere sintatticamente il codice, ma siccome ho provato in tutti i modi e non funge chiedo il vostro aiuto, ecco il codice incriminato  ;D

<?php
 session_start();
 $nick_appo=$_SESSION['nick_appo'];
 include 'accedi_db.php'; 
 $tempo=time(); // Catturo il TIMESTAMP attuale
 
 $interrogazione="SELECT tempo_disconnessione FROM lista";
 $risultato=mysql_query($interrogazione);
 
  if (!$risultato)
   {
    print "Errore nel caricamento della tabella (reset_disconnessione.php)";
    exit();
   }
     
  while ($riga=mysql_fetch_array($risultato))
  {
   $conta=$tempo-$riga['tempo_disconnessione'];
     
   if ($conta>=900) // controllo per disconnettere un utente se non scrive un msg entro 900 sec
   (
      $cancella="DELETE FROM lista WHERE tempo_disconnessione='$riga['tempo_disconnessione']'; // riga incriminata
   $delete=mysql_query($cancella);
  
     if (!$delete)
     {
      print "Errore nel caricamento della tabella";
     exit();
     }
    
   /* Cencellazione dati registrati con la SESSION */
    unset($_SESSION['nick_appo']);
  
   }
  }

 mysql_close($connessione);  
 
?>

tnx! :)

inviato 10 anni fa
Downloader
X 0 X

Così andrà meglio:

<?php
session_start();
$nick_appo=$_SESSION['nick_appo'];
include 'accedi_db.php';
$tempo=time(); // Catturo il TIMESTAMP attuale

$interrogazione="SELECT tempo_disconnessione FROM lista";
$risultato=mysql_query($interrogazione);

if (!$risultato)
{
   print "Errore nel caricamento della tabella (reset_disconnessione.php)";
   exit();
}

while ($riga=mysql_fetch_array($risultato))
{
   $conta=$tempo-$riga['tempo_disconnessione'];

   if ($conta>=900) // controllo per disconnettere un utente se non scrive un msg entro 900 sec
   {
      $cancella = "DELETE FROM lista WHERE tempo_disconnessione='$riga[tempo_disconnessione]'"; // riga incriminata
      $delete=mysql_query($cancella);

      if (!$delete)
      {
         print "Errore nel caricamento della tabella";
         exit();
      }

      /* Cencellazione dati registrati con la SESSION */
      unset($_SESSION['nick_appo']);
   }
}


mysql_close($connessione);
?>

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Calcola che pensavo fosse obbligatorio metterci gli apici.

Adesso provo, tnx!

risposto 10 anni fa
Downloader
X 0 X

MI da questo errore:

Parse error: syntax error, unexpected ';' in /membri/downloader87/reset_connessione.php on line 22

La linea 22 è questa

$cancella = "DELETE FROM lista WHERE tempo_disconnessione='$riga[tempo_disconnessione]'";
risposto 10 anni fa
Downloader
X 0 X

Per specificare l'elemento di un array associativo non vanno usati gli apici solo se ci si trova all'interno di una stringa.

Inoltre avevi usato una parentesi tonda al posto di una graffa.

Ricopia tutto lo script come te l'ho riportato.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Tutto ok, grazie!!

risposto 10 anni fa
Downloader
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda