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

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

Tyler 28-07-13 18:02

ציטוט:

נכתב במקור על ידי אבי בר (פרסם 880177)
הבעיה שלך ואני יודע שאתה לא מצפה לתשובה כזאת, שכל הקוד שלך שגוי פשוט, כל הכבוד שאתה מנסה ללמוד ואתה בדרך הנכונה.
אבל פשוט לא ככה נראה תיכנות של אתר.
כמו שאמרו מומלץ לעבור לmvc אבל אני מנחש שאתה לא באמת מתכוון ללמוד את זה.
אז לפחות תתחיל לקרוא עוד קצת חומרים ותנסה שוב מהתחלה, ככה לומדים.

בכל מקרה אם הלכת על קוד ספגטי לפחות תעשה סדר בין הhtml לphp
ולא ברור למה אתה מכניס הכול למשתנה content?
עשית סלט שלם

המשתנה content כבר מובנה בעצם בכל האתר, ככה זה מצמצם לי את העבודה. בכל דף באתר אני מכניס אותו ועליו אני מכניס את הPHP של העיצוב העליון של האתר, מתחתיו אני מכניס את העיצוב התחתון של האתר, ואז בעצם אני לא צריך להתחיל לכתוב כל דף מהתחלה באתר, אלא רק להכניס למשתנה וזהו.

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

אבי בר 28-07-13 19:31

ציטוט:

נכתב במקור על ידי Tyler (פרסם 880185)
המשתנה content כבר מובנה בעצם בכל האתר, ככה זה מצמצם לי את העבודה. בכל דף באתר אני מכניס אותו ועליו אני מכניס את הPHP של העיצוב העליון של האתר, מתחתיו אני מכניס את העיצוב התחתון של האתר, ואז בעצם אני לא צריך להתחיל לכתוב כל דף מהתחלה באתר, אלא רק להכניס למשתנה וזהו.

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

כי לא ככה עושים אחי, באמת כל הכבוד על היצירתיות אבל תלמד קצת oop לפחות אם לא על mvc
ותתחיל מההתחלה.

אם כבר אתה הולך קוד בסגנון הזה אז תעשה משהו כזה
תיצור לך 2 קבצים חדשים header.php - בתוכו תשים את הלמעלה של האתר.
footer.php בתוכו תשים את הלמטה של האתר.
עכשיו בקובץ login.php תעשה משהו כזה:
include header.php
<form>
טופס התחברות
</form>
include footer.php

ככה בכל הקבצים של האתר.

Tyler 28-07-13 20:02

ציטוט:

נכתב במקור על ידי אבי בר (פרסם 880192)
כי לא ככה עושים אחי, באמת כל הכבוד על היצירתיות אבל תלמד קצת oop לפחות אם לא על mvc
ותתחיל מההתחלה.

אם כבר אתה הולך קוד בסגנון הזה אז תעשה משהו כזה
תיצור לך 2 קבצים חדשים header.php - בתוכו תשים את הלמעלה של האתר.
footer.php בתוכו תשים את הלמטה של האתר.
עכשיו בקובץ login.php תעשה משהו כזה:
include header.php
<form>
טופס התחברות
</form>
include footer.php

ככה בכל הקבצים של האתר.

שמע אני מבין, אתה לא הראשון שאומר לי שהקוד על הפנים וחובבני ועלוב ודפוק ועדיף לכתוב מהתחלה וכו'.
אני פשוט תקוע איתו כבר מספר ימים אם לא שבוע, וקשה לי עכשיו לזרוק הכל לפח ולהתחיל מ0, אתה מבין?

תודה על העזרה שלך אבל הרעיון שהבאת בעצם לא פותר שום דבר.. אתה מציע במקום להכניס בקובץ הHTML הראישי include login.php או את הקוד עצמו, אתה פשוט מציע להכנס לlogin.php להציב סביבו את כל קודי הHTML של העיצוב

ככה או ככה ייצא את אותו הקוד ב2 הדרכים, ואותו קוד לא עובד.
אוףףףף לפעמים נמאס מזה

אבי בר 28-07-13 20:33

ציטוט:

נכתב במקור על ידי Tyler (פרסם 880194)
שמע אני מבין, אתה לא הראשון שאומר לי שהקוד על הפנים וחובבני ועלוב ודפוק ועדיף לכתוב מהתחלה וכו'.
אני פשוט תקוע איתו כבר מספר ימים אם לא שבוע, וקשה לי עכשיו לזרוק הכל לפח ולהתחיל מ0, אתה מבין?

תודה על העזרה שלך אבל הרעיון שהבאת בעצם לא פותר שום דבר.. אתה מציע במקום להכניס בקובץ הHTML הראישי include login.php או את הקוד עצמו, אתה פשוט מציע להכנס לlogin.php להציב סביבו את כל קודי הHTML של העיצוב

ככה או ככה ייצא את אותו הקוד ב2 הדרכים, ואותו קוד לא עובד.
אוףףףף לפעמים נמאס מזה

למה מה שהצעתי לא עובד?
אחי אתה לא ממציא את הגלגל מיליוני אתרי אינטרנט נבנו ונבנים בהצלחה, עוזרים לך ואתה ממשיך להתעקש.

בכל מקרה תרשום כאן את הקוד של login.php ומה השגיאה שאתה מקבל שאתה שם אותו בתוך המשתנה

maor224 28-07-13 20:39

הרעיון הוא שקובץ ה-login (או כל קובץ אחר באתר יראה ככה בערך):
PHP קוד:

<?php
include config.php// config file...sessions, DBs, etc...

include header.php// head file
echo <<<HTML
YOUR HTML CODE HERE {$youCANuseVars}
HTML;
include 
footer.php// footer file
?>

כמובן שהדרך הזו גם לא הכי טובה, אבל היא עדיפה על מה שאתה עושה.
הכי פשוט להשתמש במערכת Templates כמו Smarty / RainTPL.

Tyler 01-08-13 15:19

ציטוט:

נכתב במקור על ידי אבי בר (פרסם 880197)
למה מה שהצעתי לא עובד?
אחי אתה לא ממציא את הגלגל מיליוני אתרי אינטרנט נבנו ונבנים בהצלחה, עוזרים לך ואתה ממשיך להתעקש.

בכל מקרה תרשום כאן את הקוד של login.php ומה השגיאה שאתה מקבל שאתה שם אותו בתוך המשתנה

ציטוט:

נכתב במקור על ידי maor224 (פרסם 880198)
הרעיון הוא שקובץ ה-login (או כל קובץ אחר באתר יראה ככה בערך):
PHP קוד:

<?php
include config.php// config file...sessions, DBs, etc...

include header.php// head file
echo <<<HTML
YOUR HTML CODE HERE {$youCANuseVars}
HTML;
include 
footer.php// footer file
?>

כמובן שהדרך הזו גם לא הכי טובה, אבל היא עדיפה על מה שאתה עושה.
הכי פשוט להשתמש במערכת Templates כמו Smarty / RainTPL.


ניסיתי מה שאמרתם

קוד:

<?php

include('config.php');

if(MODULE == 'none')
{
        include(LOVE_ROOT . '/system/love_head.php');
$content='<h2>ברוכים הבאים בלהלבהלבלה!! </h2>

echo <<< HTML
include('reg.php')
HTML;

<br>


<br /> <br /> <br />       
';
       
        include(LOVE_ROOT . '/system/love_foot.php');
}
else
{
        header('Location: modules/' . MODULE);
}
?>

השגיאה המתקבלת:
קוד:

Parse error: syntax error, unexpected T_STRING
בשורה:
קוד:

include('reg.php')
תאמינו לי אני כבר מיואש אין לי מושג פשוט BLANKKK ענק במוח יש לי מזה

אבי בר 01-08-13 17:27

כי כל הקוד שלך פג תוקף תתחיל מההתחלה ותעשה את זה נקי יותר וחכם יותר.
בכל מקרה למה אתה עושה
ציטוט:

echo <<< HTML
include('reg.php')
HTML;
במקום פשוט
ציטוט:

include('reg.php');
למה הecho?
ויכול להיות שזה קורה בגלל שלא רשמת ; אחרי האינקלוד תבדוק

Tyler 01-08-13 17:35

ציטוט:

נכתב במקור על ידי אבי בר (פרסם 880337)
כי כל הקוד שלך פג תוקף תתחיל מההתחלה ותעשה את זה נקי יותר וחכם יותר.
בכל מקרה למה אתה עושה
במקום פשוט

למה הecho?
ויכול להיות שזה קורה בגלל שלא רשמת ; אחרי האינקלוד תבדוק


אממ תקשיב אחי, אני ניסיתי בכל הכח לעשות את הקוד חכם ונקי יותר.
עכשיו תראה מה הבעיה.
ברגע שאני פותח את המשתנה content כמו שאתה רואה, אני אמור להכניס בו את כל ה"תוכן" שאני רוצה שיהיה באותו עמוד. כך הגדרתי בקובץ הPHP של העיצוב (love_head.php) הכוונה. עשיתי שב$content ייכנס כל התוכן.

בגלל זה אם אני אסגור את המשתנה עם ; , ואני אכניס את האינקלוד אז יש 2 אופציות:
או שהמערכת התחברות תהיה בראש הדף מעל כל העיצוב (מעל הlove_head.php)
או שהמערכת בכלל לא תופיע

במידה ואני מנסה לעשות אינקלוד בתוך המשתנה עצמו, בתוך הcontent, כמו שראית יוצאת לי שגיאה.

וזה לא משנה אם אני משתמש בecho או לא, כל עוד אני מכניס את פקודת הinclude בתוך משתנה הcontent, יש שגיאה בדף.

זה מה שמשגע אותי,
הבנת מה הבעיה עכשיו?

אבי בר 01-08-13 17:37

בהסתכלות שנייה יש לך שם עוד בעיות, קבל תיקון(שעדיין גרוע):
קוד:


<?php

include('config.php');

if(MODULE == 'none')
{
        include(LOVE_ROOT . '/system/love_head.php');
$content='<h2>ברוכים הבאים בלהלבהלבלה!! </h2>';

$content.= include('reg.php');

$content .= '<br>';


$content .= '<br /> <br /> <br />';       

       
        include(LOVE_ROOT . '/system/love_foot.php');
}
else
{
        header('Location: modules/' . MODULE);
}
?>

תכלס נמאס לענות לך אתה לא מקשיב גבר.

לא נהוג להכניס לתוך משתנה אינקלוד וכל השטויות שעשית שם אני ממליץ אם כבר לעשות משהו כזה:
א. קודם כל להעיף את כל ה<br><br><Br> האלה אם הם כאלה חשובים תכניס אותם לפוטר.
ואז הקוד יראה ככה: (שים לב שהעפתי את המשתנה content אין בו צורך לפחות אם עשית כמו שהראינו לך)
ב. להכניס את הכותרת h2 לתוך reg.php או לתוך הheader
קוד:

<?php

include('config.php');

if(MODULE == 'none')
{
        include(LOVE_ROOT . '/system/love_head.php');
       
include('reg.php');

        include(LOVE_ROOT . '/system/love_foot.php');
}
else
{
        header('Location: modules/' . MODULE);
}
?>



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

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