הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   יצירת RSS (https://hosts.co.il/forums/showthread.php?t=86507)

Insane 29-11-10 22:55

יצירת RSS
 
אהלן,
אני מנסה ליצור RSS עבור האתר שלי, האתר בנוי ב- PHP.
לא ממש הבנתי איך ניתן לשלב RSS + PHP.
כשאני כותב בכותרת של ה- item ב-RSS בעברית, הוא לא מציג לי כלום, שגיאה.
אבל כשאני כותב באנגלית, הוא מראה הכל בסדר.

rss.php:
קוד:

<?xml version="1.0" encoding="windows-1255" ?>
<rss version="2.0">
<channel>

<title>כותרת</title>
<description>תיאור</description>
<link>לינק</link>

<?
include('xxx.php');
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$top3 = "SELECT * FROM `xxx` ORDER BY xx DESC LIMIT 0, 20";
$new3 = mysql_query($top3) or die(mysql_error());
while($rows3 = mysql_fetch_array($new3)){
?>

                        <item>
                        <title>כותרת</title>
                        <link>לינק</link>
                        <description>תיאור</description>
                        <pubDate>תאריך</pubDate>
                        <category>קטגוריה</category>
                        <author>מפרסם</author>
                        </item>

<?php
}
?>
 
</channel>
</rss>

תודה רבה לעוזרים :)

DanielHay 29-11-10 23:46

אתה צריך להציב
דוגמא:
קוד:

$rows3['title']
בכותרת.
בכל מקרה אם אתה לא מסתדר קח איזה מדריך.
http://www.webreference.com/authorin.../custom_feeds/

בניה 29-11-10 23:57

שגיאת PHP או הדפדפן מראה שגיאת פיענוח XML?
תכתוב פה את השגיאה ותראה את הפלט של הקוד שלך

Insane 30-11-10 00:30

DanielHay מדריך מסובך מידי.
מכיר אולי משהו יותר פשוט?

הקוד שאני משתמש בו נמצא למעלה.
השגיאה:
קוד:

Parse error: syntax error, unexpected T_STRING in /home/xxx/domains/xxx/public_html/rss.php on line 1

solcito 30-11-10 01:50

הסימן שאלה בהתחלה (לפני המילה xml) מחשיבה אותו כפתיחה לקוד PHP....

2 פתרונות שחשבתי עליהן עכשיו (כי יש יותר מ-2):
1) לשים את השורה הראשונה בתוך echo
2) להשתמש בשפת תבניות (smarty וכדו'...)

Insane 30-11-10 02:07

ציטוט:

נכתב במקור על ידי solcito (פרסם 787541)
הסימן שאלה בהתחלה (לפני המילה xml) מחשיבה אותו כפתיחה לקוד PHP....

2 פתרונות שחשבתי עליהן עכשיו (כי יש יותר מ-2):
1) לשים את השורה הראשונה בתוך echo
2) להשתמש בשפת תבניות (smarty וכדו'...)

שמתי את השורה ב echo:
קוד:

<?php echp '<?xml version="1.0" encoding="windows-1255" ?>'; ?>
מציג את השגיאה:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/xxx/domains/xxx/public_html/rss.php on line 1

ומה זה שפת תבנית smarty, איך זה יעזור לי?

בניה 30-11-10 08:26

אחי שמע זו בעיה.
אלו שגיאות הכי בסיסיות בPHP, שפשוט יש לך שגיאת כתיב ואם אתה לא יודע איך להתמודד איתם אתה צריך לחזור לבסיס.
שמת לב שלא כתבת echo כמו שצריך אלא echp?

קוד:

<?php echp '<?xml version="1.0" encoding="windows-1255" ?>'; ?>

Insane 30-11-10 11:45

טעות שלי.

הקוד המעודכן:

קוד:

<?php echo '<?xml version="1.0" encoding="windows-1255" ?>'; ?>
<rss version="2.0">
<channel>

<title>כותרת</title>
<description>תיאור</description>
<link>לינק</link>

<?
include('xxx.php');
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$top3 = "SELECT * FROM `xxx` ORDER BY xxx DESC LIMIT 0, 20";
$new3 = mysql_query($top3) or die(mysql_error());
while($rows3 = mysql_fetch_array($new3)){
?>

                        <item>
                        <title><? echo stripslashes($rows3['like']); ?></title>
                        <link>לינק</link>
                        <description>תיאור</description>
                        <pubDate>תאריך</pubDate>
                        <category>קטגוריה</category>
                        <author>מפרסם</author>
                        </item>

<?php
}
?>
 
</channel>
</rss>

ב- IE מציג: שגיאת קוד הזנה.

solcito 30-11-10 16:54

אולי יש לך תווים לא חוקיים כמו &.
תשים כאן את הפלט של ה- view source

Insane 01-12-10 10:47

הצלחתי.
הוא לא הציג כלום בגלל שהתווים היו בג'יבריש ריבועים.
אז עשיתי:
קוד:

$title = iconv("Windows-1255","UTF-8",urldecode($rows3['title']));


כל הזמנים הם GMT +2. הזמן כעת הוא 23:43.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ