php?do=login question

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

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

Απάντηση
Άβαταρ μέλους
Isset1988
Δημοσιεύσεις: 44
Εγγραφή: 25 Νοέμ 2011 12:52
Τοποθεσία: California

php?do=login question

Δημοσίευση από Isset1988 » 20 Φεβ 2012 19:46

Καλησπέρα παιδιά!

Θα ήθελα να μάθω πως δουλεύει το παρακάτω σύστημα login:

login.php?do=login

Σας Ευχαριστώ εκ των προτέρων!
Εικόνα

Kypros Lambrou
Δημοσιεύσεις: 96
Εγγραφή: 17 Οκτ 2011 13:29

php?do=login question

Δημοσίευση από Kypros Lambrou » 20 Φεβ 2012 20:05

Αυτό που δίνεις δεν λέει κάτι από μόνο του.

Το

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

login.php?do=login 
λογικά θα πρόκειται για μια σελίδα σύνδεσης χρήστη γραμμένη στην PHP που όταν γίνει submit στέλνει με $_GET μεταβλητές στην επόμενη σελίδα ότι έχει σταλεί για να ελεγχθούν τα κριτήρια πρόσβασης.

Αλλά όπως σου είπα και πιο πάνω δεν σημαίνει τίποτα απο μόνο του αφού ο τρόπος με τον οποίο υλοποιείς το "?do=login" μπορεί εγώ να το εφαρμόσω για οτιδήποτε ανάλογα με τις ανάγκες μου.

Άβαταρ μέλους
Isset1988
Δημοσιεύσεις: 44
Εγγραφή: 25 Νοέμ 2011 12:52
Τοποθεσία: California

php?do=login question

Δημοσίευση από Isset1988 » 20 Φεβ 2012 20:17

Το χρησιμοποιεί η vbulletin και θα ήθελα να μάθω πως γίνεται η διαδικασία login.

Σε ευχαριστώ πάντως
Εικόνα

Kypros Lambrou
Δημοσιεύσεις: 96
Εγγραφή: 17 Οκτ 2011 13:29

php?do=login question

Δημοσίευση από Kypros Lambrou » 20 Φεβ 2012 20:30

Για το vBulletin είναι περίπου όπως σου είπα.

Αν πχ πας στo forum τους και προσπαθήσεις να συνδεθείς, σε πάει στην σελίδα "login.php?do=login".

Λογικά κάπου μέσα στην σελίδα "login.php" υπάρχει μια συνθήκη που ελέγχει αν η μεταβλητή "$_GET['do']" είναι ίση με "login". Αν ναι τότε πιθανότατα προσπαθεί να ελέγξει κατά πόσο το username και το password που έχουμε βάλει είναι σωστά, προτού μας δώσει πρόσβαση στο σύστημα.

Ο κώδικας του login.php σε απλή μορφή θα μοιάζει κάπως έτσι:

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

if($_GET['do'] == 'login')
{
        // elegxos tou username kai tou password
}
else
{
        // emfanise tin forma sindesis
}

Άβαταρ μέλους
Isset1988
Δημοσιεύσεις: 44
Εγγραφή: 25 Νοέμ 2011 12:52
Τοποθεσία: California

php?do=login question

Δημοσίευση από Isset1988 » 20 Φεβ 2012 20:57

Δίκιο έχεις. Νόμιζα πως παίζει κάτι με το redirect που κάνει πριν το index.php.

Μια άλλη ερώτηση,

Έστω ότι, ελέγχω μέσω του login.php τα στοιχεία του χρήστη.
Πως αποθηκεύω σε session το username και ταυτόχρονα κάνω redirect στο index.php?

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

$_SESSION['username'] = 'username';
        echo "<META HTTP-EQUIV='Refresh' CONTENT='2; URL=index.php'>";
Την τελευταία φορά που το δοκίμασα, έκανε redirect και δεν μου πέρναγε τα session.
Εικόνα

Kypros Lambrou
Δημοσιεύσεις: 96
Εγγραφή: 17 Οκτ 2011 13:29

php?do=login question

Δημοσίευση από Kypros Lambrou » 20 Φεβ 2012 21:07

Λογικά θα έπρεπε να σου δουλεύει φτάνει και στις δύο σελίδες να είχες πρώτα ξεκινήσει τα sessions. Σου βγάζει κάποιο μήνυμα ή απλά δεν δούλευε?

Και κάτι άλλο αφού είσαι ήδη σε αρχείο PHP το redirect μπορείς να το πετύχεις και με :

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

header&#40; 'Location&#58; index.php' &#41; ;
Αν έχεις τον κώδικα τον δύο σελίδων που είχες κάνει και δεν σου δουλεύει, βάλε τα "συγκεκριμένα" σημεία για να δούμε.

wdesignergr
Δημοσιεύσεις: 23
Εγγραφή: 28 Μάιος 2010 01:21

php?do=login question

Δημοσίευση από wdesignergr » 20 Φεβ 2012 22:00

δοκίμασε το header, θα σου δουλέψει!

Άβαταρ μέλους
Isset1988
Δημοσιεύσεις: 44
Εγγραφή: 25 Νοέμ 2011 12:52
Τοποθεσία: California

php?do=login question

Δημοσίευση από Isset1988 » 20 Φεβ 2012 22:05

Έχω κάνει σε όλες τις σελίδες
session_start ();

Έβαλα αντί για το δικό μου, αυτό που μου πρότεινες.
$_SESSION['username'] = 'username';
header( 'Location: index.php' ) ;

Τα session αποθηκεύονται κανονικά πλέον!

Όταν όμως πηγαίνω στο logout.php δεν τα σβήνει.

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

<?php
unset&#40;$_SESSION&#91;'username'&#93;&#41;;
header&#40; 'Location&#58; index.php' &#41; 
?>
δοκίμασα και το destroy, αλλά τίποτα :(
Εικόνα

Kypros Lambrou
Δημοσιεύσεις: 96
Εγγραφή: 17 Οκτ 2011 13:29

php?do=login question

Δημοσίευση από Kypros Lambrou » 20 Φεβ 2012 22:09

Επιδή και πάλι δεν ξεκινάς τα sessions σου , άρα άλλαξε το σε:

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

<?php
session_start&#40;&#41;;
unset&#40;$_SESSION&#91;'username'&#93;&#41;;
session_destroy&#40;&#41;;
header&#40; 'Location&#58; index.php' &#41;
?>

Και λογικά θα πρέπει να δουλεύει ρολόι.. :) Απλά χρησιμοποίησε και το session_destroy() μετά για να τα διαγράψεις εντελώς.

Άβαταρ μέλους
Isset1988
Δημοσιεύσεις: 44
Εγγραφή: 25 Νοέμ 2011 12:52
Τοποθεσία: California

php?do=login question

Δημοσίευση από Isset1988 » 20 Φεβ 2012 22:21

xaxa. thank u! χάζεψα μου φαίνεται! :)
Εικόνα

Απάντηση

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

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

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