Session destroy On Window.close()

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
hliasmin
Δημοσιεύσεις: 14
Εγγραφή: 21 Μαρ 2007 09:37
Επικοινωνία:

Session destroy On Window.close()

Δημοσίευση από hliasmin » 25 Μαρ 2007 21:03

Όποιος χρήστης κάνει login καταχωρείται σε ένα πίνακα που κρατάει τις πληροφορίες για τους συνδεδεμένους μέχρι εκείνη τη στιγμή χρήστες.
Εγώ θέλω όταν κλείνει η εφαρμογή να μπορώ να διαγράψω τον συγκεκριμένο χρήστη
Υπάρχει τρόπος;
Σας ευχαριστώ πολύ...

Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

Session destroy On Window.close()

Δημοσίευση από _Invisible_ » 25 Μαρ 2007 21:55

Πώς γίνεται να "κλείσει" η εφαρμογή; Μάλλον λες όταν ο user κάνει logout, σωστά; Τότε μπορείς να χρησιμοποιήσεις το session_unset() και session_destroy().

Ο τίτλος σου όμως λέει on window.close(). To window.close είναι Javascript, έτσι δεν είναι; Υποθέτω ότι λες για κάποιο pop up παράθυρο που έχεις κάνει και θέλεις όταν ο χρήστης κάνει κλικ στο link για να κλείσει το παράθυρο, να καταστρέφει τα sessions στο κλείσιμο του παραθύρου...

Ας πούμε ότι το Close window link σου είναι:

Κώδικας: Επιλογή όλων

<a href="javascript&#58;window.close&#40;&#41;;">Close Window</a>
Τότε άλλαξέ το σε:

Κώδικας: Επιλογή όλων

<a href="your_file.php?cmd=close_window">Close Window</a>
και άνοιξε το your_file.php (ας πούμε ότι αυτό είναι το όνομα του pop up σου), και βάλε τον παρακάτω κώδικα:

Κώδικας: Επιλογή όλων

<?php
if &#40;isset&#40;$_GET&#91;'cmd'&#93; == 'close_window'&#41;&#41;
&#123;
  session_unset&#40;&#41;;
  session_destroy&#40;&#41;;
?>
<html><head><title>Close Window</title></head><body onload="javascript&#58;window.close&#40;&#41;;"><a href="javascript&#58;window.close&#40;&#41;";>Close Window</a></body></html>
<?php
&#125;
?>
Ελπίζω να είναι αυτό που θες.

hliasmin
Δημοσιεύσεις: 14
Εγγραφή: 21 Μαρ 2007 09:37
Επικοινωνία:

Session destroy On Window.close()

Δημοσίευση από hliasmin » 26 Μαρ 2007 11:41

Καταρχήν καλημέρα και σε ευχαριστώ για τη βοήθεια.
Δεν αναφέρομαι στην περίπτωση του logout.
Σκέψου ότι κατά τη διάρκεια της περιήγησης του χρήστη στο site, ο χρήστης ανοίγει διάφορα παράθυρα. Πολλές φορές ο χρήστης δεν΄κάνει logout για να βγει από το πρόγραμμα. Απλά κλείνει τον browser που έχει ανοίξει. Εγώ θέλω την στιγμή που κλείνει το πρόγραμμα (κλέινοντας τον browser ) να μπορώ να τον πετάω από τη βάση στην οποία έχω περάσει πληροφορίες που τον αφορούν.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Session destroy On Window.close()

Δημοσίευση από Rapid-eraser » 26 Μαρ 2007 14:52

hliasmin gia va givei kati tetoio 8a prepei me kapoio tropoio o server va elegxei sivexeia av evas client apavtaei opos to ping.

O movos tropos va diatiriseis eva tetoio 'stream' eivai va kaveis sivexeia kapoio ajax call n meso tou flash kapoio query pros tov server.

Afto simevei extra load kai bandwith.

Eivai fisiko afto pou simbevei giati etsi eivai sxediasmevo va leitourgei. Otav givei served n selida pleov o server xavei tnv epafi me tov client.

Afto pou tis perisoteres fores leitourgei pio sosta eivai n me8odos tou timeout.
Afto simevei pos ka8e fora pou o client kavei mia kivisi mesa stov xrovo tou timeout o xrovos aftos givete reset. av paei va kavei mia kivisi kai o xrovos tou timeout exei perasei tote tov petaei apo to sistima ekivi tnv ora. divovtas tou tnv ais8isi oti to session tou exei liksei priv aftos kavei otidipote allo.

Afto 8a mporouse va sivdiastei me kapoio visual client side countdown to opoio va tov idiopiei kapoios oti px se 10 lepta ama dev kavei tipota 8a tov petaksei ekso apo to sistima.

H lisi tou ajax pou sou eipa priv eivai pio drastiki ka8os px 8a mporouses va exeis intervals tou evos leptou px n kai akoma ligotero elegxovtas diarkos av o xristis exei avoikto tov browser tou.
Afto simevei bebea oti exei kai avoikto to internet :P


Telos iparxei mia me8odos tnv opoia gia kapoio logo oloi tnv agvoouv :P
Ta cookies ... eva cookie mporei va ri8mistei etsi oste me to pou kavei kill kapoios tov browser va pai8avei aftomata kai to cookie.

Afto givete kavovtas set sto timespan tou cookie tnv timi 0.
Me to pou klisei kapoios tov browser to cookie aftomata diagrafete (oxi omos av allaksei site kai ksavampei argotera)
Sto session pali prepei afto va to kaveis me extra kodika pou 8a basizete stnv logiki tou timeout.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Session destroy On Window.close()

Δημοσίευση από skeftomilos » 26 Μαρ 2007 15:21

Αν ο χρήστης κάνει minimize τον browser ισοδυναμεί με κλείσιμο; Αν το παράθυρο χάσει το focus; Αν ανοίξει άλλο tab στον Firefox; Αν ο χρήστης αφήσει ανοιχτό το browser και βγει βόλτα για καφέ (ή για ταξίδι στο Θιβέτ);
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες