كود HTML لإضافة التعليقات من قبل المستخدمين. نظام تعليق بسيط باستخدام AJAX. ما هو تنسيق الترميز الأفضل للاستخدام؟

💖 هل يعجبك؟شارك الرابط مع أصدقائك

وفقًا لبحث أجرته شركة تنفيذ إدارة علاقات العملاء C5Insight، فإن 38% في المتوسط ​​من عمليات تكامل إدارة علاقات العملاء في الأعمال التجارية تؤدي إلى نتائج أقل من التوقعات. السبب ليس منتجًا سيئًا لتكنولوجيا المعلومات، ولكن حقيقة أن الشركات لا تعرف كيفية تنفيذ إدارة علاقات العملاء (CRM) بشكل صحيح، وترتكب الأخطاء وتخسر ​​استثماراتها في النهاية.

ولكن إذا كان الانتقال إلى إدارة علاقات العملاء ناجحا، فإن الاستثمار سيؤتي ثماره أكثر من 5 مرات. وفقًا لدراسة أجرتها شركة التحليلات Nucleus Research، فإن كل دولار يتم استثماره في CRM يحقق ربحًا قدره 5.6 دولار.

عائد الاستثمار في منتج CRM للأعمال وفقًا لشركة التحليلات Nucleus Research في عام 2011.

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

مراحل التنفيذ

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

1. وصف العمليات التجارية

نظرًا لأن نظام CRM يسمح لك بتحسين العمليات الحالية وأتمتتها، فأنت بحاجة أولاً إلى وصفها. ستشكل هذه البيانات الأساس لإعدادات البرنامج:

  • ما هو هيكل الشركة؟ كيف يتم توزيع الناس بين الأقسام؟ كيف يتم توزيع المهام بين الموظفين؟
  • من هم عملاء الشركة؟ ، كيف ؟
  • ما هي خوارزمية التفاعل مع العملاء؟
  • كيف تعمل مع ولاء العملاء؟ كيف يتم التسويق بشكل عام؟
  • ما هي تلك المستخدمة عادة في الشركة؟

2. وضع المواصفات الفنية

بمجرد وصف العمليات التجارية، يجب تحليل نقاط الضعف. بعد كل شيء، يتم تنفيذ البرنامج للقضاء عليهم.

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

3. تشكيل خريطة الإعدادات

تم وصف العمليات التجارية، وتم تحديد المشكلات، والآن تحتاج إلى معرفة كيفية "التغلب عليها" باستخدام النظام: ما هي العمليات التي يمكن تحسينها وتسريعها وأتمتتها. على سبيل المثال، يمكنك أتمتة الفواتير، وما إلى ذلك.

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

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

4. إعداد CRM واستيرادها وتكاملها

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

5. تدريب الموظفين

لا فائدة من معرفة كيفية تنفيذ إدارة علاقات العملاء في الشركة إذا كان الموظفون لا يستطيعون العمل معها بكفاءة. إدارة علاقات العملاء هي مجرد أداة لا تحقق ربحًا في حد ذاتها، لذلك من المهم أن نشرح للموظفين ما هو هذا البرنامج غير المفهوم، ولماذا من المهم جدًا تسجيل البيانات بعناية حول العملاء والمعاملات فيه في كل مرحلة من مراحل العمل.

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

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

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

لماذا لم تنجح؟ نحن نحلل أخطاء التنفيذ

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

1. الاستعجال في المراحل الأولى للتنفيذ

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

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

2. عدم كفاية قدرات التكامل

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

وفقا لأبحاث C5Insight، فإن أكثر من ذلك برامج مختلفةالمستخدمة في الشركة، وأسوأ نتائج التنفيذ. الحقيقة هي أن المعلومات في الخدمات المختلفة غير متزامنة، ويجب عليك تكرار نفس المعلومات يدويًا في العديد من البرامج، على سبيل المثال، في CRM وAccounting 1C. ونتيجة لذلك، يتم إهدار الكثير من الوقت، وتظهر الأخطاء في البيانات، وتتوقف التقارير عن "قول" الحقيقة.

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

وفقًا لـ C5Insight، يشير 35% من مستخدمي CRM إلى أن تكامل البرامج يمثل تحديًا رئيسيًا عند الانتقال إلى حلول CRM. وإذا كان النظام الذي تختاره لا يدعم، من حيث المبدأ، عمليات التكامل الضرورية، فستصبح هذه الصعوبة قاتلة.

3. ضعف تدريب الموظفين

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

بدلا من الاستنتاج

هناك مبدأ معروف: 40% من تأثير التكامل يتم تحقيقه من خلال التخطيط السليم، و20% من خلال استخدام التقنيات المناسبة، و40% من خلال . لذلك، من أجل تجنب الأخطاء عند تنفيذ منتج تكنولوجيا المعلومات، تصرف "بشعور، وحس، وتخطيط"، ولن تستغرق النتيجة وقتًا طويلاً للوصول.

اريد معرفة المزيد؟ هل أنت مستعد للبدء في تنفيذ نظام إدارة علاقات العملاء (CRM)؟ الخامس برنامج مناسبالآن، سيقوم المتخصصون لدينا بالاتصال بك وتقديم المشورة لك بشأن جميع أسئلتك.

الخطوة 1 – XHTML

أولاً، دعونا نلقي نظرة على علامة التعليق. يتم إنشاء هذا الرمز بواسطة PHP مع الفئة تعليق .

تجريبي.php

اسم المستخدم
30 يونيو 2010

نص التعليق

شعبة الصورة الرمزية يحتوي على رابط (إذا أدخل المستخدم عنوان URL الصحيح عند نشر تعليق) وصورة رمزية نحصل عليها من موقع gravatar.com. سنعود إلى إنشاء الترميز في خطوة PHP. وأخيرا اتبع شعبة اسم شعبة وقت ونص التعليق.

عنصر آخر مهم في XHTML هو نموذج التعليق. تم إرسالها معها بريد. يجب إكمال جميع الحقول باستثناء عنوان URL.

تجريبي.php

اضف تعليق

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

الخطوة 2 - PHP

PHP يتعامل مع الاتصال بقاعدة البيانات بيانات ماي إس كيو إلويولد ترميز للتعليق. كما يتلقى أيضًا نهاية طلب AJAX ويدرج بيانات التعليق في الجدول تعليقات.

تجريبي.php

/* / حدد جميع التعليقات واملأ مصفوفة التعليقات $ بالكائنات */ $comments = array(); $result = mysql_query("اختر * من التعليقات ORDER BY id ASC"); بينما($row = mysql_fetch_assoc($result)) ( $comments = تعليق جديد($row);)

يحدد استعلام MySQL جميع السجلات من الجدول ويملأ المصفوفة تعليقات $كائنات الطبقة تعليق. يتم إخراج هذه المصفوفة بشكل أكبر عند تنفيذ البرنامج النصي.

تجريبي.php

/* / طباعة التعليقات واحدًا تلو الآخر: */ foreach($comments as $c)( echo $c->markup(); )

كل تعليق له طريقة وضع علامة على()، الذي يولد HTML الصحيحالكود جاهز للعرض على الصفحة. فيما يلي تعريفات الفئة والطريقة.

يحصل الفصل على صف من قاعدة البيانات (تم الحصول عليه باستخدام mysql_fetch_assoc()) ويخزنها في متغير بيانات $. وهي متاحة فقط لطريقة الفصل.

comment.class.php - الجزء الأول

تعليق الفئة (بيانات خاصة $=صفيف(); وظيفة عامة __construct($row) ( /* / Constructor */ $this->data = $row;) علامة الوظيفة العامة() ( /* / هذه الطريقةيُخرج ترميز XHTML للتعليق */ // قم بتعيين اسم مستعار حتى لا نضطر إلى كتابة $this->data في كل مرة: $d = &$this->data; $link_open = ""; $link_Close = ""; if($d["url"])( // إذا تم إدخال عنوان URL عند إضافة تعليق، // حدد علامتي الفتح والإغلاق للرابط $link_open = ""; $link_ Close = ""; ) // تحويل الوقت لتنسيق UNIX: $d["dt"] = strtotime($d["dt"]); // مطلوب لتعيين الصورة الافتراضية: $url = "http://".dirname($_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"])."/img/default_avatar.gif"; يعود "
".$link_open." ".$link_Close."
".$link_open.$d["name"].$link_ Close."
".date("d M Y",$d["dt"])."

".$d["body"]."

"; }

يستخدم البرنامج النصي gravatar لتمثيل الصورة الرمزية في التعليقات. Gravatar هي خدمة مفيدة جدًا تقوم بمطابقة الصورة الرمزية مع عنوان البريد الإلكتروني. يمكن الحصول على الصورة الرمزية بسهولة عن طريق تمرير الوظيفة المشفرة MD5()عنوان بريدك الإلكتروني على gravatar.com.

يحدد البرنامج النصي عنوان URL الذي يتم تنفيذه فيه ويحدد العنوان الدقيق للصورة default_avatar.gif. يتم إرسال هذه الصورة بالتوازي مع تجزئة md5، وإذا لم يتم العثور على صورة رمزية لعنوان البريد الإلكتروني المرسل، فسيتم عرض صورة بديلة.

comment.class.php - الجزء 2

public static function validate(&$arr) ( /* / تُستخدم هذه الطريقة للتحقق من صحة البيانات المرسلة عبر AJAX. // تُرجع صواب/خطأ اعتمادًا على صحة البيانات، وتملأ / مصفوفة $arr، التي تم تمريرها كمعلمة تحتوي إما على بيانات أو رسالة خطأ.*/ $errors = array(); $data = array(); // استخدم وظيفة filter_input المقدمة في PHP 5.2.0 if(!($data["email"] = filter_input(INPUT_POST,"email ",FILTER_VALIDATE_EMAIL))) ( $errors["email"] = "الرجاء إدخال بريد إلكتروني صالح."; ) if(!($data["url"] = filter_input(INPUT_POST,"url" ,FILTER_VALIDATE_URL))) ( // إذا تم إدخال عنوان URL غير صحيح في حقل عنوان URL، // تصرف كما لو لم يتم إدخال عنوان URL: $url = ""; ) // استخدم مرشحًا مع وظيفة رد الاتصال: if(! ($data["body"] = filter_input(INPUT_POST,"body",FILTER_CALLBACK,array("options"=>"Comment::validate_text")))) ( $errors["body"] = "الرجاء إدخال التعليق text."; ) if(!( $data["name"] = filter_input(INPUT_POST,"name",FILTER_CALLBACK,array("options"=>"Comment::validate_text"))))) ( $errors["name" "] = "الرجاء إدخال الاسم. "; ) if(!empty($errors))( // إذا كانت هناك أخطاء، فانسخ مصفوفة $errors إلى $arr: $arr = $errors; return false;) // إذا تم إدخال البيانات بشكل صحيح، فامسح البيانات و انسخه إلى $arr : foreach($data as $k=>$v)( $arr[$k] = mysql_real_escape_string($v);) // يجب أن يكون البريد الإلكتروني بأحرف صغيرة: $arr["email"] = strtolower (trim($ arr["email"])); عودة صحيحة؛ )

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

تستخدم الطريقة ميزة جديدةعامل التصفية، الذي أصبح متاحًا في بي إتش بي 5.2.0. بهذه الطريقة يمكننا بسهولة فحص وتصفية البيانات التي يتم تمريرها إلى البرنامج النصي. على سبيل المثال، filter_input(INPUT_POST,'url',FILTER_VALIDATE_URL)يعني أننا نتحقق مما إذا كان $_POST["url"]عنوان URL الصحيح. إذا كان الأمر كذلك، فإن الدالة ترجع قيمة المتغير، وإلا فإنها ترجع القيمة خطأ شنيع.

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

من الممكن أيضًا تحديد الوظيفة التي ستقوم بإجراء تعديلات إضافية على البيانات.

comment.class.php - الجزء 3

وظيفة ثابتة خاصة validate_text($str) ( /* / يتم استخدام هذه الطريقة كـ FILTER_CALLBACK */ if(mb_strlen($str,"utf8")<1) return false; // Кодируем все رموز خاصةلغة البرمجة (<, >، "، & .. إلخ) وتحويل // حرف السطر الجديد إلى علامة
: $str = nl2br(htmlspecialchars($str)); // إزالة أي أسطر جديدة متبقية $str = str_replace(array(chr(10),chr(13)),"",$str); إرجاع $str; )

الطريقة الأخيرة validate_textتم تمريرها كدالة إرجاع في مكالمتين filter_input. فهو يحول كل شيء خاص أحرف HTML، والذي يمنع بشكل فعال هجمات XSS. كما أنه يستبدل الأسطر الجديدة بالعلامات
.

إرسال.php

/* / سيتم ملء هذا المصفوفة إما بالبيانات / التي تم تمريرها إلى البرنامج النصي، أو / أو رسائل الخطأ. /*/ $arr = array(); $validates = Comment::validate($arr); if($validates) ( /* كل شيء على ما يرام، أدخل البيانات في قاعدة البيانات: */ mysql_query(" INSERT INTO comments(name,url,email,body) VALUES ("".$arr["name"]." ", "".$arr["url"].", "".$arr["email"].", "".$arr["body"]."")"); $arr["dt "] = date("r",time()); $arr["id"] = mysql_insert_id(); /* / البيانات الموجودة في $arr مُجهزة لاستعلام mysql، / لكننا بحاجة إلى إخراجها إلى الشاشة ، لذلك / قم بإعداد جميع العناصر في المصفوفة: /*/ $arr = array_map("stripslashes",$arr); $insertedComment = new Comment($arr); /* إخراج ترميز التعليق المدرج حديثًا: */ echo json_encode(array("status "=>1,"html"=>$insertedComment->markup())); ) else ( /* عرض رسائل الخطأ */ echo "("status":0,"errors": .json_encode($arr )")"; )

إرسال.phpيحصل على تعليق من البيانات عبر طلب AJAX. يتحقق من صحته ويخرج كائن JSON يحتوي إما على علامة XHTML مع إدراج تعليق، أو قائمة بالأخطاء. يستخدم jQuery الخاصية حالةلتحديد ما يجب إخراجه - إما رسالة خطأ أو إضافة علامة تعليق إلى الصفحة.

فيما يلي مثالان.

استجابة ناجحة

( "الحالة": 1، "html": "يظهر هنا كود HTML الخاص بالتعليق..." )

ملكية لغة البرمجةيحتوي على رمز التعليق.

استجابة الخطأ

( "الحالة": 0، "أخطاء": ( "البريد الإلكتروني": "الرجاء إدخال بريد إلكتروني صالح."، "النص": "الرجاء إدخال نص التعليق."، "الاسم": "الرجاء إدخال اسم.") )

إذا كان هناك خطأ، فإن jQuery يتكرر عبر كائن الأخطاء ويعرض الرسائل بجوار الحقول التي تحتوي على أخطاء.

الخطوة 3 - CSS

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

style.css - الجزء الأول

.comment, #addCommentContainer( /* نمط التعليقات */ الحشو:12px; العرض:400px; الموضع:نسبي; لون الخلفية:#fcfcfc; الحدود:1px أبيض خالص; اللون:#888; الهامش السفلي:25px; / * الزوايا والظلال الدائرية في CSS3 */ -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; -moz-box-shadow:2px 2px 0 #c2c2c2; -webkit-box- Shadow:2px 2px 0 #c2c2c2; box-shadow:2px 2px 0 #c2c2c2; ) .comment .avatar( /* / تم وضع الصورة الرمزية بشكل مطلق. / الإزاحة الخارجية لقسم التعليق /*/ height:50px; left:- 70 بكسل؛ الموضع: مطلق؛ العرض: 50 بكسل؛ الخلفية: url("img/default_avatar.gif") بدون تكرار #fcfcfc; /* المركز عموديًا: */ هامش أعلى:-25px; أعلى:50%; -moz- box-shadow :1px 1px 0 #c2c2c2; -webkit-box-shadow:1px 1px 0 #c2c2c2; box-shadow:1px 1px 0 #c2c2c2; )

شعبة .تعليق و #addCommentContainer لها نفس النمط. يستخدم العديد من قواعد CSS3 لتقريب الزوايا وعكس الظلال.

style.css - الجزء الثاني

.comment .avatar img(display:block;) .comment .name(font-size:20px;padding-bottom:10px;color:#ccc;) .comment .date(font-size:10px;padding:6px 0; الموضع: مطلق؛ يمين: 15 بكسل؛ أعلى: 10 بكسل؛ اللون: #bbb؛ ) .comment p، #addCommentContainer p (font-size:18px; line-height:1.5; overflow-x:hidden;) #addCommentContainer input, # addCommentContainer textarea( / * نمط الإدخال * / العرض: كتلة؛ الحدود: 1 بكسل صلب #ccc؛ الهامش: 5 بكسل 0 5 بكسل؛ الحشو: 3 بكسل؛ حجم الخط: 12 بكسل؛ اللون: #555؛ عائلة الخط: Arial، Helvetica، sans -serif; ) #addCommentContainer textarea( width:300px; ) label( Font-size:10px; ) labelspan.error( color:red; Position:relative; right:-10px; ) #submit( /* زر الإرسال " * / لون الخلفية: #58B9EB؛ الحدود: 1 بكسل صلب #40A2D4؛ اللون: #FFFFFF؛ المؤشر: المؤشر؛ عائلة الخط: "Myriad Pro"، Arial، Helvetica، sans-serif؛ حجم الخط: 14 بكسل؛ وزن الخط :غامق؛ الحشو: 4 بكسل؛ الهامش العلوي: 5 بكسل؛ -moz-border-radius: 4px؛ -webkit-border-radius:4px؛ border-radius:4px; ) #submit:hover(background-color:# 80cdf5; لون الحدود:#52b1e2; )

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

الخطوة 4 - مسج

الآن دعنا ننتقل إلى jQuery.

script.js

$(document).ready(function())( /* يتم تنفيذ التعليمات البرمجية التالية فقط بعد تحميل DOM */ /* تمنع هذه العلامة إرسال تعليقات متعددة: */ var Working = false; /* التقاط النموذج حدث الإرسال: */ $(" #addCommentForm").submit(function(e)( e.preventDefault(); if(working) return false; Working = true; $("#submit").val("Working. ."); $("span .error").remove(); /* إرسال حقول النموذج إلى Submit.php: */ $.post("submit.php",$(this).serialize(),function( msg)( Working = false; $ ("#submit").val("Submit"); if(msg.status)( /* / إذا كان الإدراج ناجحًا، أضف تعليقًا / أسفل آخر تعليق في الصفحة مع تأثير SlideDown /*/ $(msg.html).hide ().insertBefore("#addCommentContainer").slideDown(); $("#body").val(""); ) else ( /* / If هناك أخطاء، قم بالتكرار عبر الكائن / msg.errors واعرضها على الصفحة /*/ $.each(msg.errors,function(k,v)( $("label").append(" "+الخامس+""); )); ) ),"json"); )); ));

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

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

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

مستعد!

خاتمة

لتشغيل البرنامج النصي على الخادم الخاص بك، تحتاج إلى إنشاء جدول تعليقات في قاعدة بيانات MySQL الخاصة بك. يمكنك القيام بذلك باستخدام كود SQL من ملف table.sqlوالتي يجب إدخالها في علامة تبويب SQL في phpMyAdmin. فأنت بحاجة إلى تعيين معلمات الاتصال لقاعدة بيانات MySQL في الملف Connect.php .

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

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

تعليقات الفيسبوك: إيجابيات وسلبيات

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

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

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

ربما تكون هنا جميع إيجابيات وسلبيات تعليقات الفيسبوك.

إذا لم تكن قد غيرت رأيك بعد بشأن تثبيتها على موقع WordPress الخاص بك، فاقرأ أدناه حول كيفية القيام بذلك.

ملحق تعليقات الفيسبوك لـ WordPress

أولاً، قم بتثبيت وتفعيل البرنامج المساعد تعليقات الفيسبوكوقم بتكوينه في القائمة التي تظهر في قسم الإعدادات → تعليقات Facebook.


للبدء في استخدام التعليقات على الموقع، عليك أولاً إنشاء تطبيق فيسبوك.

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

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

ستظهر نافذة جديدة تحتاج إلى النقر عليها موقع إلكترونيواخترها كمنصة لك.

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

احفظ التغييرات، وانسخ معرف التطبيق وضعه في إعدادات المكونات الإضافية لموقعك.

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

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

يمكنك الآن اختبار ما إذا كان نظام التعليق الجديد يعمل بشكل صحيح على موقعك.

تعليق الاعتدال

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

يمكنك أيضًا إضافة مشرف جديد في الإعدادات:

نأمل أن يكون هذا الدليل قد وفّر لك الوضوح وساعدك في إعداد تعليقات Facebook لموقعك غير التابع لـ WordPres بنفسك.

هذه المرة قمنا بإنشاء نظام تعليق AJAX بسيط. سيوضح هذا كيفية تحقيق قابلية التشغيل البيني الفعالة بين JQuery وPHP/MySQL باستخدام JSON. يعمل النظام بحيث يتم وضع التعليقات المضافة على الصفحة دون إعادة تحميلها بالكامل، مما يعطي الشعور بأن الموقع يعمل فقط على جهاز الكمبيوتر الخاص بالمستخدم، وبالتالي تجنب الحاجة إلى الانتظار لبعض الوقت لإعادة تحميل الصفحة بالتعليق المضاف .

فيما يلي عرض توضيحي تقريبي لما نخطط لتنفيذه:

الخطوة 1 – XHTML

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

تجريبي.php

اسم
30 يوليو 2010

تعليق

يحتوي Div الخاص بفئة الصورة الرمزية على ارتباط تشعبي يتوافق مع الصورة الرمزية (إذا حدد المستخدم رابطًا صالحًا للصورة الرمزية عند إرسال تعليق)، على سبيل المثال من gravatar.com. حسنًا، سوف نعود إلى هذا عندما نعمل مع PHP. أخيرًا، لدينا الاسم والوقت أيضًا في DIVs، بالإضافة إلى التعليق، أي النص نفسه في الفقرة.

عنصر آخر مهم في جزء XHTML هو نموذج إرسال التعليق نفسه (جميع الحقول باستثناء حقل عنوان URL مطلوبة).

تجريبي.php

اضف تعليق

الخطوة 2 - PHP

تتعامل لغة PHP مع الاتصالات بقاعدة بيانات MySQL وتقوم بإنشاء علامات التعليق. بالإضافة إلى ذلك، يتم استخدام AJAX في النهاية ويقوم بإدراج تعليق في جدول التعليقات. يمكنك رؤية الكود الذي يعرض التعليقات على الصفحة أدناه.

Demo.php /* / حدد كافة التعليقات واملأ مصفوفة التعليقات $ */ $comments = array(); $result = mysql_query("اختر * من التعليقات ORDER BY id ASC"); بينما($row = mysql_fetch_assoc($result)) ( $comments = تعليق جديد($row);)

يقوم استعلام MySQL بجلب كافة الإدخالات من قاعدة البيانات وملء مصفوفة التعليقات $ بكائن فئة التعليق الذي تراه أدناه. يتم إخراج هذه المصفوفة بعد تنفيذ البرنامج النصي.

Demo.php /* / عرض التعليقات واحدًا تلو الآخر */ foreach($comments as $c)( echo $c->markup(); )

يحتوي كل تعليق على طريقة Markup()، والتي تقوم بإنشاء كود HTML لطباعة الصفحة. يمكنك رؤية هذه الطريقة والفئة أدناه.

يأخذ الفصل سلسلة من قاعدة البيانات (تم جلبها باستخدام mysql_fetch_assoc()) ويخزنها في متغير البيانات $. إنه متاح فقط لطرق هذه الفئة ولا يمكن الوصول إليه من الخارج.

Comment.class.php - تعليق فئة الخطوة الأولى ( بيانات $ خاصة = مصفوفة ()؛ وظيفة عامة __construct($row) ( /* / Constructor */ $this->data = $row; ) علامة الوظيفة العامة () ( / */ تُخرج هذه الطريقة تعليق ترميز XHTML */ // أنشئ اسمًا مستعارًا حتى لا نضطر إلى الكتابة // $this->بيانات البيانات في كل مرة: $d = &$this->data; $link_open = "" ; $link_clus = ""; if($d["url"])( // إذا قام الشخص بملء عنوان URL عند // إضافة تعليق // حدد الارتباط التشعبي $link_open = ""; $link_clouse = ""; ) // تحويل الوقت $d[ "dt"] = strtotime($d["dt"]); // مطلوب لصور Gravatar الافتراضية: $url = "http://".dirname($_SERVER["SERVER_NAME" ].$_SERVER["REQUEST_URI "])."/img/default_avatar.gif"; return "

".$link_open." ".$link_Close."
".$link_open.$d["name"].$link_ Close."

".$d["body"]."

"; }

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

لاحظ في السطر 39 أعلاه - يحاول البرنامج النصي معرفة عنوان URL الموجود عليه ويحدد العنوان الدقيق لصورة default_avatar.gif. يتم إرسال ملف GIF هذا إلى Gravatar باستخدام تجزئة md5، لذلك إذا تم العثور على صورة رمزية على عنوان البريد الإلكتروني هذا، فسيتم عرض صورة مخزنة احتياطية بدلاً من ذلك.

Comment.class.php - الخطوة 2 التحقق من صحة الوظيفة الثابتة العامة (&$arr) ( /* / تُستخدم هذه الطريقة للتحقق من صحة البيانات / التي تم تمريرها عبر AJAX. // يُرجع هذا صحيحًا/خطأ اعتمادًا على أن البيانات صالحة، وهي كذلك مملوء / يتم تمرير المصفوفة $arr كمعامل / (لاحظ علامة الضم أعلاه) / إما إدخال بيانات صالحة أو رسائل خطأ.*/ $errors = array(); $data = array(); // استخدام وظيفة filter_input تم تقديمه في PHP 5.2.0 if(!($data["email"] = filter_input(INPUT_POST,"email",FILTER_VALIDATE_EMAIL))) ( $errors["email"] = "الرجاء إدخال بريد إلكتروني صالح. "; ) if (!($data["url"] = filter_input(INPUT_POST,"url",FILTER_VALIDATE_URL))) ( // إذا كان حقل URL لا يتطابق مع عنوان URL الخاطئ $url = ""; ) // استخدام المرشحات المخصصة / / وظيفة رد الاتصال: if(!($data["body"] = filter_input(INPUT_POST,"body",FILTER_CALLBACK, array("options"=>"Comment::validate_text"))))) ( $errors[ "body" ] = "خطأ في التعليق."; ) if(!($data["name"] = filter_input(INPUT_POST,"name",FILTER_CALLBACK, array("options"=>"Comment::validate_text"))))) ( $errors["name"] = " خطأ في الاسم."; ) if(!empty($errors))( // إذا كانت هناك أخطاء، فاكتب $errors في المصفوفة $arr: $arr = $errors; return false; ) foreach($data as $k= >$ v)( $arr[$k] = mysql_real_escape_string($v); ) // تأكد من أن رسائل البريد الإلكتروني مكتوبة بأحرف صغيرة // (لتجزئة Gravatar الصحيحة): $arr["email"] = strtolower(trim( $arr[ "البريد الإلكتروني"])); عودة صحيحة؛ )

يتم تعريف التحقق من الصحة () على أنه ثابت بالطريقة الموضحة أعلاه. هذا يعني أنه يمكن استدعاؤه كـ Comment::validate() مباشرة، دون الحاجة إلى إنشاء كائن من تلك الفئة. لا تتحقق هذه الطريقة من صحة الإدخال المقدم عبر AJAX.

تستخدم هذه الطريقة وظائف التصفية الجديدة المتوفرة في PHP 5.2.0. يتيح لنا ذلك التحقق من صحة وتصفية أي مدخلات يتم تمريرها إلى البرنامج النصي بسهولة. على سبيل المثال، filter_input(INPUT_POST, "URL", FILTER_VALIDATE_URL) يعني أننا نتحقق من أن $_POST["url"] هو عنوان URL صالح. إذا كان الأمر كذلك، فإن الدالة ترجع قيمة المتغير، وإلا تكون الإرجاعات خاطئة.

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

لدينا أيضًا القدرة على تحديد وظيفة مخصصة ستقوم بتطبيق بعض التعديلات الأكثر تقدمًا على البيانات، كما هو موضح في السطرين 31 و37.

Comment.class.php - الخطوة 3 وظيفة ثابتة خاصة validate_text($str) ( /* / يتم استخدام هذه الطريقة داخليًا كـ FILTER_CALLBACK */ if(mb_strlen($str,"utf8") , ", إلخ..) وتحويل / / الخطوط الجديدة ل
العلامات: $str = nl2br(htmlspecialchars($str)); // إزالة أي أسطر جديدة متبقية $str = str_replace(array(chr(10),chr(13)),"",$str); إرجاع $str; )

الطريقة الأخيرة هي validate_text، والتي نمررها كدالة رد اتصال. إنه يفلت من جميع أحرف HTML الخاصة، ويقضي بشكل فعال على هجمات XSS منها. كما أنه يستبدل سلاسل الأحرف بـ
خطوط.

Submit.php /* / سيتم ملء هذا المصفوفة إما / البيانات التي تم إرسالها إلى البرنامج النصي أو / رسائل الخطأ: /*/ $arr = array(); $validates = Comment::validate($arr); if($validates) ( /* كل شيء على ما يرام، أدخله في قاعدة البيانات: */ mysql_query(" INSERT INTO comments(name,url,email,body) VALUES ("".$arr["name"]."" , " ".$arr["url"].", "".$arr["email"].", "".$arr["body"]."")"); $arr["dt" ] = date("r",time()); $arr["id"] = mysql_insert_id(); /* / البيانات في استعلام إدراج $arr، / لكن النص غير مُفلت، / لذلك نستخدم الخطوط المائلة / لجميع عناصر المصفوفة : /*/ $arr = array_map("stripslashes",$arr); $insertedComment = new Comment($arr); /* ترميز الإخراج */ echo json_encode(array("status"=>1, "html" => $insertedComment->markup())); ) else ( /* عرض رسائل الخطأ */ echo "("status":0,"errors":.json_encode($arr).")"; )

يتلقى Submit.php بيانات التعليق كطلب AJAX. فهو يتحقق منه وينتج كائن JSON، إما علامة XHTML التي تم عرضها بنجاح، أو قائمة برسائل الخطأ. يستخدم JQuery حالة الملكية لتحديد ما إذا كان يجب عرض رسائل الخطأ أو إضافة تعليق ترميز الصفحة.

يمكنك رؤية مثالين أدناه.

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

التعليقات في HTML

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

التعليقات في CSS

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

/* بداية كتلة بأنماط للجسم*/ body ( الخلفية: #efeded؛ عائلة الخط: Verdana، Helvetica، sans-serif؛ حجم الخط: 12px؛ الهامش: 0px؛ الحشو: 0px؛ ) /* نهاية كتلة تحتوي على أنماط للجسم*/

التعليقات في PHP

يمكن أن تكون التعليقات في PHP أحادية السطر أو متعددة الأسطر:

1) يتم إنشاء التعليقات ذات السطر الواحد في PHP باستخدام الأحرف: //. ما عليك سوى وضع هذا الحرف أمام السطر وسيتم التعليق عليه، ويستخدم هذا الخيار في حالة أن التعليق يتكون من سطر واحد فقط.

2) لتنفيذ التعليقات متعددة الأسطر، يتم استخدام الرموز التالية: /* و */. يكون هذا الخيار مفيدًا إذا كان التعليق يمتد لعدة أسطر.

لذلك تعلمنا أن نفعل



أخبر الأصدقاء