include

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

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

Απάντηση
jmi
Δημοσιεύσεις: 1
Εγγραφή: 01 Μαρ 2014 20:23

include

Δημοσίευση από jmi » 01 Μαρ 2014 21:10

Έχω μια σελίδα για παράδειγμα την sidebar.php, στην οποία έχω μια φόρμα log in για να μπορέσω να την περάσω σε όλες της σελίδες. Τώρα κάνω include την sidebar.php στην index.php ή σε οποιαδήποτε άλλη σελίδα για να εμφανίσω την φόρμα, σε αυτές της σελίδες κάνω έναν έλεγχο και αν είναι κάποιος admin τότε θα έχει πρόσβαση σε περιεχόμενο που δεν θα έχουν οι άλλοι χρήστες, εδώ όμως είναι και το πρόβλημα μου γιατί ενώ κάνω login σαν admin δεν μπορώ να δω το περιεχόμενο αυτό γιατί το include του sidebar.php είναι ποιο κάτω στο κώδικα από τι το περιεχόμενο που είναι στο content για παράδειγμα, οπότε ο έλεγχος για το αν έχει γίνει login ή αν ο είναι admin δεν γίνετε ποτέ γιατί είναι πάνω από το include.

Μέχρι τώρα έκανα έλεγχο με query σε κάθε σελίδα εκεί που είχα το περιεχόμενο αλλά επειδή η σελίδες είναι αρκετες και μάλλον είναι και λάθος αυτός ο τρόπος αφού γίνετε μια φορά αυτός ο έλεγχος γιατί να γίνετε και δεύτερη.
Αν μπορεί κάποιος να βοηθήσει αν υπάρχει τρόπος που μπορώ να καλέσω την sidebar.php πάνω πάνω αλλά να μην το εμφανίζω εκεί αλλά να το εμφανίζω εκεί που θέλω, ή κάτι άλλο που δεν μπορώ να σκεφτώ ή κάτι κάνω λάθος

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

include

Δημοσίευση από geomagas » 01 Μαρ 2014 22:30

Ξεχώρισε τη διαδικασία του validation της φόρμας από την απεικόνισή της και εκτέλεσέ την σε πρώιμο στάδιο του script. Με άλλα λόγια, το sidebar.php θα περιέχει μόνο την παραγωγή της html της φόρμας και όχι τον έλεγχο του $_POST (υποθέτοντας ότι κάνεις post!).

Για την ακρίβεια, είναι καλή πρακτική να το κάνεις αυτό όχι μόνο για τη login form, όχι μόνο για όλες τις φόρμες, αλλά και για κάθε άλλη πιθανή παράμετρο του request.

Ένα τυπικό flow εκτέλεσης (αν και δεν ξέρω αν είναι πάντα εφικτό) θα μπορούσε να είναι:

1. Σύνδεση με τη ΒΔ

2. Έλεγχος παραμέτρων request ($_GET, $_POST, $_COOKIE, και οτιδήποτε άλλο μέχρι και http headers)

3. Αποστολή response headers

4. Αποστολή περιεχομένου (html, xml, json... οτιδήποτε)

Στα δύο πρώτα βήματα αποθηκεύεις τα αποτελέσματα σε κατάλληλες μεταβλητές, που τις χρησιμοποιείς στα δύο επόμενα για να διαμορφώσεις το response.

Απάντηση

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

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

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