Hamada Ahmed نشر 10 نوفمبر 2021 أرسل تقرير نشر 10 نوفمبر 2021 السلام عليكم ورحمة الله وبركاته , في الكود التالي وسوم meta للكلمات المفتاحية والوصف , أواجه مشكلة ظهور هذا الوصف في أعلى الصفحة في الخادم المحلي على المتصفح , و ليكن في العلم , أن نفس المشكلة لا تظهر في ذات الصفحة بذات المتصفح على الإستضافة . ما إحتمالية المشكلة ؟ و ماذا يقترح كحل لها ؟ <head> <?php include('connect_file.php');?> <?php if( isset($_GET['topics']) ) : ?> <?php $gettopics= intval($_GET['topics']); $stmt = $db->prepare('SELECT * FROM news where id = ?'); $stmt->bind_param('i', $gettopics ); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); ?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="icon" type="image/ico" href="images/favicon.ico"/> <title> موقع ...... | <?= $row['title'] ?> </title> <?php function myFilter($var) { return mb_strlen($var, 'UTF-8') > 2; } $keywords = explode(' ', $row['title']); $keywords = array_filter($keywords,"myFilter"); $keywords = array_unique($keywords); $keywords = implode(' ,', $keywords); ?> <meta name="keywords" content="<?=$keywords ?>" /> <meta name="description" content="<?= $description = substr(''.$row['news_content'].'', 0, 1000); ?>"> <?php else : ?> <title> موقع ....... </title> <?php endif; ?> <style type="text/css"> <!-- --> </style> </head> 1 اقتباس
1 Adnane Kadri نشر 10 نوفمبر 2021 أرسل تقرير نشر 10 نوفمبر 2021 بتاريخ 3 ساعات قال Hamada Ahmed: قمت باضافة حقل للوصف بالجدول- قبل الارسال يتم اقتصاص جزء من المحتوى وتحويله الى نص ويتم تخزينة بهذه الصورة $description = strip_tags(substr(''.$_REQUEST['news_content'].'', 0, 1000)); ويكون كود الوصف كالتالي <meta name="description" content="<?=''.$row['description'].'' ?>"> هل برأيك الطريقة جيد ام لا - قمت بتجربتها ونجحت بالفعل لكن احتاج الى رأيك قد أحسنت , هاته الطريقة عملية جدا . وذلك لكون هاته المعلومات معلومات وصفية . أي أنها لا يجدر أن تظهر في الصفحة و إنما لأغراض أخرى مثل تحسين محركات البحث أو تحسين الظهور . فعوضا عن طباعة HTML يقترح فلترة المحتوى و استخراج النصوص من محتوى الـ html فقط . خصوصا في حالات من مثل الحاجة إلى هذا الحقل في أغراض أخرى , مثال : وجود حقل واحد للمقالة و لوصف صفحة المقالة في جدول المقالات في قواعد البيانات . أي أن كل محتوى كالتالي : <p style="text-align:center;"> هاته فقرة تخص وصف الصفحة </p> <h2> هذا عنوان يخص وصف الصفحة أيضا</h2> يصبح : هاته فقرة تخص وصف الصفحة هذا عنوان يخص وصف الصفحة أيضا ليمكن إستيعابها في الخاصية content كالتالي : <meta name="description" content=" هاته فقرة تخص وصف الصفحة هذا عنوان يخص وصف الصفحة أيضا" > مما يعني أنه هذا لن يسبب المشكلة السابقة . يمكنك إنشاء دالة للفلترة و تحويل كل محتوى html إلى محتوى نصي بمنطق مشابه : $text = '<p style="text-align"> هاته فقرة </p> <h2> هذا عنوان </h2>'; $cleaner_input = strip_tags($text); echo $cleaner_input; وهو نفس ما اقترحته سابقا . 1 اقتباس
1 Adnane Kadri نشر 10 نوفمبر 2021 أرسل تقرير نشر 10 نوفمبر 2021 عموما , لا توجد أي مشكلة بالشيفرة التي لديك . يحتمل أن يكون الإختلاف الذي يظهر بين ما هو الخادم المحلي و ما هو على المستضيف هو أحد التالي : عدم إحتواء قواعد البيانات الخاصة بك على أي صفوف مدرجة بجدول topics بالمعرف المدرج في رابط الصفحة كـ : ?topics=23 يعني هذا إعادة الإستعلام الذي لديك لمصفوفة فارغة . و بالتالي عدم إمكانية قراءة الخواص news_content و title من ناتج الإستعلام . يؤدي هذا بدوره إلى نتيجة مشابهة للتالي : <meta name="keywords" content=" " /> <meta name="description" content=" "> الإحتمال الاخر هو في عدم إحتواء رابط الصفحة على معامل بالإسم topics أساسا , فبدل أن تقوم بتصفح رابط الصفحة عن طريق : https://domain.dm/path/to/my_page.php?topics=22 أنت تقوم بالتصفح إليه كالتالي : https://domain.dm/path/to/my_page.php يعني هذا تجاوز الشرط : <?php if( isset($_GET['topics']) ) : ?> و كل ما يقتضيه , و المرور مباشرة إلى شطر العبارة الشرطية الاخر : <?php else : ?> <title> موقع ....... </title> <?php endif; ?> مما يؤدي إلى عدم ظهور الوصف و الكلمات المفتاحية . لتجاوز هاته المشكلة , يقترح تصدير قواعد البيانات التي لديك على الخادم المحلي و إستيرادها في خادمك المستضيف . يقترح جانبا التأكد من أن الإتصال بقواعد البيانات يتم بشكل عادي , و من أن الجدول الذي تحاول القراءة من عليه يحوي بشكل عادي صفوفا يمكن القراءة منها . 1 اقتباس
1 Adnane Kadri نشر 10 نوفمبر 2021 أرسل تقرير نشر 10 نوفمبر 2021 بتاريخ منذ ساعة مضت قال Hamada Ahmed: ربما لم تفهم قصدي بشكل دقيق فانا اقصد ان description يظهر في المتصفح من المفترض ان يكون مختفي ولا يظهر للزوار والصور توضح لك ذلك هذه الصورة للموقع بالوسم keywords فقط <meta name="keywords" content="<?=$keywords ?>" /> والصورة التالية بالوسمين معا description , keywords __________ <meta name="keywords" content="<?=$keywords ?>" /> <meta name="description" content="<?= $description = substr(''.$row['news_content'].'', 0, 1000); ?>"> ومصدر الصفحة بعد اضافة الوسمين كالتالي أي ان المشكلة ليست فى وسم الكلمات المفتاحية انما المشكلة في وسم الوصف _ لاحظ انني اقتطع جزء من محتوى الموضوع لكي يظهر فى الوصف لكنة يظهر اعلى هيدر الصفحة والطبيعي الا يظهر كذلك مثل الكلمات المفتاحية التي لم تظهر اثناء التصفح ليكن في العلم أن محتوى الخاصية content يقبل نصا فقط , في حين أنك تقوم بتقديم محتوى HTML إليه . لاحظ : <meta name="description" content="<p style="text-align:center;"" و بسبب علامتي التنصيص المفتوحتين في : content="<p style="text-align:center;">" ^ ^ فإن المتصفح يقوم بقراءة ما يقدم له كمحتوى HTML عادي , و بطبيعة الحال فإن هذا سيؤدي إلى ظهوره في الصفحة كـ HTML عادي . يحتمل أنك تقوم بإستعمال محرر نصوص لتحرير نص الوصف عن طريق لوحة التحكم , تأكد أنك لا تقوم بذلك , و أن الحقل news_content محتوى نصي فقط و لا يحوي أية وسوم أو عناصر HTML . يمكنك كحل لهاته المشكلة إلغاء تفعيل محرر النصوص الذي تستعمله على مدخل هذا الحقل في مكان ما بلوحة التحكم أين تقوم بتحديث نص الوصف . يحتمل أيضا أنك تقوم بإستهداف حقل غير الذي تقوم بتخزين المحتوى النصي فيه . تأكد من كل من السابق و أخبرني ما إن استمرت مشكلتك بالظهور . 1 اقتباس
0 شرف الدين حفني نشر 10 نوفمبر 2021 أرسل تقرير نشر 10 نوفمبر 2021 برجاء الذهاب إلى قاعدة البيانات وعمل export وثم إرفاق الملف الناتج من عملية الexport اقتباس
0 Hamada Ahmed نشر 10 نوفمبر 2021 الكاتب أرسل تقرير نشر 10 نوفمبر 2021 (معدل) بتاريخ 3 ساعات قال Adnane Kadri: عموما , لا توجد أي مشكلة بالشيفرة التي لديك . يحتمل أن يكون الإختلاف الذي يظهر بين ما هو الخادم المحلي و ما هو على المستضيف هو أحد التالي : عدم إحتواء قواعد البيانات الخاصة بك على أي صفوف مدرجة بجدول topics بالمعرف المدرج في رابط الصفحة كـ : ?topics=23 يعني هذا إعادة الإستعلام الذي لديك لمصفوفة فارغة . و بالتالي عدم إمكانية قراءة الخواص news_content و title من ناتج الإستعلام . يؤدي هذا بدوره إلى نتيجة مشابهة للتالي : <meta name="keywords" content=" " /> <meta name="description" content=" "> الإحتمال الاخر هو في عدم إحتواء رابط الصفحة على معامل بالإسم topics أساسا , فبدل أن تقوم بتصفح رابط الصفحة عن طريق : https://domain.dm/path/to/my_page.php?topics=22 أنت تقوم بالتصفح إليه كالتالي : https://domain.dm/path/to/my_page.php يعني هذا تجاوز الشرط : <?php if( isset($_GET['topics']) ) : ?> و كل ما يقتضيه , و المرور مباشرة إلى شطر العبارة الشرطية الاخر : <?php else : ?> <title> موقع ....... </title> <?php endif; ?> مما يؤدي إلى عدم ظهور الوصف و الكلمات المفتاحية . لتجاوز هاته المشكلة , يقترح تصدير قواعد البيانات التي لديك على الخادم المحلي و إستيرادها في خادمك المستضيف . يقترح جانبا التأكد من أن الإتصال بقواعد البيانات يتم بشكل عادي , و من أن الجدول الذي تحاول القراءة من عليه يحوي بشكل عادي صفوفا يمكن القراءة منها . ربما لم تفهم قصدي بشكل دقيق فانا اقصد ان description يظهر في المتصفح من المفترض ان يكون مختفي ولا يظهر للزوار والصور توضح لك ذلك هذه الصورة للموقع بالوسم keywords فقط <meta name="keywords" content="<?=$keywords ?>" /> والصورة التالية بالوسمين معا description , keywords __________ <meta name="keywords" content="<?=$keywords ?>" /> <meta name="description" content="<?= $description = substr(''.$row['news_content'].'', 0, 1000); ?>"> ومصدر الصفحة بعد اضافة الوسمين كالتالي أي ان المشكلة ليست فى وسم الكلمات المفتاحية انما المشكلة في وسم الوصف _ لاحظ انني اقتطع جزء من محتوى الموضوع لكي يظهر فى الوصف لكنة يظهر اعلى هيدر الصفحة والطبيعي الا يظهر كذلك مثل الكلمات المفتاحية التي لم تظهر اثناء التصفح تم التعديل في 10 نوفمبر 2021 بواسطة Hamada Ahmed 1 اقتباس
0 Hamada Ahmed نشر 10 نوفمبر 2021 الكاتب أرسل تقرير نشر 10 نوفمبر 2021 (معدل) بتاريخ 2 ساعات قال Adnane Kadri: ليكن في العلم أن محتوى الخاصية content يقبل نصا فقط , في حين أنك تقوم بتقديم محتوى HTML إليه . لاحظ : <meta name="description" content="<p style="text-align:center;"" و بسبب علامتي التنصيص المفتوحتين في : content="<p style="text-align:center;">" ^ ^ فإن المتصفح يقوم بقراءة ما يقدم له كمحتوى HTML عادي , و بطبيعة الحال فإن هذا سيؤدي إلى ظهوره في الصفحة كـ HTML عادي . يحتمل أنك تقوم بإستعمال محرر نصوص لتحرير نص الوصف عن طريق لوحة التحكم , تأكد أنك لا تقوم بذلك , و أن الحقل news_content محتوى نصي فقط و لا يحوي أية وسوم أو عناصر HTML . يمكنك كحل لهاته المشكلة إلغاء تفعيل محرر النصوص الذي تستعمله على مدخل هذا الحقل في مكان ما بلوحة التحكم أين تقوم بتحديث نص الوصف . يحتمل أيضا أنك تقوم بإستهداف حقل غير الذي تقوم بتخزين المحتوى النصي فيه . تأكد من كل من السابق و أخبرني ما إن استمرت مشكلتك بالظهور . قمت باضافة حقل للوصف بالجدول- قبل الارسال يتم اقتصاص جزء من المحتوى وتحويله الى نص ويتم تخزينة بهذه الصورة $description = strip_tags(substr(''.$_REQUEST['news_content'].'', 0, 1000)); ويكون كود الوصف كالتالي <meta name="description" content="<?=''.$row['description'].'' ?>"> هل برأيك الطريقة جيد ام لا - قمت بتجربتها ونجحت بالفعل لكن احتاج الى رأيك تم التعديل في 10 نوفمبر 2021 بواسطة Hamada Ahmed 1 اقتباس
السؤال
Hamada Ahmed
السلام عليكم ورحمة الله وبركاته ,
في الكود التالي وسوم meta للكلمات المفتاحية والوصف ,
أواجه مشكلة ظهور هذا الوصف في أعلى الصفحة في الخادم المحلي على المتصفح ,
و ليكن في العلم , أن نفس المشكلة لا تظهر في ذات الصفحة بذات المتصفح على الإستضافة .
ما إحتمالية المشكلة ؟ و ماذا يقترح كحل لها ؟
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.