Problema Stergere Utilizatori Online
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
cadou
- Mesaje:328
Problema Stergere Utilizatori Online
Am si eu o problema cu script de " Utilizatori online ".
Am pus in logare si introducere in tabelul online , de introdus introduce , problema e alta, la stergere.
Adica daca e accesat fisierul "online.php" la terminarea timpului, se sterge si se adauga din nou, dar daca nu e accesat ramane asa.
Am selectat cam ce cred ca avem nevoie :
Cod: Selectaţi tot
$data = timeBetween($date[$i],time());
$unnume = $nume[$i];
if($data == '1 minute') { mysql_query("DELETE FROM `online` WHERE `nume` = '$nume[$i]'"); }
setlocale(LC_TIME, array('ro.utf-8', 'ro_RO.UTF-8', 'ro_RO.utf-8', 'ro', 'ro_RO', 'ro_RO.ISO8859-2'));
date_default_timezone_set('Europe/Bucharest');
$timey = time();
function timeBetween($start,$end){
$time = $end - $start;
if($time <= 60){
return round($time).' secunde';
}
if(60 < $time && $time <= 3600){
return round($time/60,0).' minute';
}
}
$date[$i] = e o data in format - 1364129602
$unnume = 'valoarea atribuita inregistrari din tabel'
MarPlo
Mesaje:4343
Salut
Adauga in tabelul cu utilizatori online o coloana "expira" de tip INT. In acea coloana se adauga timpul Timestamp la care expira.
Apoi, pentru stergere apelezi comanda:
cadou
Mesaje:328
Pai nu prea stiu cum e timpul ala cu formatele.
Eu am incercat ceva de genu :
Cod: Selectaţi tot
//am creat o coloana varchar cu valoarea 1 minute
apoi if($data == $expira) {cerere de stergere}
$expira = '1 minute';
$data = 'e aia ce am zis mai sus formatu ala';
Dar tot nu merge.
steell
Mesaje:190
time() returneaza numarul de secunde de la 01.01.1970 si pana prezent (momentul in care se apeleaza functia).
Acest timp + inca 60 de secunde il adaugi in coloana "expira" (de tip INT) pe care ti-a zis-o marplo. Apoi cand e accesat iar scriptul mai intai aplici acea instructiune DELETE, care sterge randurile cu timpul inregistrat mai mic decat timpul curent time().
Apoi adaugi /INSERT un alt time()+60 asociat cu acel utilizator.
cadou
Mesaje:328
Deci din cate inteleg eu doar la accesarea fisierului se sterge, dar daca nu se acceseaza fisierul nu se poate face sa se stearga ?
Adica ok, sa logat pe site sa inserat in online datele, dupa 10 minute iese si nu se mai acceseaza fisierul respectiv nu merge sa se stearga ?
MarPlo
Mesaje:4343
O varianta buna e sa incluzi acel fisier in toate paginile site-ului, cu include() in "index.php" sau alt fisier general inclus. Astfel, de fiecare data cand se acceseaza o pagina se reactualizeaza si datele din tabelul cu utilizatori online.
Sau, o alta modalitate e sa setezi in Cron Job (in CPanel-ul site-ului) sa acceseze frecvent, de exemplu la fiecare 5 minute acel fisier.
- Poti gasi pe internet despre Cron Job.
cadou
Mesaje:328
Deci ce inteleg e urmatorul lucru:
Nu se sterge daca nu e accesat fisierul.
Si daca e accesat, sterge chiar daca de exemplu e al altui utilizator si nu sunt eu.
Corect.
- Am inteles, ma gandeam ca e vreo alta metoda pentru asa ceva.
Mersi de ajutor si de sfaturi.
Subiecte similare
- O mica problema de animatie CSS
HTML - XHTML - CSS
Primul mesaj
Noroc, MarPlo!
1. Am vizitat pe twitter un site de animatie, in care website-ul actual se numeste CSS-Challenges,com. In respectivul website, sunt...
Ultimul mesaj
1. Multumesc pentru raspuns.
2. Am inteles raspunsul tau: este un mic examen oferit voluntarilor online, pentru a le afla capacitatile de rezolvare...
- Problema curs de Engleza
Sesizari Erori si Greseli
Primul mesaj
Buna.
Am descarcat cursul curs_eurocor-engleza_incepatori_1-16.rar si cand vreau sa-l dezarhivez imi da eroarea asta:
An error occures whilw...
Ultimul mesaj
Buna,
Poti sa descarci cursul de engleza, nivel intermediar, de la urmatoarele linkuri:
- Lectiile 1-16...