הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 15-03-06, 11:51   # 1
-roee-
חבר על
 
מיני פרופיל
תאריך הצטרפות: Nov 2005
מיקום: IL
הודעות: 864

-roee- לא מחובר  

נתקעתי במשהו שאני בונה [ ARRAY ] + [ GET ]

שלום,

אני בונה איזה משהו ועשיתי לו מין מודולים... בכל מודל יש משהו אחר. (לדוגמא: חדשות, הורדות וכו..)

כדי לבדוק מה המודל שהמשתמש בחר יש לי את הקוד הזה:
PHP קוד:
 $act = array(
news => "news"
); 
if(
$_GET["act"] == "")
{
$act "news";
}
require 
"./modules/{$act}.php"

מתואר בקוד שאם לא נבחר מודל ( ACT ) אז המודל שהוא בוחר זה מודל news..
לפי הקוד, הכתובת שאמורה להיות אם בוחרים במודל news היא: index.php?act=news
עד לפה הכל בסדר.. אבל נגיד שמישהו בוחר לראות את הכתבה המורחבת שהכתובת שלה היא: index.php?act=news&op=full&id=1 אז הוא כבר מציג את השגיאה הזאת:


ציטוט:
ציטוט:
Warning: main(./modules/Array.php): failed to open stream: No such file or directory in /home/*******/domains/*******/public_html/portal/index.php on line 94

Warning: main(./modules/Array.php): failed to open stream: No such file or directory in /home/*******/domains/*******/public_html/portal/index.php on line 94

Fatal error: main(): Failed opening required './modules/Array.php' (include_path='.:/usr/local/lib/php') in /home/*******/domains/*******/public_html/portal/index.php on line 94



לפי קובץ index.php, שורה 94 היא:

PHP קוד:
 require "./modules/{$act}.php"


מקווה שתעזרו לי, תודה.
__________________
בברכה,
רועי
  Reply With Quote
ישן 15-03-06, 11:53   # 2
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

PHP קוד:
$act = array( 'news' => "news");  
if(
$_GET["act"] == "") { 
    
$act "news"

require 
"./modules/".$act.".php"
תנסה את זה, למרות שאין פה שינויים קריטים..אבל תנסה ונמשיך משם...

עריכה:
אה...יא מסטול.....אתה קורא למשתנה עצמו שבעצם אתה צריך למערך שלו....לדוגמא:
PHP קוד:
require "./modules/".$act[$_GET["act"]].".php"
ובקוד עצמו אתה צריך לשנות את התנאי
PHP קוד:
if($_GET["act"] == "") { 
    
$act "news"

ל

PHP קוד:
if($_GET["act"] == "") { 
    
$_GET["act"]= "news"

אקיצר הקוד צריך להיות ככה:
PHP קוד:
$act = array( 'news' => "news");  
if(
$_GET["act"] == "") { 
    
$_GET["act"] = "news"

require 
"./modules/".$act[$_GET["act"]].".php"
הצעה, עדיף לך את $_GET["act"] לשים במשתנה מסויים....ואותו לשים במערך.

עוד הצעה, אתה צריך לעשות בדיקה שקיים במערך מה ששמים ב$_GET["act"] כי אז זה ינסה לייבא קובץ .php וזה יעשה שגיאה כל עוד אין קובץ כזה או שזה יעשה שגיאה במערך עצמו, לא זוכר..
  Reply With Quote
ישן 15-03-06, 12:36   # 3
-roee-
חבר על
 
מיני פרופיל
תאריך הצטרפות: Nov 2005
מיקום: IL
הודעות: 864

-roee- לא מחובר  

תודה

עכשיו אין שגיאה אבל זה עדיין לא עובד
__________________
בברכה,
רועי
  Reply With Quote
ישן 15-03-06, 12:46   # 4
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

ציטוט:
נכתב במקור על ידי bigsmoke
תודה

עכשיו אין שגיאה אבל זה עדיין לא עובד
לא יודע למה.....תבדוק אצלך אם זה בסדר......אתה הבאת פה קוד ממש קטן...שהוא בסדר....
הבעיה צריכה להיות בקובץ השני.
  Reply With Quote
ישן 15-03-06, 13:00   # 5
-roee-
חבר על
 
מיני פרופיל
תאריך הצטרפות: Nov 2005
מיקום: IL
הודעות: 864

-roee- לא מחובר  

PHP קוד:
$act $_GET["act"];

$choice = array(
                
'news'       =>   "news"
                
);

if (!isset(
$choice[$act])) {
    
$act "news";
}

require 
"./modules/{$choice[$act]}.php"
האם יש בעיה בקוד?
__________________
בברכה,
רועי
  Reply With Quote
ישן 15-03-06, 13:01   # 6
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

ציטוט:
נכתב במקור על ידי bigsmoke
PHP קוד:
$act $_GET["act"];

$choice = array(
                
'news'       =>   "news"
                
);

if (!isset(
$choice[$act])) {
    
$act "news";
}

require 
"./modules/{$choice[$act]}.php"
האם יש בעיה בקוד?
בהסתכלות ראשונית, לא....
אם יש, תגיד מה השגיאה.
אגב, במקום הisset אתה יכול להשתמש בזה:
array_key_exists
סתם לידע כללי..
  Reply With Quote
ישן 15-03-06, 20:22   # 7
Unknown
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 36
הודעות: 189

Unknown לא מחובר  

המלצה לא להשתמש בצורה הזאת בחיים
תמיד תגביל למילים שיכולים לרשום בGET
אם לא, אז יכולים לפרוץ לך את הקוד בעזרת הזרקות בכתובת
תעשה IF או CASE לכל אפשרות שיכולה להיות לACT
  Reply With Quote
ישן 15-03-06, 20:52   # 8
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

ציטוט:
נכתב במקור על ידי Unknown
המלצה לא להשתמש בצורה הזאת בחיים
תמיד תגביל למילים שיכולים לרשום בGET
אם לא, אז יכולים לפרוץ לך את הקוד בעזרת הזרקות בכתובת
תעשה IF או CASE לכל אפשרות שיכולה להיות לACT
יופי שאתה מבין, כנראה מה שאתה לא יודע, שאתה...פשוט לא יודע...כי זה מה שהוא עשה, הוא הגביל את האפשרויות והוא בודק אם מה ששמו בact היא אחת מהאפשרויות ואם לא..אז הוא מחליף את act......חבל שמשתמשים שלא יודעים סתם מדברים, באמת חבל.....ואם אתה יודע...אז זה פשוט עצוב.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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