php / ניווט באתר בעזרת PHP / האלטרנטיבה
האלטרנטיבה
הנה דוגמה קלה. אתם מעונינים להציב שני קישורים בתחתית הדף, אחד מצביע על
העמוד הקודם, השני על העמוד הבא. כמובן שאתם לא מעונינים בקישור לעמוד
הקודם לדף הראשון ולעמוד הבא לדף האחרון.
קל, לא? ובכן, לא בהכרח. ב-XSSI מה שעליכם לעשות הוא לתת לכל דף HTML
שם כגון page_1.html, page_2.html
וכן הלאה. אחר כך עליכם לבצע משהו כזה:
<!--#if expr="$REQUEST_URI = /_1.html/" -->
<a href="page_2.html">next</a>
<!--#elif expr="$REQUEST_URI = /_2.html/" -->
<a href="page_1.html">previous</a> |
<a href="page_3.html">next</a>
<!--#elif expr="$REQUEST_URI = /_3.html/" -->
<a href="page_2.html">previous</a> |
<a href="page_4.html">next</a>
<!--#elif expr="$REQUEST_URI = /_4.html/" -->
<a href="page_3.html">previous</a> |
<a href="page_5.html">next</a>
<!--#elif expr="$REQUEST_URI = /_5.html/" -->
<a href="page_4.html">previous</a>
<!--#else -->
<b> this should never appear:
REQUEST_URI=[<!--#echo var="REQUEST_URI" -->]
</b>
<!--#endif -->
הבעיה היא שהשיטה הזו מסורבלת, יקרה ולא ממש גמישה. אתם יכולים ליצור את
הניווט באתר ע"י שימוש בג'אוה סקריפט:
<script language='Javascript'>
// normally, you'd probably include this value from somewhere
var max_page = 3;
var page_num = 1, next_page = 0, prev_page;0=
var partial_path = '';
page_num = Number(location.pathname.substring(
location.pathname.lastIndexOf('_')+1,
location.pathname.indexOf('.html')
));
partial_path = location.pathname.substring(
1,
location.pathname.lastIndexOf('_')
);
next_page = page_num + 1;
prev_page = page_num - 1;
if (page_num > 1 ) {
document.writeln('<a href="/'
+ partial_path
+ '_'
+ prev_page
+ '.html">previous</a>');
if (page_num < max_page) {
document.writeln('|'); }
}
if (page_num < max_page ) {
document.writeln('<a href="/'
+ partial_path
+ '_'
+ next_page
+ '.html">next</a>');
}
</script>
הקוד הזה יעבוד נפלא, עד שמישהו בלי תמיכה בג'אוה סקריפט ינסה להיכנס לאתר
שלכם. לדוגמא, נניח, רובוט של מנוע חיפוש, או אני, כותב ביקורת על האתר שלך
תוך כדי שימוש ב Lynx (כן, כן, אני חנון). מבאס.
חוץ מזה, שג'אוה סקריפט עשויה לשרוף את תאי המוח של מחשב המשתמש. אתם
עשויים לחשוב שזו לא ממש בעיה, היום בעולם המחשבים החזקים כשור, אבל
תאמינו לי, זו בעיה.
עמוד הבא: דרך ה-PHP >>
|