xalia Δημοσ. 14 Οκτωβρίου 2007 Δημοσ. 14 Οκτωβρίου 2007 έχω 4-5 σελίδες php. έχω και ένα table με usernames - passwords. ο χρήστης συμπληρώνει σε μία φόρμα username και pass, τα οποία συγκρίνονται με τη βάση και αν ταιριάζουν μπαίνει στη σελίδα...με ένα if και μία αναζήτηση στη βάση. αν όμως ο χρήστης πατήσει πχ http://www.domain.com/admin2.php θα μπει κανονικά. αν ξέρει δηλαδή που να πάει προσπερνάει το athentication της πρώτης σελίδας. πως γίνεται όλες οι σελίδες να είναι "κλειδωμένες"?
alex2005 Δημοσ. 14 Οκτωβρίου 2007 Δημοσ. 14 Οκτωβρίου 2007 Ο σωστός τρόπος που γίνεται το authentication είναι να χρησιμοποιήσεις Session. Διάβασε αυτό για να καταλάβεις τι είναι. Εν συντομία να σου πω πως πρέπει όταν ο χρήστης κάνει επιτυχώς login να κάνεις κάτι τέτοιο. > session_start(); $_SESSION['Authenticated'] = 1; Και μετά σε όλες τις σελίδες βρίσκεις αν έχει κάνει login έτσι > if($_SESSION['Authenticated'] == 1) { //Do anything } else{ header( 'Location: http://www.yoursite.com/login.php' ) ; }
Επισκέπτης Δημοσ. 14 Οκτωβρίου 2007 Δημοσ. 14 Οκτωβρίου 2007 sth selida poy einai h forma gia kathe ksexwristo xrhsth tha ftiaxneis k kainoyrgio session k se kathe selida poy thes na prostatepseis mporeis na kaneis kati toys styl if(isset($_SESSION['authenticated_user'])){ #emfanise selida }else{ #o xrhsths den exei dikaiwma prosbashs sth selida.. showWarningMessage(); exit(1); } well,xontrika... [Edit] haha,me prolabe allos
xalia Δημοσ. 14 Οκτωβρίου 2007 Μέλος Δημοσ. 14 Οκτωβρίου 2007 και αν ο χρήστης δώσει λάθος username/password πρέπει να κάνω destroy το session ευχαριστώ πολύ!
alex2005 Δημοσ. 15 Οκτωβρίου 2007 Δημοσ. 15 Οκτωβρίου 2007 Αν ο χρήστης δώσει λάθος το username/password δεν θα έχεις κάνει start το session καθόλου.
xalia Δημοσ. 15 Οκτωβρίου 2007 Μέλος Δημοσ. 15 Οκτωβρίου 2007 xmxm έκανα απο την αρχή start το session και αν έδινε λάθος username/password το έκανα destroy... άρα προτείνεις να κάνω το session start αφού πάρω το row = 1 απο το query που ψάχνει τη βάση για username/password. επιπλέον με session σκέφτηκα ότι μπορώ να μεταφέρω και το username στις υπόλοιπες σελίδες.
alex2005 Δημοσ. 15 Οκτωβρίου 2007 Δημοσ. 15 Οκτωβρίου 2007 Φυσικά και μπορείς να μεταφέρεις και το username και στις υπόλοιπες σελίδες,αυτή είναι και η ουσία του session,να μπορείς να έχεις κοινά δεδομένα σε όλες τις σελίδες. Αλλά σκέψου ότι είναι χαμένος χρόνος να κάνεις start/destroy ένα session χωρίς τελικά να υπάρχει λόγος. Δεν θα έχει καμία φοβερή επίδραση στην απόδοση αλλά γιατί να έχει έστω και την παραμικρή,έτσι και αλλιώς δεν αλλάζεις κάτι σημαντικό στην υλοποίηση. Οπότε εγώ το θεωρώ λάθος να δημιουργείς session χωρίς να ξέρεις αν τελικά θα σου χρειαστεί.
xalia Δημοσ. 15 Οκτωβρίου 2007 Μέλος Δημοσ. 15 Οκτωβρίου 2007 σωστός alex, και μία γραμμή να γλυτώσω καλά είναι, γιατι ξεκινάει να γίνεται πανικός με τα πολλά if!
xalia Δημοσ. 16 Οκτωβρίου 2007 Μέλος Δημοσ. 16 Οκτωβρίου 2007 αυτό γίνεται <?php if (something) { <html kodikas edw> } else { <html kodika edw> } ?> χωρίς να χαλάει η συνέχεια του if
alex2005 Δημοσ. 16 Οκτωβρίου 2007 Δημοσ. 16 Οκτωβρίου 2007 Υπάρχουν δύο τρόποι: 1) ><?php if(<something>){ ?> html code <?php } else....etc ?> 2) >if(<something>){ echo "html code"; } O πρώτος τρόπος είναι σίγουρα καλύτερος.
xalia Δημοσ. 16 Οκτωβρίου 2007 Μέλος Δημοσ. 16 Οκτωβρίου 2007 προς το παρών κάνω τη δουλειά μου με το echo " " φοβάμαι να βγαίνω απο την php ?> μη σταματήσει κάνα loop η κάνα blocked if. αν είναι να συνεχίζουν όλα χωρίς πρόβλημα που κλείνει και ανοίγει μετά η php να το προχωρήσω έτσι... παλιότερα έβγαινα συνέχεια απο την php ?> αλλά δεν υπήρχαν loops και if να ανυσηχώ
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.