include שהשתגע

IceL

New member
include שהשתגע

לאחר שתיקנתי את הבעית ה-SQL, התפנתי לבעיה הבאה, באותו הקוד (מצורף): אני מקבל את הודעת השגיאה הזאת -
Warning: main($PHP_SELF\inc\header.inc): failed to open stream: No such file or directory in c:\inetpub\wwwroot\action\reg_a.php on line 10 Warning: main(): Failed opening '$PHP_SELF\inc\header.inc' for inclusion (include_path='.;c:\php4\pear') in c:\inetpub\wwwroot\action\reg_a.php on line 10 Warning: main($PHP_SELF\inc\footer.inc): failed to open stream: No such file or directory in c:\inetpub\wwwroot\action\reg_a.php on line 35 Warning: main(): Failed opening '$PHP_SELF\inc\footer.inc' for inclusion (include_path='.;c:\php4\pear') in c:\inetpub\wwwroot\action\reg_a.php on line 35​
מה הבעיה?
 

זאינאל

New member
כמובן

שמת משתנה ($PHP_SELF( אבל עטפת את המחרוזת בגרשים בודדים שמונעים מ-PHP לפרש את התוכן של המשתנה. כך PHP מנסה לפתוח קובץ שבאמת נקרא PHP_SELF$/משהו.
 

IceL

New member
גם...

כששמתי אותו בין גרשיים
include ("$PHP_SELF\inc\header.inc");​
וגם כשהורדתי אותו בכלל
include ("\inc\header.inc");​
זה עדיין נותן הודעת שגיאה...
 

theG

New member
תנדוק מה $PHP-SELF מחזיר

עפ"י מה שאני יודע הוא מחזיר את שם הסקריפט ... כלומר אם תעשה ECHO שלו מ ה INDEX.PHP תקבל את ה PATH ל אינדקס כולל האינדקס!!! לכן שימוש ב PHP-SELF לא יכול לעשוזר לך ב INCLUDES. אתה יכול פשוט להשתמש במיקום היחסי של העמוד ע"י "../../" בהצלחה גיא
 

IceL

New member
זה בדיוק...

מה שעשיתי בהתחלה. התקיה הראשית היא /. בתוכה יש ספרית INC ובתוכה הקבצים של ה-include. לכן הנתיב הוא:
/inc/file.name​
אבל זה עדיין לא אבד. מה לא בסדר בזה:
include('/inc/iheader.inc');​
 

theG

New member
אתה בטוח שהסקריפט שאתה עובד עליו

אנא רשום 1. את המיקום המלא של הסקריפט שממנו אתה מבצע את ה אינקלוד 2. את המיקום המלא FULL PATH של קבציי האינקלוד 3. את פקודת האינקלוד שכתבת. אוליי זה יאיר את עינינו מעט. גיא
 

IceL

New member
אז ככה:

סיפריה ראשית: C:\Inetpub\wwwroot ספריה בה נמצא הקובץ reg_a.php: C:\Inetpub\wwwroot\action ספריה בה נמצאים קבצי ה-include: C:\Inetpub\wwwroot\inc פקודת ה-include:
include ('\inc\header.inc');​
הקוד המלא מצורף גם הוא.
 

theG

New member
אז ככה

יש לך ספריית שורש, ולה שניי ענפים ACTION ו INC אתה מנסה לבצע אינקלוד מקובץ שנמצא ב INC לתוך ACTION לכן מתוך ACTION עלייך ללכת ספריה אחת אחורה ואז INC\ לדעתי כל שעלייך לעשות זה להוסיף שתיי נקודות לפניי הסלש שלפניי ה INC כלומר \INC\.. מקווה שאני צודק גיא
 
למעלה