Salve a tutti, ho questo script per visualizzare gli utenti online... vorrei aggiungere una colonna al database chiamata "id_utente" assegnato a ogni utente collegato che si auto incrementa (1, 2 , 3,... ma a causa delle scarse conoscenze in php e mysql (vado a tentativi :P) non riesco a farlo
qualcuno sa darmi una dritta?
Questo script mi serviva per individuare i primi 5 utenti online e farli vedere una foto, mentre dagli id_utente 6 in poi volevo farne vedere un'altra...
ecco lo script:
Codice PHP:
tabella che conterrà le informazioni degli utenti:
CREATE TABLE useronline (
timestamp int(15) DEFAULT '0' NOT NULL,
ip varchar(40) NOT NULL,
file varchar(100) NOT NULL,
PRIMARY KEY (timestamp),
KEY ip (ip),
KEY file (file));
Fatto ciò andiamo a creare il codice php che mostrerà le informazioni lette dal database:
<?php
//si connette al db
mysql_connect("localhost","","");
mysql_select_db("");
//Tempo di inattivita del contatore
$timeoutseconds = 300;
$timestamp=time();
$timeout=$timestamp-$timeoutseconds;
//ip dell'utente
$ip = $_SERVER['REMOTE_ADDR'];
//url della pagina
$self = $_SERVER['PHP_SELF'];
//Verifica se l'ip dell'utente è ancora presente
$verif = mysql_query ("SELECT ip FROM useronline WHERE ip = '$ip'");
$evo = mysql_num_rows($verif);
//se è presente aggiorna
if ($evo > "0"){
mysql_query("UPDATE useronline SET file='$self',timestamp='$timestamp' WHERE ip='$ip'") or die("Database UPDATE Error");
//se è nuovo inserisci
} else {
mysql_query("INSERT INTO useronline VALUES ('$timestamp','$ip','$self')") or die("Database INSERT Error");
}
//cancella ogni $timeoutseconds le persone online
mysql_query("DELETE FROM useronline WHERE timestamp<$timeout") or die("Database DELETE Error");
$result=mysql_query("SELECT DISTINCT ip FROM useronline WHERE file='$self'") or die("Database SELECT Error");
//mostra i risultati
$user =mysql_num_rows($result);
if ($user==1) {echo"$user on line";} else {echo"$user on line";}
?>
io ho provato a creare la tabella così:
Codice PHP:
CREATE TABLE useronline (
timestamp int(15) DEFAULT '0' NOT NULL,
ip varchar(40) NOT NULL,
file varchar(100) NOT NULL,
utente_id int(4) unsigned NOT NULL auto_increment,
PRIMARY KEY (timestamp),
KEY ip (ip),
KEY file (file),
KEY utente_id (utente_id));
ma lo script mi restiuisce l'errore Database INSERT Error