Βιβλίο επισκεπτών σε PHP. Σύνταξη σεναρίου βιβλίου επισκεπτών Βιβλίο επισκεπτών απερίσκεπτος αντιπρόσωπος php

PHP 5.2 και άνω.
- mod_rewrite;
- βάση Δεδομένα MySQL 4.1 και άνω.

Δυνατότητες

Ενσωματώνει σε οποιονδήποτε ιστότοπο (για αυτό χρειάζεται απλώς να επεξεργαστείτε τα αρχεία top.php και bottom.php).
- αντιπλημμυρικά
- λίστα απαγόρευσης
- προβολή πλοήγησης σελίδας<< < ...| 5 | 6 | 7 ... > >>;
- Υποστήριξη BBCode.
- Εμφάνιση emoticons
- ειδοποίηση νέων μηνυμάτων που προστέθηκαν.
- τη δυνατότητα προσθήκης μηνυμάτων για εποπτεία.
- Πίνακας Διαχειριστή;
- Εύκολη εγκατάσταση και ρύθμιση.

Εγκατάσταση

Αποσυμπιέστε το αρχείο και αντιγράψτε τα περιεχόμενα του αρχείου σε οποιονδήποτε φάκελο στον διακομιστή ιστού σας (π.χ. "βιβλίο επισκεπτών"). Ανοίξτε το αρχείο config/config_db.php επεξεργαστής κειμένουκαι καθορίστε τις ρυθμίσεις σύνδεσης (κεντρικός υπολογιστής βάσης δεδομένων ή IP, όνομα βάσης δεδομένων, σύνδεση και κωδικός πρόσβασης). Τοποθετήστε πίνακες βάσης δεδομένων MySQL ερώτημα SQL από το αρχείο guestbook.sql. συνήθως στα περισσότερα hosting αυτό γίνεται μέσω της διεπαφής ιστού μέσω του phpMyAdmin. Μεταβείτε στον πίνακα διαχείρισης (http://your_site/folder_with_script/admin/) και εισαγάγετε τον κωδικό πρόσβασης 1111. Στη συνέχεια, καθορίστε τις απαραίτητες ρυθμίσεις.

Εμπορική έκδοση

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

Σημείωση

ΣΕΝΑΡΙΟ "PHP Guestbook", ΕΠΟΜΕΝΩΣ ΑΠΛΑ ΤΟ ΠΡΟΓΡΑΜΜΑ ΕΙΝΑΙ ΕΝΤΕΛΩΣ ΔΩΡΕΑΝ. ΜΠΟΡΕΙΤΕ ΝΑ ΔΙΑΝΕΙΣΕΤΕ, ΑΝΤΙΓΡΑΦΕΤΕ, ΚΑΝΕΤΕ ΕΛΕΥΘΕΡΑ ΤΙΣ ΑΛΛΑΓΕΣ ΣΑΣ ΣΤΟΝ ΚΩΔΙΚΟ ΠΗΓΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ, ΜΟΝΟ ΥΠΟ ΤΗΝ ΠΡΟΫΠΟΘΕΣΗ ΤΩΝ ΠΝΕΥΜΑΤΙΚΩΝ ΔΙΚΑΙΩΜΑΤΩΝ ΤΟΥ ΣΥΓΓΡΑΦΕΑ. ΑΠΑΓΟΡΕΥΕΤΑΙ Η ΧΡΗΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ "PHP Guestbook" ΓΙΑ ΕΜΠΟΡΙΚΟΥΣ ΣΚΟΠΟΥΣ. Η ΧΡΗΣΗ ΑΥΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΓΙΝΕΤΑΙ ΜΕ ΔΙΚΗ ΣΑΣ ΕΥΘΥΝΗ. Ο ΣΥΓΓΡΑΦΕΑΣ ΔΕΝ ΦΕΡΕΙ ΕΥΘΥΝΗ ΓΙΑ ΤΗΝ ΕΚΤΕΛΕΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ, ΚΑΘΩΣ ΚΑΙ ΓΙΑ ΑΠΩΛΕΙΑ, ΖΗΜΙΑ ΔΕΔΟΜΕΝΩΝ Ή ΟΤΙΔΗΠΟΤΕ Ή ΟΤΙΔΗΠΟΤΕ ΣΧΕΤΙΚΟ ΜΕ ΤΗ ΧΡΗΣΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑ ΑΥΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ.

Εάν σας άρεσε το σενάριό μου και θέλετε να με ευχαριστήσετε με ένα ρούβλι, τότε είναι τα στοιχεία μου:

WebMoney
U237811811298
R198597198920
Z917380288657

Χρήματα Yandex
41001635943434

PayPal

Εάν έχετε οποιεσδήποτε ερωτήσεις ή προτάσεις, παρακαλώ γράψτε μου στο: Αυτή η διεύθυνση ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗπροστατευμένο από spam bots. Πρέπει να έχετε ενεργοποιημένη τη JavaScript για προβολή.

«Όμορφο ακούγεται, σαν παραμύθι». Στις περισσότερες περιπτώσεις, ένα άτομο, επιλέγοντας το πάθος, επιλέγει την ευχαρίστηση, όχι το αιώνιο μαρτύριο. Και αυτές οι ήδη μικρές «εκλογές» αποτελούν μια κοινή; Μια συνειδητή επιλογή θα ήταν όταν το πάθος θα στεκόταν στα αριστερά ενός ανθρώπου και ένα καζάνι πίσω του, ο Ιησούς θα στεκόταν στη δεξιά πλευρά και πίσω του οι πόρτες του παραδείσου. Η επιλογή είναι ξεκάθαρη και συνειδητή. Η αμαρτία ή η αρετή είναι πάντα μια συνειδητή επιλογή, διαφορετικά οι ψυχικά άρρωστοι θα κρίνονταν άδικα. Είναι δυνατόν να πούμε ότι ένας αυτοκτονικός άνθρωπος προτιμά συνειδητά το αιώνιο μαρτύριο, παρά την προσωρινή «ελαφριά» επίγεια ταλαιπωρία; Ναι, γενικά, πολλές αμαρτίες που έχουν διαπραχθεί είναι αναίσθητες. Αν οι άνθρωποι κρίνονταν για τις αμαρτίες τους ανάλογα με τον βαθμό της επίγνωσής τους, τότε οι ίδιοι οι Ορθόδοξοι θα γίνονταν οι κύριοι αμαρτωλοί - αυτό είναι άδικο, παράδοξο. Από όλα αυτά προκύπτει: ότι η καταδίκη της ασυνείδητης αμαρτίας είναι άδικη, αλλά ταυτόχρονα άδικη και θα μετρήσει την αμαρτία με επίγνωση, και από αυτό προκύπτει ότι εάν κάποιος δεν έχει επιλογή ανάμεσα σε καζάνι και παράδεισο, μπορεί να άγγιγμα, τότε η κρίση της επιλογής του θα είναι άδικη. Και από αυτή την «ανοησία» προκύπτει ήδη ότι το να κρίνουμε έναν άνθρωπο είτε δεν έχει νόημα είτε είναι άδικο. Άρα το δικαστήριο είναι άδικο στην ουσία του. Αν το δικαστήριο είναι άδικο και ο Θεός κρίνει, τότε τολμούμε να φανταστούμε ότι ο Θεός είναι άδικος. Προχωρώντας περαιτέρω στην αλυσίδα, μπορεί κανείς να υποθέσει μια ταπεινή ιδέα ότι ο Θεός είτε δεν υπάρχει είτε είναι θεμελιωδώς διαφορετικός από αυτό που περιγράφεται στο ευαγγέλιο. Αλλά στην πραγματικότητα, ήθελα απλώς να καταλάβω: Γιατί οι άνθρωποι βασανίζονται τόσο πολύ στην κόλαση, γιατί δεν τους δόθηκε άλλο μέρος για τους αμαρτωλούς και γιατί δεν τους δίνεται η ευκαιρία να απολαύσουν αυτό που απολάμβαναν πριν ή μια δεύτερη ευκαιρία στον παράδεισο , αλλά λιγότερο όμορφο από το δίκαιο ; Αυτό δεν θα εξέφραζε αγάπη και δικαιοσύνη; Τελικά υπάρχουν εκατομμύρια επιλογές και η απουσία όλων αυτών δεν σημαίνει διαφορετικά; Θέλεις να μου πεις με όλη τη σοβαρότητα ότι τέτοια κόλαση είναι δίκαια προετοιμασμένη για τους αμαρτωλούς;; Αν αγαπάς, τότε θα τραβήξεις ένα άτομο όταν πηδήξει κάτω από ένα αυτοκίνητο, ακόμα κι αν πηδήξει συνειδητά με τη θέλησή του ...

2. Περαιτέρω, γράφετε: «Αν οι άνθρωποι κρίνονταν για τις αμαρτίες τους ανάλογα με τον βαθμό της επίγνωσής τους, τότε οι ίδιοι οι Ορθόδοξοι θα γίνονταν οι κύριοι αμαρτωλοί - αυτό είναι άδικο, παράδοξο». Γιατί, αυτό είναι και δίκαιο και όχι παράδοξο. Ένα άτομο που ξέρει πώς και τι πρέπει να κάνει και που παραβιάζει μια εντολή είναι αναμφίβολα πιο ένοχο από εκείνον που δεν ξέρει απολύτως τίποτα. Και ο Θεός είπε ότι αυτός που γνωρίζει και αμάρτησε θα τιμωρηθεί περισσότερο (Λουκάς 12:47-48).

3. Περαιτέρω, προτείνεις επιχειρήματα για την κρίση του Θεού και σου φαίνεται ότι είναι λογικά. Αλλά στην πραγματικότητα, δεν υπάρχει λογική σε αυτά. Είναι εντελώς επινοημένα και δεν έχουν καμία σχέση με την πραγματικότητα. Είναι προφανές σε αυτούς μόνο ότι προσπαθείς να μιλήσεις για αυτό που απλά δεν ξέρεις. Ούτε για τον Θεό, αλλά μας αποκάλυψε αρκετά για τον εαυτό Του, ούτε για τις ιδιότητες των κρίσεων του Θεού, και την ιδιωτική και Εσχάτη Κρίση, ούτε για τη μυστική ζωή κάθε ψυχής και τους τρόπους επιλογής και αγώνα της για αυτήν την επιλογή. Απλώς δεν ξέρεις τον Χριστιανισμό. Εδώ πάλι εσείς ο ίδιος καταθέτετε ότι δεν ήρθατε εδώ για να κάνετε ερωτήσεις. Όταν ένα άτομο σαν αυτό, χωρίς δισταγμό, μιλά με σιγουριά για την αδικία της κρίσης του Θεού, χτίζοντας ψευδείς λογικούς υπολογισμούς, αυτό δείχνει ένα σημαντικό πρόβλημα και δεν βρίσκεται στη λογική. Έχει πνευματικές ρίζες.
Γιατί σας το γράφω αυτό; Θα μπορούσε κανείς να απαντήσει σύντομα: Ο Θεός είναι δίκαιος, παντογνώστης, δίκαιος και δίκαιος. Ως απόλυτο και αμετάβλητο Ον, κρίνει πάντα δίκαια, πάντα ελεήμονα, πάντα με βάση την παντογνωσία Του: οι καρδιές είναι ανοιχτές σε Αυτόν και τίποτα δεν Του κρύβεται. Κρίνει με μια αγάπη ακατανόητη για τον άνθρωπο και με μια αμετάβλητη δικαιοσύνη ακατανόητη για εμάς. Αλλά εσείς, πιστεύω, δεν θα μπορέσετε να το καταλάβετε αυτό, όπως και την πρώτη φορά. Είναι σαν να εξηγείς σε έναν μαθητή της πρώτης δημοτικού με το διώνυμο του Νεύτωνα, ακόμα και σε έναν τέτοιο μαθητή της πρώτης δημοτικού που δεν θέλει να μάθει. Ωστόσο, θα δώσω απαντήσεις και στις παρακάτω ερωτήσεις για να μην νομίζετε ότι οι Χριστιανοί δεν έχουν απαντήσεις στις ερωτήσεις σας. Στην πραγματικότητα, οι απορίες σας είναι άλυτες μόνο στη φαντασία σας.

4. «Γιατί οι άνθρωποι υποφέρουν τόσο πολύ στην κόλαση». Λοιπόν, αυτό είναι μια επανάληψη του παρελθόντος. Σου έχουν γραφτεί ήδη πολλά για το ότι η κόλαση δεν είναι τιμωρία, αλλά επιλογή ζωής. Και κανείς δεν θα βασανίσει τους ανθρώπους στην κόλαση, και θα υποφέρουν από τα δικά τους πάθη, αυτά που έχουν καλλιεργήσει στην ψυχή τους όλη τους τη ζωή. Θα γράψω με τα λόγια ενός αξιοσημείωτου βιβλίου: «Μια ψυχή που πέρασε πέρα ​​από τον τάφο με αγιάτρευτες πληγές - με τα πάθη της, παραμένει εκεί σε μια παθιασμένη, οδυνηρή κατάσταση και, ανίατη στη γη, δεν μπορεί να απαλλαγεί από τα πάθη της εδώ. Και σαν μια ανίατη ασθένεια, αναπτύσσεται όλο και περισσότερο, έτσι πέρα ​​από τον τάφο η παθιασμένη κατάσταση της ψυχής, σύμφωνα με το νόμο της ζωής, θα αναπτύσσεται όλο και περισσότερο, φτάνοντας τρομακτικές διαστάσεις στη φύση και έχει κάνει την κατάσταση του πάθους των απόκληρων σαν φυσικό θα βασανίζουν αδιάκοπα, για όλη την αιωνιότητα, την ψυχή... Σε αυτό συνίσταται το εσωτερικό μαρτύριο των αμαρτωλών στη Γέεννα!... Τα πάθη και οι συνήθειες συνεχίζουν να υπάρχουν και, λόγω της δυσαρέσκειάς τους, είναι πηγή βασάνου για την ψυχή. Με ό,τι αμαρτάνει κανείς, βασανίζεται από αυτό, εκτός αν θεραπευθεί στη γη.

5. Ρωτάς, όχι χωρίς αφέλεια: «Θέλεις να μου πεις με κάθε σοβαρότητα ότι μια τέτοια κόλαση είναι δίκαια προετοιμασμένη για τους αμαρτωλούς;» - Έχοντας επιλέξει το πάθος ως νόημα της ζωής του, ο άνθρωπος παραμένει με αυτή την επιλογή της θέλησής του. Τι είναι άδικο εδώ; Σε αυτό ο Απόστολος σου απαντά: «όποιος νικηθεί από ποιον, αυτός είναι και δούλος του» (Β' Πέτ. 2:19).
6. Έχουν ήδη γραφτεί περισσότερα από αρκετά για το τι θα σας εξέφραζε «η αγάπη και η δικαιοσύνη».
7. «Γιατί δεν έχει δοθεί στους αμαρτωλούς άλλο μέρος και γιατί δεν τους δίνεται η ευκαιρία να απολαύσουν αυτό που απολάμβαναν πριν ή μια δεύτερη ευκαιρία στον παράδεισο». «Οι αμαρτωλοί θα αφεθούν στον τόπο που θα είναι η επιλογή της ζωής τους. Οι θεωρίες για δεύτερη ευκαιρία, δεύτερη ζωή, μετενσάρκωση κλπ είναι τα κόλπα του διαβόλου για να καταστρέψει τους ανθρώπους. Μας δίνεται η ζωή για τίποτα άλλο παρά για να κάνουμε μια επιλογή. Ο Θεός στέλνει στον καθένα ό,τι χρειάζεται για αυτό. Και ο Θεός στέλνει το θάνατο μόνο όταν καθοριστεί η επιλογή της ψυχής. Αυτός που διαλέγει το κακό μια φορά, θα το επιλέξει εκατό φορές. Αυτός που αγωνίζεται για την αλήθεια θα την επιλέξει στη μοναδική του ζωή. Κανείς από εμάς δεν θα έχει μια δεύτερη ευκαιρία, γιατί κανείς μας δεν θα την πάρει: θα ήταν ένα κακό άπειρο κακό. Και ο Θεός δεν έχει τίποτα ακατάλληλο. Μπορείτε να διαβάσετε σχετικά στο άρθρο.
8. «Αν αγαπάς, τότε θα ισιώσεις έναν άνθρωπο όταν πηδήξει κάτω από ένα αυτοκίνητο, ακόμα κι αν πηδήξει συνειδητά με τη δική του ελεύθερη βούληση». Ο Θεός όχι μόνο μας σταματά πολλές φορές στη ζωή μας, μας κατευθύνει, μας νουθετεί, μας προειδοποιεί με κάθε δυνατό τρόπο μέσα από ανθρώπους, περιστάσεις, βιβλία, εμπνέοντάς μας καλές σκέψεις και αφυπνίζοντας τη συνείδησή μας. Ο Θεός από αγάπη και μόνο κατέβηκε τη γη, στην οποία κατοικούσαν φοβεροί αμαρτωλοί, για να τους ελεήσει. Έγινε Άνθρωπος και πέθανε με τρομερή αγωνία στο σταυρό για να πάρει πάνω Του όλες τις αμαρτίες μας και έτσι να μας ανοίξει τον δρόμο προς τον παράδεισο. Καλεί τους πάντες κοντά Του σε όλη του τη ζωή και περιμένει μόνο ένα πράγμα από εμάς: την ελεύθερη βούληση να ζήσουμε με καλοσύνη και αγάπη. Επομένως, θα είμαστε αναπάντητοι ενώπιόν Του στην κρίση, έχοντας διορθώσει ένα τέτοιο ύψος ελέους.

9. Και το τελευταίο. Στη διάθεσή σας είναι ολόκληρο το site, όπου υπάρχουν απαντήσεις σε όλες τις πιθανές ερωτήσεις σας. Καλως ΗΡΘΑΤΕ. Αλλά αν αποφασίσετε να συνεχίσετε απλώς να μαλώνετε, τότε αυτό δεν είναι για εμάς. Μην προσβάλλεστε αν δεν λάβετε απάντηση. Ο απόστολος πρόσταξε τους Χριστιανούς να μην εμπλέκονται σε άκαρπες διαμάχες και να μην νουθετούν όσους δεν δέχονται τις δύο πρώτες νουθεσίες.

Σήμερα θα περιγράψω, ίσως, την καλύτερη εργασία για αρχάριους γλώσσας. Προγραμματισμός PHP- Βιβλίο επισκεπτών. Κατά τη γνώμη μου, αυτή η εργασία είναι η πιο απλή, αλλά ταυτόχρονα σας επιτρέπει να μάθετε όλα τα κύρια χαρακτηριστικά της εργασίας με την PHP και τη βάση δεδομένων MySQL. Εκτός, δοθείσα εργασίαεπεκτάσιμο στο άπειρο, το οποίο σας επιτρέπει να ακονίσετε τις νέες τεχνολογίες.

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

Εάν δεν γνωρίζετε καθόλου πώς να εργαστείτε με την PHP, τότε πρώτα σας συμβουλεύω να διαβάσετε τη σημείωση PHP - από πού να ξεκινήσετε.

Θα αναλύσουμε τη δημιουργία του πιο πρωτόγονου βιβλίου επισκεπτών, χωρίς σχεδιασμό και διαχείριση. Με άλλα λόγια, θα περιοριστούμε στο να εισάγουμε το βιβλίο, να εγγραφούμε και να αφήνουμε μηνύματα.
Από την ίδια την εργασία, γίνεται σαφές ότι μπορούμε να περιοριστούμε εντελώς σε τρία php αρχεία, για την υλοποίηση αυτής της εργασίας. Φυσικά, η εργασία εγγραφής μπορεί να χωριστεί σε δύο: τη φόρμα εγγραφής και την προσθήκη δεδομένων στη βάση δεδομένων, αλλά δεν θα το κάνουμε αυτό. Παρόμοιο σκεπτικό ισχύει και για τη διαδικασία σχολιασμού. Έτσι, δημιουργούμε τρία αρχεία: index.php, register.php, book.php.

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

Το πιο απλό στην περίπτωσή μας είναι η σελίδα σύνδεσης. Εφόσον η σελίδα είναι υπεύθυνη για την εισαγωγή ενός ζεύγους στοιχείων σύνδεσης και κωδικού πρόσβασης, πρέπει να έχει μια φόρμα για την αποστολή αυτών των δεδομένων στη σελίδα book.php. Υπάρχει επίσης ένας σύνδεσμος προς τη σελίδα εγγραφής. Εχουμε:

Καταχώρηση βιβλίου επισκεπτών

Σύνδεση:
Κωδικός πρόσβασης:

Εγγραφή


Λίγο εκτός θέματος, για όσους δεν ξέρουν τι σημαίνει ο παραπάνω κώδικας. Εδώ έχουμε γυμνό HTML. Η ετικέτα είναι το κλειδί μορφήπου παίρνει δύο παραμέτρους δράση, η οποία είναι υπεύθυνη για τη διεύθυνση της σελίδας που θα ανοίξει μετά την επιβεβαίωση της εισαγωγής δεδομένων και την παράμετρο μέθοδος, το οποίο λέει πώς θα σταλούν τα δεδομένα της φόρμας στην καθορισμένη σελίδα (δείτε POST και GET με απλά λόγια). Μέσα στην ετικέτα φόρμας καθορίζονται πεδία εισαγωγής (εισαγωγή, επιλογή), τα οποία πρέπει να έχουν το χαρακτηριστικό όνομα. Με την τιμή αυτού του χαρακτηριστικού θα είναι δυνατή η λήψη των δεδομένων που έχει εισαγάγει ο χρήστης στη σελίδα που καθορίζεται στην παράμετρο φόρμας ενέργειας. Βεβαιωθείτε ότι μέσα στη φόρμα πρέπει να υπάρχει μια εισαγωγή με τον τύπο υποβάλλουν, που είναι ουσιαστικά ένα κουμπί, κάνοντας κλικ σε ποια δεδομένα θα σταλούν στη σελίδα ενεργειών.

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

Πηγαίνουμε στο phpMyAdmin. Ας δημιουργήσουμε μια βάση εκεί που ονομάζεται gb. Σε αυτήν τη βάση δεδομένων, δημιουργήστε έναν πίνακα Χρήστες με τα ακόλουθα πεδία:

Σύνδεση varchar(50) μοναδικό //σύνδεση χρήστη, κωδικός πρόσβασης μοναδικό πεδίου varchar(150) //κωδικός πρόσβασης www varchar(255) //διεύθυνση ιστότοπου

Και αφού έχουμε ήδη μπει στον επεξεργαστή βάσης δεδομένων, μπορούμε αμέσως να σκεφτούμε πώς θα αποθηκεύσουμε τα μηνύματα. Στην περίπτωσή μας, είναι αρκετά κατάλληλο να γνωρίζουμε ποιος και πότε άφησε το μήνυμα, και το πραγματικό κείμενο του μηνύματός μας. Επίσης, για διευκόλυνση, αξίζει να αριθμήσουμε τα μηνύματά μας. Έχουμε αποφασίσει για αυτό, ώστε να μπορούμε να δημιουργήσουμε με ασφάλεια έναν άλλο πίνακα Μηνυμάτων με την ακόλουθη δομή:

Αναγνωριστικό int ai(auto_increment) πρωτεύον_κλειδί //αριθμός μηνύματος, ένας μετρητής που θα αυξάνει ο ίδιος το κείμενο mess //το κείμενο του μηνύματος που varchar(50) //σύνδεση του ατόμου που άφησε το μήνυμα όταν η προεπιλεγμένη χρονική σήμανση(τρέχουσα) //χρόνος του μηνύματος έμεινε, από προεπιλογή η τρέχουσα ημερομηνία και ώρα

Ολοκληρώθηκε με τη βάση δεδομένων. Τώρα ας προχωρήσουμε στο αρχείο register.php. Συνοψίζοντας τα παραπάνω έχουμε:

Εγγραφή

Σύνδεση:
Κωδικός πρόσβασης:
Ο κωδικός και πάλι:
WWW: http://


Προς κύρια

Λίγα λόγια για τον κώδικα. Όπως έχετε ήδη παρατηρήσει, η PHP είναι παρούσα εδώ. Δεν θα περιγράψω τη φόρμα, αλλά όπως μπορούμε να δούμε, εδώ τα δεδομένα της φόρμας αποστέλλονται στην ίδια σελίδα όπου το δεδομένη μορφή. Με άλλα λόγια, το αρχείο register.php στέλνει δεδομένα στον εαυτό του. Κανείς δεν το απαγορεύει αυτό, ωστόσο, δεν είναι πάντα δυνατό να το χρησιμοποιήσετε, καθώς χαλάει πολύ την αναγνωσιμότητα του κώδικα. Ωστόσο, από την άλλη, αυτό δείχνει ξεκάθαρα τις δυνατότητες της γλώσσας PHP. Μάλιστα η σελίδα μας χωρίζεται σε δύο περιπτώσεις. Η πρώτη περίπτωση είναι όταν αποστέλλονται δεδομένα στη σελίδα Αίτημα POST, η δεύτερη περίπτωση που δεν αποστέλλεται αίτημα POST στη σελίδα. Στη δεύτερη περίπτωση, θα εμφανίσουμε τη φόρμα εγγραφής και στην πρώτη περίπτωση, θα αρχίσουμε να ελέγχουμε τα υποβληθέντα στοιχεία. Όπως μπορείτε να δείτε, τα δεδομένα αποστέλλονται ως συσχετιστικός πίνακας (δηλαδή ένας πίνακας του οποίου τα ευρετήρια είναι συμβολοσειρές). Επιπλέον, οι δείκτες ταιριάζουν με τα ονόματα των πεδίων εισαγωγής που καθορίζονται στη φόρμα υποβολής δεδομένων. Εκείνοι. αν γράψουμε

τότε εμείς, όταν στέλνουμε αυτά τα δεδομένα με αίτημα POST, θα έχουμε μια μεταβλητή

$_POST["vasa-peta"]

Αξίζει επίσης να σημειωθεί ότι δεν κάνουμε κανέναν έλεγχο για επανάληψη σύνδεσης. Αυτός ο έλεγχοςθα γίνει σε επίπεδο βάσης δεδομένων, αφού το πεδίο σύνδεσης επισημαίνεται ως μοναδικό.

Τώρα το τελευταίο. Μένει να κάνουμε το ίδιο το βιβλίο επισκεπτών. Λίγη συζήτηση. Δεδομένου ότι το βιβλίο επισκεπτών λειτουργεί με σύνδεση και κωδικό πρόσβασης, το πρώτο πράγμα που πρέπει να κάνουμε είναι να ελέγξουμε τα εισαγόμενα στοιχεία σύνδεσης και τον κωδικό πρόσβασης για παρουσία στη βάση δεδομένων. Εφόσον αποφασίσαμε να προσθέσουμε μηνύματα και στο αρχείο book.php, προφανώς θα πρέπει να ακολουθήσει η διαδικασία για την προσθήκη ενός μηνύματος. Λοιπόν, στο τέλος, η εμφάνιση όλων των μηνυμάτων. (εάν προσθέσετε ένα μήνυμα αφού εμφανιστούν, τότε το μήνυμα που προστέθηκε θα εμφανιστεί μόνο μετά τη φόρτωση της σελίδας). Εχουμε:

Βιβλίο επισκεπτών "; ) else ( echo "Το μήνυμά σας δεν έχει προστεθεί!


"; } } ?>
"name="login" /> "name="password" />

"; echo "Κείμενο: ".$row["mes"]."
"; ) ) mysql_close($link); ?>

Αυτό είναι ουσιαστικά όλο. Εάν ο κωδικός λειτουργεί 100%, εντάξει. Εάν όχι, τότε σας συμβουλεύω να προσπαθήσετε να διορθώσετε μόνοι σας τα λάθη. Τώρα το υποσχόμενο τμήμα.

Ανεξάρτητη εργασία
Όπως αναφέρθηκε και στην αρχή αυτή η λύση είναι «στρεβλή». Εάν εξακολουθείτε να μην καταλαβαίνετε γιατί, τότε θα σας εξηγήσω τώρα. Όπως ίσως έχετε παρατηρήσει στο αρχείο book.php στη φόρμα για την προσθήκη σχολίου, υπάρχουν αρκετά κρυφά πεδία, δύο από τα οποία είναι το όνομα χρήστη και ο κωδικός πρόσβασης που έχει καταχωρίσει ο χρήστης. Δεν είναι καλό, έτσι; Προσπαθήστε να διορθώσετε αυτό το ελάττωμα χρησιμοποιώντας συνεδρίες (Πώς να εργαστείτε με συνεδρίες στην PHP).
Προσπαθήστε να απαντήσετε στην ερώτηση, ποια είναι η διαφορά μεταξύ των συναρτήσεων άδειο/σετΚαι έξοδος/πεθάνω?
Τροποποιήστε το ερώτημα για την επιλογή μηνυμάτων από τη βάση δεδομένων, έτσι ώστε κατά την εμφάνιση μηνυμάτων, να εμφανίζεται ο ιστότοπος του συντάκτη του μηνύματος.
Εάν παρατηρήσετε, τότε ο κωδικός πρόσβασης των χρηστών στη βάση δεδομένων αποθηκεύεται σε καθαρό κείμενο και αυτό δεν είναι πολύ καλό. Επεξεργαστείτε τον κωδικό έτσι ώστε ο κατακερματισμός του κωδικού πρόσβασης του χρήστη να αποθηκευτεί στη βάση δεδομένων (για παράδειγμα, MD5 ή SHA1).

Σε αυτό το σεμινάριο, θα δημιουργήσουμε ένα βιβλίο επισκεπτών σε PHP χρησιμοποιώντας AJAX. Οι εγγραφές θα αποθηκευτούν στη βάση δεδομένων. Ο πίνακας θα περιέχει τις ακόλουθες πληροφορίες: όνομα αποστολέα, διεύθυνση email, διεύθυνση IP και ημερομηνία-ώρα της τελευταίας καταχώρισης. Θα χρησιμοποιηθεί το jQuery (για την υλοποίηση του AJAX). Θα εφαρμοστεί επίσης μια απλή προστασία από ανεπιθύμητα μηνύματα - δεν μπορείτε να δημοσιεύετε περισσότερες από μία καταχώριση κάθε 10 λεπτά.

Βήμα 1: SQL

Για να λειτουργήσει η εφαρμογή μας, πρέπει να δημιουργήσουμε έναν πίνακα:

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ `s178_book Guestbook` (`id` int(10) unsigned NOT NULL auto_increment, `name` varchar(255) default "", `email` varchar(255) default "", `description` varchar(255) default "", `when` int(11) NOT NULL default "0", `ip` varchar(20) default NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Βήμα 2 PHP

Το κύριο αρχείο θα περιέχει τον ακόλουθο κώδικα:

βιβλίο επισκεπτών.php

=") == 1) error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); other error_reporting(E_ALL & ~E_NOTICE); require_once("classes/CMySQL.php"); // συμπεριλαμβανομένης της κλάσης υπηρεσίας για εργασία με βάση δεδομένων // Λήψη Συνάρτηση IP επισκέπτη getVisitorIP() ( $ip = "0.0.0.0"; if((isset($_SERVER["HTTP_X_FORWARDED_FOR"])) && (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))) ($ip = $ _SERVER["HTTP_X_FORWARDED_FOR"]; ) elseif((isset($_SERVER["HTTP_CLIENT_IP"])) && (!empty($_SERVER["HTTP_CLIENT_IP"]))) ( $ip = explode("",$_SERVER[ "HTTP_CLIENT_IP"]); $ip = $ip.".".$ip.".".$ip.".".$ip; ) elseif((!isset($_SERVER["HTTP_X_FORWARDED_FOR"])) | | (κενό($_SERVER["HTTP_X_FORWARDED_FOR"]))) (αν ((!isset($_SERVER["HTTP_CLIENT_IP"])) && (κενό($_SERVER["HTTP_CLIENT_IP"]))) ( $ip = $_SERVER ["REMOTE_ADDR"]; ) ) επιστροφή $ip; ) // Λάβετε τις πιο πρόσφατες καταχωρήσεις στη συνάρτηση βιβλίου επισκεπτών getLastRecords($iLimit = 3) ( $sRecords = ""; $aRecords = $GLOBALS["MySQL"]->getAll ( "SELECT * FROM `s178_guestbook" ORDER BY "id" DESC L IMIT($iLimit)"); foreach ($aRecords as $i => $aInfo) ( $sWhen = ημερομηνία("F j, Y H:i", $aInfo["when"]); $sRecords .=<<

($aInfo["περιγραφή"])

ΕΟΦ; ) επιστροφή $sRecords. ) if ($_POST) ( // Αποδοχή νέων εγγραφών $sIp = getVisitorIP(); $sName = $GLOBALS["MySQL"]->escape(strip_tags($_POST["name"])); $sEmail = $GLOBALS ["MySQL"]->escape(strip_tags($_POST["name"])); $sDesc = $GLOBALS["MySQL"]->escape(strip_tags($_POST["text"])); εάν ($ sName && $sEmail && $sDesc && $sIp) ( // Anti-spam $iOldId = $GLOBALS["MySQL"]->getOne("SELECT `id` FROM `s178_guestbook` WHERE `ip` = "($sIp) " AND `when` >= UNIX_TIMESTAMP() - 600 LIMIT 1"); if (! $iOldId) ( // Μπορείτε να προσθέσετε σχόλια $GLOBALS["MySQL"]->res("INSERT INTO `s178_guestbook` SET `όνομα ` = "($sName)", `email` = "($sEmail)", `description` = "($sDesc)", `when` = UNIX_TIMESTAMP(), `ip` = "($sIp)"" ) ; // Εκτύπωση των τελευταίων 10 εγγραφών $sOut = getLastRecords(); echo $sOut; exit; ) ) echo 1; exit; ) // Εκτύπωση των τελευταίων 10 εγγραφών $sRecords = getLastRecords(); ob_start(); ?>

Βιβλίο επισκεπτών

Προσθέστε την κριτική σας εδώ

Βιβλίο επισκεπτών σε PHP



Όταν ανοίξετε τη σελίδα, θα δείτε ένα σημειωματάριο. Στην αριστερή πλευρά, εμφανίζονται οι τρεις τελευταίες καταχωρήσεις και στη δεξιά, μια φόρμα για τη δημοσίευση μιας νέας κριτικής. Όταν υποβάλλεται η φόρμα, το σενάριο στέλνει τα δεδομένα POST (στην ίδια σελίδα PHP), στη συνέχεια αποθηκεύει τα δεδομένα που λαμβάνονται στη βάση δεδομένων και επιστρέφει τις τρεις τελευταίες καταχωρήσεις. Χρησιμοποιώντας το εφέ εξασθένισης, οι καταχωρήσεις εμφανίζονται στην αριστερή πλευρά του βιβλίου.

Χρησιμοποιώντας επίσης αρχείο PHP

classes/CMySQL.php

Αυτό το αρχείο περιέχει τον κωδικό τάξης για εργασία με τη βάση δεδομένων. Απαιτεί να ρυθμίσετε τρεις μεταβλητές για να συνδεθείτε στον διακομιστή.

$this->sDbName = "BASE_DATABASE_NAME"; $this->sDbUser = "ΟΝΟΜΑ ΧΡΗΣΤΗ"; $this->sDbPass = "PASSWORD";

Βήμα 3CSS

Και τώρα θα σχηματίσουμε την εμφάνιση του βιβλίου επισκεπτών:

css/main.css

*( margin:0; padding:0; ) body ( background-color:#fff; color:#fff; font:14px/1.3 Arial,sans-serif; ) footer ( background-color:#212121; bottom:0; box-shadow: 0 -1px 2px #111111; display:block; ύψος:70px; left:0; position:fixed; πλάτος:100%; z-index:100; ) υποσέλιδο h2(μέγεθος γραμματοσειράς:22px; γραμματοσειρά- βάρος:κανονικό ; χρώμα:#fcfcfc; μέγεθος γραμματοσειράς: 14 εικονοστοιχεία; αριστερά: 50%, ύψος γραμμής: 31 εικονοστοιχεία; περιθώριο: 23 εικονοστοιχεία 0 0 110 εικονοστοιχεία; θέση:απόλυτη; επάνω:0; ) υποσέλιδο .stuts span (μέγεθος γραμματοσειράς: 22 px; font-weight:bold; margin-left:5px; ) .container ( φόντο: διαφανές url(../images/book_open.jpg) χωρίς επανάληψη επάνω στο κέντρο ; χρώμα: #000000; ύψος: 600px; περιθώριο: 20px auto; υπερχείλιση: κρυφή, συμπλήρωση: 35 εικονοστοιχεία 100 εικονοστοιχεία, θέση: σχετική, πλάτος: 600 εικονοστοιχεία; ) #col1, #col2 ( float: αριστερά; περιθώριο: 0 10 px; υπερχείλιση: κρυφή; στοίχιση κειμένου: κέντρο; πλάτος: 280 px; ) #col1 ( -webkit-transform: rotate(3deg); -moz-transform: rotate(3deg); -ms-transform: rotate(3deg); -o-transform: rotate(3deg); ) #records form ( margin:10px ; padding:10px; text-align:left; ) #records table td.label ( χρώμα: #000; μέγεθος γραμματοσειράς: 13px; padding-right: 3px; text-align: right . ; περίγραμμα: 0 εικονοστοιχεία συμπαγές #96A6C5; οικογένεια γραμματοσειράς: Verdana, Arial, sans-serif; μέγεθος γραμματοσειράς: 13 εικονοστοιχεία; κορυφή περιθωρίου: 2 εικονοστοιχεία; συμπλήρωση: 6 εικονοστοιχεία; πλάτος: 190 εικονοστοιχεία; ) #records πίνακα td.Είσοδος πεδίου ( φόντο -color: rgba(200, 200, 200, 0.4); δρομέας: δείκτης; float:right; πλάτος: 100 px; ) #records πίνακα td.πεδίο εισαγωγής:hover ( background-color: rgba(200, 200, 200, 0.8 ); ) #records_list ( text-align:left; ) #records_list .record ( border-top: 1px solid #000000; font-size: 13px; padding: 10px; ) #records_list .record:first-child ( border-top -width:0px; ) #records_list .record p:first-child ( font-weight:bold; font-size:11px; )

Ταξινόμηση κατά:

  • 1

    Αυτό είναι ένα ισχυρό πρόγραμμα με νέο περιβάλλον χρήστη, εύχρηστο λογισμικό για τη διαχείριση αποθεμάτων αποθήκης με πελάτες, προμηθευτές, προϊόντα και αυτόματο υπολογισμό του αποθέματος. Έχει μια σαφή διεπαφή τελευταίας γενιάς. πάντα ορατά αποθέματα με εκφόρτωση, αποθέματα προϊόντων και προς παραγγελία. Μπορείτε να το δοκιμάσετε κάνοντας λήψη του προγράμματος εγκατάστασης από αυτόν τον σύνδεσμο: www.rgpsoft.com/software/calus. php

  • 2

    Ολοκληρωμένο Web Based / SAAS Accounting & ERP με ΠΛΗΡΗΣ ΠΗΓΙΚΟ ΚΩΔΙΚΟ! PHPΒασισμένο & MySQL, αυτό το λογισμικό είναι πλήρως μοντέρνο και ανταποκρίνεται, χρησιμοποιεί bootstrap και MVC Architecture! Περιλαμβάνονται όλες οι βασικές λειτουργίες Λογιστικής και ERP, GL, AR, AP, OE, Inv, Warehousing, CRM, MRP και καλάθι αγορών. Οι προηγμένες δυνατότητες περιλαμβάνουν λογιστική πολλαπλών οντοτήτων με αυτόματη ενοποίηση οικονομικών καταστάσεων, απεριόριστους χρήστες, απεριόριστες αποθήκες, απεριόριστους κάδους εντός αποθηκών, πολλαπλές γλώσσες, πολλαπλές...

  • 3
  • 4

    Η Bitmixsoft είναι μια εταιρεία λογισμικού από τη Ρουμανία και προσφέρει έναν τίτλο λογισμικού που ονομάζεται PHP-Jobsite. Το PHP-Jobsite είναι λογισμικό πίνακα εργασίας και περιλαμβάνει λειτουργίες όπως τιμολόγηση και τιμολόγηση, διαχείριση εκπτώσεων/πακέτων, λογαριασμούς εργοδότη, διαχείριση εργασιών, μηχανή αντιστοίχισης, δημοσίευση βιογραφικών, αναζήτηση βιογραφικών και αγορά εργασίας. Όσον αφορά τις απαιτήσεις συστήματος, το PHP-Jobsite είναι διαθέσιμο ως λογισμικό SaaS. Το κόστος ξεκινά από 299,00 $. Μερικά εναλλακτικά προϊόντα του PHP-Jobsite περιλαμβάνουν το Careerleaf Job Board Software, το SmartJobBoard και το JobMount Job Board Software.

  • 6

    Το Lightning-Smart PHP IDE. PHPΗ Storm κατανοεί βαθιά τον κώδικά σας. PHPΤο Storm είναι τέλειο για εργασία με Symfony, Laravel, Drupal, WordPress, Zend Framework, Magento, Joomla!, Cake PHP, Yii και άλλα πλαίσια. Ο επεξεργαστής πραγματικά «παίρνει» τον κώδικά σας και κατανοεί βαθιά τη δομή του, υποστηρίζοντας όλα τα PHPγλωσσικά χαρακτηριστικά για σύγχρονα και παλαιού τύπου έργα. Παρέχει την καλύτερη συμπλήρωση κώδικα, ανακατασκευές, πρόληψη σφαλμάτων on the-fly και πολλά άλλα. Αξιοποιήστε στο έπακρο την αιχμή της πρόσοψης...

  • 19

    τις τελευταίες τεχνολογίες, PHP, JS, jQuery, HTML5, Bootstrp και Codeigniter πλαίσιο με μοτίβο κωδικοποίησης HMVC. Θέματα απόκρισης για απρόσκοπτη πλήρη εμπειρία χρήστη, διαχειριζόμενος μια σταθερή εμφάνιση και αίσθηση του ιστότοπού σας σε όλες τις συσκευές. Λαμβάνουμε σοβαρά υπόψη την ασφάλεια και υποστηρίζουμε το προϊόν μας με ένα Πρόγραμμα Bounty Ασφαλείας για να ενθαρρύνουμε την υπεύθυνη αποκάλυψη από τους ερευνητές. Με τη βελτιωμένη τεχνολογία μας, σας προσφέρουμε ένα άνευ προηγουμένου επίπεδο ελέγχου. Φιλικό προς το χρήστη γρήγορο, εύκολο στην κατανόηση και διαχείριση.

  • 20


Φόρτωση...
Μπλουζα