مخطوطات PHP. البرنامج النصي لكتاب الزوار في PHP إعداد كتاب الزوار، والحماية من البريد العشوائي

تحدثنا عن إنشاء سجل ضيوف على الموقع باستخدام برنامج نصي جاهز. وفي الوقت نفسه، يتكون سجل الزوار في المواقع الصغيرة عادةً من عدة رسائل (من عشرة إلى خمسة عشر) ونادرًا ما يتم تحديثه برسائل جديدة. في الأساس، الكتاب مليء بالبريد العشوائي وجميع أنواع الإعلانات والروابط لمواقع الويب. ونتيجة لذلك، يتم قضاء الكثير من الوقت في تنظيفه والتحقق من (الإشراف) على الرسائل.

المزايا الرئيسية لهذا النهج هي كما يلي:
- عدم قدرة الغرباء على إدراج أفكارهم الرائعة في صفحة دفتر الزوار، وتجاوز حاجزك الصارم،
- لا حاجة لإنشاء تصميم خاص، حيث يتم إدراج سطور الرسائل مباشرة على صفحة الموقع،
- يمكنك بسهولة تحسين سجل الزوار الخاص بك عن طريق ملئه بالكلمات الرئيسية للترويج لموقعك.

أولاً، لنقم بإنشاء نموذج للرسائل في سجل الزوار باستخدام أي محرر HTML وCSS. على سبيل المثال، لن نحيد عن تصميم الكتاب الذي تمت مناقشته سابقًا. سنجعل زر "إضافة رسالة" بمثابة رابط صورة لنموذج الملاحظات (صفحة forma_02.html)، والذي يفتح في نافذة صغيرة (المثال يعمل، يمكنك التحقق منه!).

كتاب الضيوف
شركة بوبكين وشركاه

23.10.2011
إيفان إيفانوفيتش
موسكو

لقد طلبت موقعًا إلكترونيًا من شركتك.
تم كل شيء بسرعة وكفاءة.
شكرا لموظفي SEOMARK! سأوصيك لأصدقائي.

مسؤل. سعداء دائما بالمساعدة!
21.10.2011
جوبكين
لندن

تهانينا على بدء كتاب الضيوف الخاص بك.
نتمنى لك التوفيق في عملك والسعادة في حياتك الشخصية.

شركة "جوبكين وشركاه".

مسؤل. شكرًا لك!

رمز رابط "إضافة رسالة" هو كما يلي:
.

هنا في JavaScript تحدد عنوان الصفحة التي سيتم فتحها (forma_02.html)، وعرض النافذة الجديدة وارتفاعها (500 × 600 بكسل) وموضعها على شاشة المراقبة (الزاوية اليسرى العليا). لا يحتوي محتوى النافذة على أي ميزات خاصة ويتم تحديده من خلال المعلومات التي تحتاجها عن الزائر: الاسم والعنوان والبريد الإلكتروني وICQ وما إلى ذلك.

إذا تم إرسال الرسالة بنجاح، تظهر الرسالة التالية:
"شكرًا لك على إرسال رسالتك.
بعد التحقق من قبل مدير الموقع
سيتم إضافته إلى دفتر الزوار. "
النص الكامل لصفحة PHP للمثال الذي تم النظر فيه هو كما يلي:





رسالة




سأصف اليوم ربما أفضل مهمة للمبتدئين في لغة البرمجة PHP - كتاب الزوار. في رأيي، هذه المهمة هي الأبسط، ولكنها في الوقت نفسه تسمح لك بتعلم جميع الميزات الرئيسية للعمل مع PHP وقاعدة بيانات MySQL. بالإضافة إلى ذلك، هذه المهمة قابلة للتوسيع بشكل لا نهائي، مما يسمح لك بصقل التقنيات الجديدة.

سيتم كتابة الوصف والحل لهذه المشكلة هنا، دون اختبار الوظيفة، لذلك ربما يكون هناك خطأ مطبعي في مكان ما. لم يتم ذلك بسبب كسلي، ولكن مرة أخرى بسبب التدريب الإضافي عند إنشاء سجل الزوار بواسطتك. كما أن الحل المقدم سيكون "معوجًا" قليلاً، ولكن المزيد عن ذلك في نهاية هذه المقالة في قسم "العمل المستقل".

إذا كنت لا تعرف كيفية العمل مع PHP على الإطلاق، فأنا أنصحك أولاً بقراءة مقال PHP - من أين تبدأ.

سنقوم بتحليل إنشاء كتاب الزوار الأكثر بدائية، دون تصميم وإدارة. بمعنى آخر، سنقتصر على تسجيل الدخول إلى الكتاب وتسجيل الرسائل وتركها.
من المهمة نفسها، يصبح من الواضح أنه يمكننا أن نقتصر تمامًا على ثلاثة ملفات PHP لتنفيذ هذه المهمة. بالطبع يمكن تقسيم مهمة التسجيل إلى قسمين: استمارة التسجيل وإضافة البيانات إلى قاعدة البيانات، لكننا لن نقوم بذلك. منطق مماثل صالح لإجراء ترك التعليقات. وبالتالي، نقوم بإنشاء ثلاثة ملفات: Index.php، Registration.php، book.php.

من خلال أسماء الملفات، يمكنك أن تفهم على الفور ما سيكونون مسؤولين عنه: Index.php - صفحة تسجيل الدخول، Registration.php - صفحة التسجيل، book.php - صفحة كتاب الضيوف.

أبسط شيء في حالتنا هو صفحة تسجيل الدخول. وبما أن الصفحة مسؤولة عن إدخال زوج تسجيل الدخول وكلمة المرور، فيجب أن تحتوي على نموذج لإرسال هذه البيانات إلى صفحة book.php. وأيضا رابط لصفحة التسجيل. لدينا:

تسجيل الدخول إلى دفتر الزوار تسجيل الدخول:
كلمة المرور:

تسجيل

نبتعد قليلا عن الموضوع لمن لا يعرف ماذا يعني الكود أعلاه. هنا لدينا HTML عارية. النقطة الأساسية هي علامة النموذج، التي تقبل معلمتي إجراء، وهما المسؤولتان عن عنوان الصفحة التي سيتم فتحها بعد تأكيد إدخال البيانات، ومعلمة الطريقة، التي تجيب على كيفية إرسال بيانات النموذج إلى الصفحة المحددة (انظر POST و GET بكلمات بسيطة). داخل علامة النموذج، تتم الإشارة إلى حقول الإدخال (الإدخال، التحديد)، والتي يجب أن تحتوي على سمة اسم. من خلال قيمة هذه السمة سيكون من الممكن الحصول على البيانات التي أدخلها المستخدم على الصفحة المحددة في معلمة نموذج الإجراء. يجب أن يكون هناك إدخال داخل النموذج بنوع الإرسال، وهو في الأساس زر، عند النقر عليه سيتم إرسال البيانات إلى صفحة الإجراء.

لنكمل... الآن نحن بحاجة إلى إنشاء صفحة تسجيل مستخدم جديدة. من المفيد أن نفكر فورًا فيما نريد الحصول عليه بالضبط. قررت أنه بالنسبة لدفتر ضيوف بسيط، سيكون كافيًا أن يكون لدى المستخدمين تسجيلات دخول فريدة، بالإضافة إلى معرفة عنوان موقع الويب الخاص بهم (إذا كان هناك موقع). بمجرد أن نقرر ما نريد معرفته عن المستخدم، يمكننا البدء في تصميم قاعدة البيانات الخاصة بنا.

انتقل إلى phpMyAdmin. لنقم بإنشاء قاعدة بيانات هناك بالاسم gb. في قاعدة البيانات هذه، سنقوم بإنشاء جدول المستخدمين مع الحقول التالية:

تسجيل الدخول varchar(50) فريد // تسجيل دخول المستخدم، كلمة مرور الحقل الفريدة varchar(150) // كلمة المرور www varchar(255) // عنوان موقع الويب

وبما أننا قد دخلنا بالفعل إلى محرر قاعدة البيانات، يمكننا أن نفكر على الفور في كيفية تخزين الرسائل. في حالتنا، من المناسب تمامًا معرفة من ترك الرسالة ومتى، والنص الفعلي لرسالتنا. ومن أجل الراحة أيضًا، يجدر ترقيم رسائلنا. لقد قررنا ذلك، مما يعني أنه يمكننا إنشاء جدول رسائل آخر بأمان بالبنية التالية:

المعرف int ai (auto_increment) Primary_key // رقم الرسالة، العداد، الذي سيزيد نص الرسالة // نص الرسالة الذي varchar (50) // تسجيل دخول الشخص الذي ترك الرسالة عندما يكون الطابع الزمني الافتراضي (الحالي) // وقت المغادرة الرسالة، وفقًا للتاريخ والوقت الحاليين الافتراضيين

لقد قمنا بفرز قاعدة البيانات. الآن دعنا ننتقل إلى ملف التسجيل.php. تلخيص ما سبق لدينا:

تسجيل الدخول:
كلمة المرور:
كلمة المرور مرة أخرى:
شبكة الاتصالات العالمية: http://


إلى الرئيسية

قليلا عن الكود. كما لاحظت بالفعل، PHP موجود هنا. لن أصف النموذج بعد الآن، ولكن كما نرى، هنا يتم إرسال بيانات النموذج إلى نفس الصفحة التي يوجد بها هذا النموذج. بمعنى آخر، يرسل ملف التسجيل.php البيانات إلى نفسه. لا أحد يحظر القيام بذلك، لكن لا يمكنك استخدامه دائمًا، لأنه يفسد بشكل كبير سهولة قراءة الكود. ومع ذلك، من ناحية أخرى، يوضح هذا بوضوح إمكانيات لغة PHP. في الأساس تنقسم صفحتنا إلى حالتين. الحالة الأولى هي عندما يتم إرسال البيانات إلى الصفحة عن طريق طلب POST، والحالة الثانية هي عندما لا يتم إرسال أي طلب POST إلى الصفحة. وفي الحالة الثانية سنظهر استمارة التسجيل، وفي الحالة الأولى سنبدأ بتدقيق البيانات المقدمة. كما ترون، يتم إرسال البيانات في شكل مصفوفة ترابطية (أي مصفوفة مؤشراتها عبارة عن سلاسل). علاوة على ذلك، تتطابق المؤشرات مع أسماء حقول الإدخال المحددة في نموذج تقديم البيانات. أولئك. إذا كتبنا

ثم، عند إرسال هذه البيانات مع طلب POST، سيكون لدينا متغير

$_POST["فاسا-بيتا"]

ومن الجدير بالذكر أيضًا أننا لا نقوم بأي عمليات تحقق متكررة لتسجيل الدخول. سيتم إجراء هذا الفحص على مستوى قاعدة البيانات، حيث يتم وضع علامة على حقل تسجيل الدخول على أنه فريد.

الآن آخر شيء. كل ما تبقى هو عمل كتاب الزوار نفسه. القليل من المناقشة. نظرًا لأن سجل الزوار يعمل باستخدام تسجيل الدخول وكلمة المرور، فإن أول شيء يتعين علينا القيام به هو التحقق من معلومات تسجيل الدخول وكلمة المرور المدخلة للتأكد من توفرها في قاعدة البيانات. وبما أننا قررنا إضافة رسائل في ملف book.php، فمن الواضح أنه يجب اتباع الإجراء الخاص بإضافة رسالة. حسنًا، في النهاية، عرض لجميع الرسائل. (إذا قمت بإضافة رسالة بعد عرضها، فلن يتم عرض الرسالة المضافة إلا بعد إعادة تحميل الصفحة). لدينا:

كتاب الضيوف