سؤال

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

<? header('Content-type: text/xml'); ?>
 
<?php
$dbhost = "localhost"; // almost always localhost.
$dbname = "links"; // Database Name
$dbuser = "root"; // Database Username
$dbpass = "password"; // Databse Password
 
$connect = mysql_connect("$dbhost","$dbuser","$dbpass");// Connecting to Database
mysql_select_db($dbname) or die (mysql_error()); // Selecting Database
?> 
 
<rss version="2.0">
<channel>
    <title> </title>
    <description> </description>
    <link></link>

<?
$sql = "SELECT * FROM news limit 5";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
?>
 
<item>
     <title><?=$row['title']; ?></title>
     <author><?=$row['author']; ?></author>
     <link>http://MYSITE.com/news.php?id=<?=$row['id']; ?></link>
</item>
 
<?
}
?>
 
</channel>
</rss>
هل كانت مفيدة؟

المحلول

بعض الأشياء التي يجب تجربتها:

  1. تحقق من السجلات.
  2. نقل المكالمة إلى header() إلى الأعلى، قبل الإخراج.
  3. مسح ال <blockquote> العلامات.
  4. إضافة تعليمات المعالجة (<?xml version="1.0"?>) في الأعلى، قبل <rss> عنصر.
  5. غير ال content-type رأس من text/xml ل application/xml.

نصائح أخرى

عند يمكنني نسخ هذا الرمز والتغيير حول إعدادات الخلية لاستخدام قاعدة بيانات موجود بالفعل لإعداد نظري MAMP، وهذا يعمل بشكل جيد بالنسبة لي، مع 0 البنود منذ لا وجود الجدول في DB. وبعبارة أخرى، يبدو أن هناك شيئا خطأ مع الإعداد MAMP، وليس التعليمات البرمجية. هل أنت متأكد تماما من أن خادم MySQL الخاص بك يعمل بنظام وكان لديك المعلومات الصحيحة لربط لذلك؟

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

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

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

وأنا استخدم feedcreator http://feedcreator.org/ للحصول على كل ما عندي من الجيل RSS تحت PHP. عموما أنا تجد أنه من الأسهل لاستخدام المكتبة. نشرت لي مثالا هنا .

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top