Πρόβλημα με την έξοδο απο τη σελιδα

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

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

Απάντηση
Άβαταρ μέλους
christakys
Δημοσιεύσεις: 5
Εγγραφή: 20 Μαρ 2009 17:15

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από christakys » 12 Μαρ 2011 14:45

Γεια σας παιδια, εχω ενα πρόβλημα με την έξοδο στην php.Έχω κάνει το αρχείο logout.php το καλείτε κατα την έξοδο, αλλά αν πατήσεις πίσω(στην προηγούμενη σελιδα) στον browser σε επιστρέφει στην προηγούμενη σελίδα χωρίς να κάνεις Login και είναι συνδεδεμένος με τον παλιό user.

logout.php

<?php
session_start();
session_unset();
session_destroy();
header("Location: login.php");
?>

Άβαταρ μέλους
manos2010grr
Δημοσιεύσεις: 159
Εγγραφή: 17 Ιαν 2007 18:13
Επικοινωνία:

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από manos2010grr » 12 Μαρ 2011 20:33

Μπορείς να το κάνεις κάπως έτσι:

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

<?php session_start&#40;&#41;;

if&#40;empty&#40;$_SESSION&#91;'την μεταβλητή που αποθηκεύεις'&#93;&#41;&#41;
	header&#40;"Location&#58;login.php"&#41;;	


if&#40;isset&#40;$_GET&#91;'logout'&#93;&#41;&#41;
&#123;
	session_destroy&#40;&#41;;
	header&#40;"Location&#58;login.php"&#41;;
&#125;	


?>

Άβαταρ μέλους
christakys
Δημοσιεύσεις: 5
Εγγραφή: 20 Μαρ 2009 17:15

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από christakys » 15 Μαρ 2011 17:58

ΠΑΛΙ ΓΥΡΝΑΕΙ ΣΤΗΝ ΠΡΟΗΓΟΥΜΕΝΗ ΣΕΛΙΔΑ ΚΑΝΟΝΙΚΑ, ΚΑΜΙΑ ΑΛΛΗ ΙΔΕΑ?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από fafos » 15 Μαρ 2011 18:08

meta to redirect sto login.php vale allo ena me location sthn index ths kyrias selidas...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
christakys
Δημοσιεύσεις: 5
Εγγραφή: 20 Μαρ 2009 17:15

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από christakys » 21 Μαρ 2011 19:37

ΣΤΟ SITE ΠΟΥ ΕΧΩ ΚΑΝΕΙ TO INDEX.PHP EINAI TO LOGIN.PHP .

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από Apostolis_38 » 22 Μαρ 2011 13:58

Σύμφωνα με το manual της php παίζει ρόλο το πως έχεις δηλώσει το session σου.

http://php.net/manual/en/function.session-unset.php

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

Note&#58;
If $_SESSION &#40;or $HTTP_SESSION_VARS for PHP 4.0.6 or less&#41; is used, use unset&#40;&#41; to unregister a session variable, i.e. unset &#40;$_SESSION&#91;'varname'&#93;&#41;;.


Αν χησιμοποιείς το $_SESSION δοκίμασε αυτό:

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

unset &#40;$_SESSION&#91;"μεταβλητή"&#93;&#41;;
κ.λ.π. κ.λ.π.

Άβαταρ μέλους
manos2010grr
Δημοσιεύσεις: 159
Εγγραφή: 17 Ιαν 2007 18:13
Επικοινωνία:

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από manos2010grr » 22 Μαρ 2011 14:16

christakys έγραψε:ΣΤΟ SITE ΠΟΥ ΕΧΩ ΚΑΝΕΙ TO INDEX.PHP EINAI TO LOGIN.PHP .
Τι εννοείς με include υπάρχει μέσα στο index?

Άβαταρ μέλους
manos2010grr
Δημοσιεύσεις: 159
Εγγραφή: 17 Ιαν 2007 18:13
Επικοινωνία:

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από manos2010grr » 22 Μαρ 2011 14:41

Ναι στην ουσία το

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

unset &#40;$_SESSION&#91;"μεταβλητή"&#93;&#41;;
καθαρίζει το session απο την μεταβλητή, όμως εξακολουθεί να υπάρχει χωρίς τιμή, ενώ το session_destroy(); το καταστρέφει!!

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από korgr » 22 Μαρ 2011 14:55

Μάνο η unset καταστρέφει τελείως την μεταβλητή
Από το manual της PHP:
unset() destroys the specified variables.

Άβαταρ μέλους
manos2010grr
Δημοσιεύσεις: 159
Εγγραφή: 17 Ιαν 2007 18:13
Επικοινωνία:

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από manos2010grr » 22 Μαρ 2011 15:21

Ναι ρε Νότη μπερδεύτηκα με την session_unset()...αν δεν κάνω λάθος καθαρίζει το session
Το session_destroy(); καταστρέφει όλα τα session που έχεις ενεργά,σωστά!!

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από Apostolis_38 » 22 Μαρ 2011 15:53

H unset καταστρέφει το session με την συγκεκριμένη μεταβλητή που του λες.
Τις υπολοιπες (αν υπάρχουν) τις αφήνει ως έχουν.
Το session_destroy καταστρέφει ότι έχει σχέση με το τρέχον session. Προφανός στην τρέχουσα σελίδα δηλαδή.

http://www.php.net/manual/en/function.s ... estroy.php

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

session_destroy&#40;&#41; destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie.

In order to kill the session altogether, like to log the user out, the session id must also be unset.
Εγώ το πόσταρα γιατί στο manual γράφει ρητά οτι αν έχεις χρησιμοποιήσει το $_SESSION πρέπει να το κάνεις unset με την unset() και όχι με την session_unset() που χρησιμοποιεί ο φίλος.

Άβαταρ μέλους
manos2010grr
Δημοσιεύσεις: 159
Εγγραφή: 17 Ιαν 2007 18:13
Επικοινωνία:

Πρόβλημα με την έξοδο απο τη σελιδα

Δημοσίευση από manos2010grr » 22 Μαρ 2011 15:55

Ναι Αποστόλη δικό μου λάθος!!

Απάντηση

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

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

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