سجل الزوار بلغة PHP. كتابة سيناريو سجل الزوار Reckless dealer guestbook php

PHP 5.2 وما فوق ؛
- mod_rewrite ؛
- قاعدة بيانات MySQL 4.1 وما فوق.

الاحتمالات

التضمين تحت أي موقع (لهذا تحتاج فقط إلى تحرير ملفات top.php و bottom.php) ؛
- مكافحة الفيضانات؛
- قائمة الحظر.
- عرض التنقل في الصفحة<< < ...| 5 | 6 | 7 ... > >>;
- دعم BBCode ؛
- عرض الرموز.
- إخطار الرسائل المضافة الجديدة ؛
- القدرة على إضافة رسائل للاعتدال.
- لوحة الادارة؛
- سهلة التركيب والإعداد.

تثبيت

قم بفك ضغط الأرشيف وانسخ محتويات الأرشيف إلى أي مجلد على خادم الويب (مثل "سجل الزوار"). افتح ملف config / config_db.php بتنسيق محرر النصوحدد إعدادات الاتصال (مضيف قاعدة البيانات أو IP ، واسم قاعدة البيانات ، وتسجيل الدخول وكلمة المرور). ضع جداول قاعدة بيانات MySQL استعلام SQL من ملف guestbook.sql. عادة في معظم الاستضافة يتم ذلك من خلال واجهة الويب عبر phpMyAdmin. انتقل إلى لوحة الإدارة (http: // your_site / folder_with_script / admin /) وأدخل كلمة المرور 1111. بعد ذلك ، حدد الإعدادات الضرورية.

النسخة التجارية

بناءً على طلب العميل ، يمكنني تكييف البرنامج النصي مع شروط محددة. يمكن إضافة العديد من الميزات الإضافية.

ملحوظة

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

إذا أعجبك السيناريو الخاص بي ولديك رغبة في شكري بالروبل ، فإليك تفاصيلي:

ويب موني
U237811811298
R198597198920
Z917380288657

ياندكس المال
41001635943434

باي بال

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

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

2. علاوة على ذلك ، تكتب: "إذا حُكم على الناس على خطاياهم وفقًا لدرجة وعيهم ، فإن الأرثوذكس أنفسهم سيصبحون المذنبين الرئيسيين - وهذا ظلم ومفارقة". لماذا ، هذا عادل وغير متناقض. من يعرف كيف يفعل وماذا يفعل وينتهك الوصية هو بلا شك مذنب أكثر من الذي لا يعرف شيئًا على الإطلاق. وقال الله إن من يعلم ويخطئ سيعاقب أكثر (لوقا 12: 47-48).

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

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

5. أنت تسأل ، ليس بدون سذاجة: "هل تريد أن تخبرني بكل جدية أن مثل هذا الجحيم مهيأ بالعدل للخطاة؟" - بعد أن اختار الشخص العاطفة كمعنى لحياته ، يبقى مع اختيار إرادته. ما هو غير عادل هنا؟ لهذا يجيبك الرسول: "مَنْ هُزِمَ بِمَنْ فَهُوَ عَبْدُهُ أَيْضًا" (2 بط 2: 19).
6. لقد كُتب بالفعل أكثر من كافٍ حول ما يمكن أن يعبر عنه لك "الحب والعدالة".
7. "لماذا لم يُمنح الخطاة مكانًا آخر ولماذا لا يُمنحون الفرصة للتمتع بما كانوا يتمتعون به من قبل أو فرصة ثانية في الجنة". "سوف يترك المذنبون في المكان الذي سيكون اختيار حياتهم. النظريات حول فرصة ثانية ، حياة ثانية ، تناسخ الأرواح ، إلخ ، هي حيل الشيطان لتدمير الناس. نحن نمنح الحياة لشيء آخر غير أن نختار. يرسل الله للجميع كل ما يحتاجه من أجل هذا. ولا يرسل الله الموت إلا عندما يتقرر اختيار الروح. من اختار الشر مرة سيختاره مائة مرة. من يسعى إلى الحق سيختارها في حياته الوحيدة. لن يحظى أي منا بفرصة ثانية ، لأن لا أحد منا سيغتنمها: ستكون لانهائية سيئة من الشر. وليس لدى الله شيء غير لائق. يمكنك أن تقرأ عنها في المقال.
8. "إذا كنت تحب ، فعندئذٍ تقوم بتصويب الشخص عندما يقفز تحت السيارة ، حتى لو قفز بوعي بمحض إرادته." لا يوقفنا الله مرات عديدة في حياتنا فحسب ، بل يوجهنا وينذرنا ويحذرنا بكل الطرق الممكنة من خلال الناس والظروف والكتب ويلهمنا بأفكار جيدة ويوقظ ضمائرنا. الله ، بدافع الحب وحده ، نزل على الأرض ، وسكنها خطاة رهيبون ، ليرحمهم. لقد أصبح إنسانًا ومات في عذاب رهيب على الصليب ليأخذ على عاتقه كل آثامنا ويفتح الطريق أمامنا للفردوس. إنه يدعو الجميع إليه طوال حياته ، ويتوقع منا شيئًا واحدًا فقط: الإرادة الحرة للعيش في الخير والمحبة. لذلك ، سنكون غير قابلين للمساءلة أمامه في الحكم ، بعد أن صححنا مثل هذا الارتفاع من الرحمة.

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

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

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

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

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

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

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

دخول دفتر الزوار

تسجيل الدخول:
كلمة المرور:

تسجيل


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

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

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

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

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

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

انتهيت من قاعدة البيانات. الآن دعنا ننتقل إلى ملف registration.php. تلخيصاً لما سبق ، لدينا:

تسجيل

تسجيل الدخول:
كلمة المرور:
كلمة المرور مرة أخرى:
WWW: http: //


إلى الرئيسية

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

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

$ _POST ["vasa-peta"]

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

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

دفتر الزوار "؛) else (echo" لم تتم إضافة رسالتك!


"; } } ?>
"الاسم =" تسجيل الدخول "/> "الاسم =" كلمة المرور "/>

"؛ صدى" نص: ". $ row [" mes "]."
"؛)) mysql_close (رابط $) ؛؟>

هذا كل شيء في الأساس. إذا كان الرمز يعمل بنسبة 100٪ ، فلا بأس. إذا لم يكن كذلك ، فإنني أنصحك بمحاولة تصحيح الأخطاء بنفسك. الآن القسم الموعود.

عمل مستقل
كما ذكرنا في البداية ، فإن هذا الحل "معوج". إذا كنت لا تزال لا تفهم السبب ، فسأشرح لك الآن. كما لاحظت في ملف book.php في نموذج إضافة تعليق ، هناك عدة حقول مخفية ، اثنان منها هما اسم المستخدم وكلمة المرور التي أدخلها المستخدم. ليس جيد ، أليس كذلك؟ حاول إصلاح هذا القصور باستخدام الجلسات (كيفية التعامل مع الجلسات في PHP).
حاول الإجابة على السؤال ، ما هو الفرق بين الوظائف فارغ / مجموعةو الخروج / الموت?
قم بتعديل الاستعلام لتحديد الرسائل من قاعدة البيانات بحيث يتم عرض الموقع الإلكتروني لمؤلف الرسالة عند عرض الرسائل.
إذا لاحظت ، فسيتم تخزين كلمة مرور المستخدمين في قاعدة البيانات بنص واضح ، وهذا ليس جيدًا. قم بتحرير الكود بحيث يتم تخزين تجزئة كلمة مرور المستخدم في قاعدة البيانات (على سبيل المثال ، MD5 أو SHA1).

في هذا البرنامج التعليمي ، سننشئ سجل زوار بلغة PHP باستخدام AJAX. سيتم تخزين السجلات في قاعدة البيانات. سيحتوي الجدول على المعلومات التالية: اسم المرسل وعنوان البريد الإلكتروني وعنوان IP وتاريخ ووقت الإدخال الأخير. سيتم استخدام jQuery (لتنفيذ AJAX). سيتم أيضًا تنفيذ حماية بسيطة من البريد العشوائي - لا يمكنك نشر أكثر من إدخال واحد كل 10 دقائق.

الخطوة 1: SQL

لكي يعمل تطبيقنا ، نحتاج إلى إنشاء جدول:

إنشاء جدول إذا لم يكن EXISTS `s178_guestbook` (` id` int (10) unsigned NOT NULL auto_increment، `name` varchar (255) default" "،` email` varchar (255) default "" ، "description` varchar (255) افتراضي "" ، `عندما` int (11) NOT NULL افتراضي" 0 "،` ip` varchar (20) افتراضي NULL ، PRIMARY KEY (`id`)) ENGINE = MyISAM DEFAULT CHARSET = utf8؛

الخطوة 2 PHP

سيحتوي الملف الرئيسي على الكود التالي:

سجل الزوار. php

= ") == 1) error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED) ؛ وإلا error_reporting (E_ALL & ~ E_NOTICE) ؛ تتطلب_once (" classes / CMySQL.php ") ؛ // بما في ذلك فئة الخدمة للعمل مع قاعدة البيانات // Get وظيفة IP للزائر getVisitorIP () ($ ip = "0.0.0.0" ؛ إذا ((isset ($ _ SERVER ["HTTP_X_FORWARDED_FOR"])) && (! فارغ ($ _ SERVER ["HTTP_X_FORWARDED_FOR"]))) ($ ip = $ _SERVER ["HTTP_X_FORWARDED_FOR"] ؛) elseif ((isset ($ _ SERVER ["HTTP_CLIENT_IP"])) && (! فارغ ($ _ 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 = date ("F j، Y H: i"، $ aInfo ["when"])؛ $ sRecords. =<<

($ aInfo ["الوصف"])

EOF. ) إرجاع sRecords $؛ ) إذا ($ _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"]))؛ if ($ sName && $ sEmail && $ sDesc && $ sIp) (// Anti-spam $ iOldId = $ GLOBALS ["MySQL"] -> getOne ("حدد` id` من `s178_guestbook` حيث` ip` = "($ sIp) "AND` when`> = UNIX_TIMESTAMP () - 600 LIMIT 1 ") ؛ إذا (! $ iOldId) (// يمكنك إضافة تعليقات $ GLOBALS [" MySQL "] -> res (" INSERT INTO `s178_guestbook` SET` name `=" ($ 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

الفئات / CMySQL.php

يحتوي هذا الملف على رمز الفئة للعمل مع قاعدة البيانات. يتطلب منك إعداد ثلاثة متغيرات للاتصال بالخادم.

$ this-> sDbName = "DATABASE_NAME" ؛ $ this-> sDbUser = "اسم المستخدم" ؛ $ this-> sDbPass = "كلمة المرور" ؛

الخطوة 3 CSS

والآن سنشكل مظهر دفتر الزوار:

css / main.css

* (margin: 0؛ padding: 0؛) body (background-color: #fff؛ color: #fff؛ font: 14px / 1.3 Arial، sans-serif؛) تذييل الصفحة (لون الخلفية: # 212121 ؛ أسفل: 0 ؛ box-shadow: 0-1px 2px # 111111؛ display: block؛ height: 70px؛ left: 0؛ position: Fixed؛ width: 100٪؛ z-index: 100؛) footer h2 (font-size: 22px؛ font- الوزن: عادي ؛ اليسار: 50٪ ؛ الهامش الأيسر: -400 بكسل ؛ المساحة المتروكة: 22 بكسل 0 ؛ الموضع: مطلق ؛ العرض: 540 بكسل ؛) التذييل a.stuts ، a.stuts: تمت زيارته (الحدود: لا شيء ؛ زخرفة النص: لا شيء ؛ اللون: #fcfcfc ؛ حجم الخط: 14 بكسل ؛ يسار: 50٪ ؛ ارتفاع الخط: 31 بكسل ؛ الهامش: 23 بكسل 0 0 110 بكسل ؛ الموضع: مطلق ؛ أعلى: 0 ؛) امتداد تذييل. وزن الخط: غامق ؛ margin-left: 5px ؛) .container (الخلفية: عنوان url شفاف (../ images / book_open.jpg) بدون تكرار أعلى مركز ؛ اللون: # 000000 ؛ الارتفاع: 600 بكسل ؛ الهامش: 20px auto ؛ overflow: hidden؛ padding: 35px 100px؛ position: النسبي؛ العرض: 600px؛) # col1، # col2 (float: left؛ margin: 0 10px؛ overflow: hidden؛ text-align: center؛ width: 280px؛) # col1 (-webkit-transform: rotate (3deg) ؛ -موز-تحويل: تدوير (3deg) ؛ تحويل ms: تدوير (3deg) ؛ -o-تحويل: تدوير (3deg) ؛ ) # نموذج السجلات (margin: 10px 0؛ padding: 10px؛ text-align: left؛) #records table td.label (color: # 000؛ font-size: 13px؛ padding-right: 3px؛ text-align: right ؛) # تسمية جدول السجلات (حجم الخط: 12 بكسل ؛ محاذاة رأسية: وسط ؛) #records table td.field input، #records table td.field textarea (background-color: rgba (255، 255، 255، 0.4) ؛ الحدود: 0 بكسل صلب # 96A6C5 ؛ عائلة الخطوط: Verdana ، Arial ، sans-serif ؛ حجم الخط: 13 بكسل ؛ margin-top: 2px ؛ padding: 6px ؛ العرض: 190px ؛) #records table td.field input (background) -اللون: rgba (200 ، 200 ، 200 ، 0.4) ؛ المؤشر: المؤشر ؛ عائم: يمين ؛ العرض: 100 بكسل ؛) #records table td.field input: 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. بي أتش بي

  • 2

    إكمال المحاسبة القائمة على الويب / SAAS وتخطيط موارد المؤسسات مع كود المصدر الكامل! بي أتش بي& قائم على MySQL ، هذا البرنامج حديث تمامًا وسريع الاستجابة ، ويستخدم bootstrap و MVC Architecture! يتم تضمين جميع وظائف المحاسبة وتخطيط موارد المؤسسات الأساسية ، GL ، AR ، AP ، OE ، Inv ، التخزين ، 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

    البرق الذكية بي أتش بي IDE. بي أتش بيالعاصفة تتفهم بعمق التعليمات البرمجية الخاصة بك. بي أتش بي Storm مثالي للعمل مع Symfony و Laravel و Drupal و WordPress و Zend Framework و Magento و Joomla !، Cake بي أتش بيو Yii وأطر أخرى. في الواقع "يحصل" المحرر على الكود الخاص بك ويفهم بعمق هيكلها ، ويدعم كل بي أتش بيميزات اللغة للمشاريع الحديثة والقديمة. إنه يوفر أفضل إكمال للكود ، وإعادة البناء ، ومنع الأخطاء أثناء الطيران ، والمزيد. حقق أقصى استفادة من الحافة الأمامية ...

  • 19

    أحدث التقنيات ، بي أتش بيو JS و jQuery و HTML5 و Bootstrp و Codeigniter مع نمط ترميز HMVC. مظاهر سريعة الاستجابة لتجربة مستخدم سلسة وشاملة من خلال إدارة شكل وأسلوب ثابت لموقعك عبر الأجهزة. نحن نأخذ الأمان على محمل الجد ونعمل على دعم منتجنا ببرنامج Security Bounty لتشجيع الكشف المسؤول من قبل الباحثين. من خلال تقنيتنا المبسطة ، نمنحك مستوى غير مسبوق من التحكم. سهل الاستخدام وسريع وسهل الفهم والإدارة.

  • 20


تحميل...
قمة