בעיה..

Crow4U

New member
בעיה..

יש לי Windows Xp Professional + IIS 5.0 התקנתי עליו Php.. אך ישנם בעיות.. קודים שעבדו לי על שרתים חינמיים עכשיו מביאים לי שגיאות.. לדוגמא..
<? if ($_GET['page']=="") { $page = "main.htm"; } else { $page = $_GET['page']; } ?​
הקוד הזה שבעבר לא היו לי איתו בעיות, עכשיו הוא מביאי לי את השגיאה הבאה:
Undefined index: page c:........ line 2​
שורה שניה היא:
if ($_GET['page']=="") {​
מה הבעיה? זו רק אחת הבעיות.. יש עוד הרבה.. האם זה קרה לעוד אנשים או רק לי? תודה מראש.
 

kensaggy

New member
זאת מכיוון ש...

זאת מכיוון שהגדרת הצגת השגיאות שונה בין השרתים. השרת שלך פשוט מוגדר להציג את כל השגיאות כנראה (דבר שלפי דעתי הוא טוב) אם אתה רוצה לכבות את זה, error_reporting(0); אבל אם אתה רוצה לתקן באמת את הטעות (הרעיון הטוב יותר) עליך קודם לבדוק כי התא באמת קיים במערך לפני שאתה בודק את ערכו. השתמש בפונק' isset על מנת לבדוק אם הוא קיים. (ניתן לשלב את הבדיקה באותו שורה מבלי לגרום לשגיאה.) בהצלחה,חן.
 

Crow4U

New member
תודה ועוד משהו..

אוקיי הבעיה הזאתי נפתרה..
עכשיו יש משהו אחר.. יש לי באתר קישורים כאלה למשל
<a href="index.php?page=news.htm">חדשות</a><br> <a href="index.php"page=contact/index.php">צרו קשר</a>​
עכשיו מה שאני עושה זה שלוחצים על קישור זה מקבל את הערך של ה page משורת הכתובת ומכליל את הקובץ.. הבעיה שלי היא כזו.. לפעמים אני לוחץ על קישור והכל עובד טוב ויפה.. אבל לפעמים אני לוחץ על אותו קישור וזה כותב לי שגיאה
The directory name is invalid​
וזה ממש מוזר.. פעם זה עובד ופעם זה לא? אפשר לקבל
?
 

N i X

New member
בעית אבטחה חמורה../images/Emo70.gif

אל תסמוך על קלט מהמשתפש אף פעם! אני מניח שאתה עושה לאחר מכן
include($page);​
מה שמאפשר למשתמש לגשת לקובץ הphp שלך כך:
bla.php?page=c:/windows/admin.pwl​
ולקבל את הקובץ... לא חבל? ;)
 

Crow4U

New member
אל תדאג..

זו לא מערכת שאני הולך להשתמש בה.. רק נתתי דוגמא לסקריפט הזה.. אממ יש לך רעיונות לפיתרון הבעיה?
 

N i X

New member
לעשות רשימה

של העמודים ה"מורשים" ולבדוק שהמשתנה page, מכיל עמוד "מורשה". אפשר לעשות עם בסיס נתונים, או סתם switch, תלוי מה גודל האתר...
 

Crow4U

New member
בעיה נוספת

לפעמים שאני נכנס לדף מסוים בשרת שלי ואז אני מרענן את הדף אני מקבל שגיאה הדף לא נמצא ואחרי שאני מרענן עוד כמה פעמים זה מציג לי את הדף מה הבעיה?
 

Crow4U

New member
זה קורה רק על ה IIS שלי

הבעיה הזאתי מופיע רק ב IIS שלי ורק בקבצי PHP מישהו?
 
למעלה