![]() |
איך אני משנה מיקום של דף PHP?
אז ככה
יש לי קובץ PHP אחד וקובץ HTML בתוך הHTML רציתי שיהיה לי את הPHP (מערכת התחברות לאתר), אז עשיתי include login.php סבבה, המערכת בתוך הHTML, רק שהיא מופיעה בראש הדף כי עשיתי את הinclude בהתחלה.. איך אני משנה את המיקום של המערכת לאמצע הדף לאיפה שאני רוצה שהיא תהיה? כי אם אני משנה את השורה של הinclude זה לא מאפשר לי ומוציא לי שגיאה כי יש לי בHTML משהו שם שלא מאפשר לשים include באמצע.. יש עוד הצעות? הקוד: קוד:
<?php כפי שאתם רואים, ה"תוכן" של הדף עצמו איפה שאמורה להיות המערכת אמור להיות לאחר הכותרת H2, בתוך המשתנה של $content, אך אני לא יכול לשים שם את פקודת הinclude הרי ייצא שאני משתמש בphp בתוך משתנה, מה שלא מתאפשר לי. לכן הייתי חייב לשים את הinclude בראש הקוד מיד לאחר קריאת הconfig, אך עכשיו זה מציג לי את פאנל ההתחברות בראש הדף.. יש אפשרות להזיז אותו לתוך משתנה הcontent? לאמצע הדף? תודה רבה לעוזרים. |
קרא על MVC ו- Templates - ככל שתתחיל לעבוד נכון מוקדם יותר, יותר טוב.
|
ציטוט:
אם להיות כנה אני ציפיתי לעזרה קצת יותר ממשית.. אני יושב כבר מספר ימים על הקוד הנוכחי, מנסה איתו כל מיני שיטות. המוצלחת ביותר הייתה דרך iframe אך כמובן שהיא לא יעילה בשבילי, כיוון שלאחר שהמשתמש מתחבר הוא מועבר לדף הראשי, אך בזמן שהמערכת בiframe רק המסגרת מועברת לדף הראשי והמשתמש נשאר בעצם באותו הדף. ניסיתי המון דברים, לכן ניגשתי לכאן לעזרה יותר מפורטת. אני מכיר את עיקרון הmvc ולא בדיוק הבנתי על מה אתה מדבר כשאתה אומר templates , על מערכות מוכנות? 2 הדברים הללו לא עוזרים לי לפתור את הבעיה. |
תגדיר עזרה קצת יותר ממשית...
2 הדברים הללו מיועדים בדיוק לבעיות מהסוג הזה - אתה צריך להפריד בין הלוגיקה לבין התצוגה. הצורה שבה כתבת את הקוד כרגע לא טובה, זה סתם בלאגן. אם תעבוד על פי העקרונות של MVC ותעשה שימוש ב- Templates (הסבר בקישורים המצורפים) זה יפתר. סביר להניח שבהתחלה זה יהיה לך קצת קשה, אלו בד"כ דברים שנוגעים בהם בשלבים מתקדמים יותר - אבל לדעתי עדיף להתחיל עם זה כמה שיותר מוקדם. הנה כמה קישורים רלוונטים: http://net.tutsplus.com/tutorials/other/mvc-for-noobs http://www.1stwebdesigner.com/css/ho...bsite-template http://coding.smashingmagazine.com/2...php-templating בהצלחה. |
ציטוט:
מה שעשיתי עכשיו זה הפרדתי בין 2 הקודים וניסיתי להשתמש בהשגת הנתונים על ידי משתנה ולאחר מכן לעשות לאותו משתנה echo וכך להציג את פאנל ההתחברות. מה שעשיתי זה הוספתי בסוף הקוד של פאנל ההתחברות את השורות הבאות להגדרת המשתנה להוצאת הנתונים: החלפתי את ה;()ob_end_flush ב;()out1 = ob_get_contents$ ;()ob_end_clean ולאחר מכן בדף הראשי ניסיתי להציג את הפאנל ע"י echo $out1 , אך שום דבר לא יצא מזה.. אני חושב שיש משהו במשתנה ה$content שאינו מאפשר לי להכניס php לתוך הדף, יש לך מושג? |
נתעלם לרגע מההצעות של אדיר (אגב הצעה מעולה), ונחזור לקוד המקורי שלך.
PHP קוד:
|
ציטוט:
אני פשוט לא מבין מה הבאג פה ---- עריכה: ניסיתי כרגע לעשות משהו כזה, ועדיין זה לא מציג לי את הפאנל: קוד:
<?php |
אתה לא יכול לשים קוד PHP ככה בתוך HTML...
לפי מה שאני מבין - אם תעשה את ה- include login אחרי ה include love_head, זה בעצם מה שאתה צריך לא? |
ציטוט:
במידה וזה לאחר משתנה הcontent זה בכלל לא יופיע.. אני צריך לדעת האם אפשרי להכניס את הקוד PHP של הinclude login או איכשהו להכניס את המערכת לתוך משתנה הcontent? עריכה: היי , יש לי רעיון. יש לי את הקובץ HTML המקושר לקובץ הCSS באתר. בHTML הזה שהוא בעצם הבסיס לכל הHTML באתר, ניסיתי להכניס את המערכת בקטע הCSS של הCONTENT מבלי לגעת במשתנה. אך לא הצלחתי, כי כמו שאמרת לא ניתן להכניס קוד PHP לHTML ככה.. זה בעיקרון מה שניסיתי, זה החלק מהקובץ HTML שמקושר למשתנה של הcontent: קוד:
<div class="content"> אני חשוב שמכאן הדרך לפתרון קצרה.. אני אשמח לעזרה. |
הבעיה שלך ואני יודע שאתה לא מצפה לתשובה כזאת, שכל הקוד שלך שגוי פשוט, כל הכבוד שאתה מנסה ללמוד ואתה בדרך הנכונה.
אבל פשוט לא ככה נראה תיכנות של אתר. כמו שאמרו מומלץ לעבור לmvc אבל אני מנחש שאתה לא באמת מתכוון ללמוד את זה. אז לפחות תתחיל לקרוא עוד קצת חומרים ותנסה שוב מהתחלה, ככה לומדים. בכל מקרה אם הלכת על קוד ספגטי לפחות תעשה סדר בין הhtml לphp ולא ברור למה אתה מכניס הכול למשתנה content? עשית סלט שלם |
ציטוט:
אין לי מושג למה אני לא מצליח להכיל בתוכו את הפאנל התחברות הקטן הזה שלא מפריע לאף אחד |
ציטוט:
ותתחיל מההתחלה. אם כבר אתה הולך קוד בסגנון הזה אז תעשה משהו כזה תיצור לך 2 קבצים חדשים header.php - בתוכו תשים את הלמעלה של האתר. footer.php בתוכו תשים את הלמטה של האתר. עכשיו בקובץ login.php תעשה משהו כזה: include header.php <form> טופס התחברות </form> include footer.php ככה בכל הקבצים של האתר. |
ציטוט:
אני פשוט תקוע איתו כבר מספר ימים אם לא שבוע, וקשה לי עכשיו לזרוק הכל לפח ולהתחיל מ0, אתה מבין? תודה על העזרה שלך אבל הרעיון שהבאת בעצם לא פותר שום דבר.. אתה מציע במקום להכניס בקובץ הHTML הראישי include login.php או את הקוד עצמו, אתה פשוט מציע להכנס לlogin.php להציב סביבו את כל קודי הHTML של העיצוב ככה או ככה ייצא את אותו הקוד ב2 הדרכים, ואותו קוד לא עובד. אוףףףף לפעמים נמאס מזה |
ציטוט:
אחי אתה לא ממציא את הגלגל מיליוני אתרי אינטרנט נבנו ונבנים בהצלחה, עוזרים לך ואתה ממשיך להתעקש. בכל מקרה תרשום כאן את הקוד של login.php ומה השגיאה שאתה מקבל שאתה שם אותו בתוך המשתנה |
הרעיון הוא שקובץ ה-login (או כל קובץ אחר באתר יראה ככה בערך):
PHP קוד:
הכי פשוט להשתמש במערכת Templates כמו Smarty / RainTPL. |
ציטוט:
ציטוט:
ניסיתי מה שאמרתם קוד:
<?php קוד:
Parse error: syntax error, unexpected T_STRING קוד:
include('reg.php') |
כי כל הקוד שלך פג תוקף תתחיל מההתחלה ותעשה את זה נקי יותר וחכם יותר.
בכל מקרה למה אתה עושה ציטוט:
ציטוט:
ויכול להיות שזה קורה בגלל שלא רשמת ; אחרי האינקלוד תבדוק |
ציטוט:
אממ תקשיב אחי, אני ניסיתי בכל הכח לעשות את הקוד חכם ונקי יותר. עכשיו תראה מה הבעיה. ברגע שאני פותח את המשתנה content כמו שאתה רואה, אני אמור להכניס בו את כל ה"תוכן" שאני רוצה שיהיה באותו עמוד. כך הגדרתי בקובץ הPHP של העיצוב (love_head.php) הכוונה. עשיתי שב$content ייכנס כל התוכן. בגלל זה אם אני אסגור את המשתנה עם ; , ואני אכניס את האינקלוד אז יש 2 אופציות: או שהמערכת התחברות תהיה בראש הדף מעל כל העיצוב (מעל הlove_head.php) או שהמערכת בכלל לא תופיע במידה ואני מנסה לעשות אינקלוד בתוך המשתנה עצמו, בתוך הcontent, כמו שראית יוצאת לי שגיאה. וזה לא משנה אם אני משתמש בecho או לא, כל עוד אני מכניס את פקודת הinclude בתוך משתנה הcontent, יש שגיאה בדף. זה מה שמשגע אותי, הבנת מה הבעיה עכשיו? |
בהסתכלות שנייה יש לך שם עוד בעיות, קבל תיקון(שעדיין גרוע):
קוד:
לא נהוג להכניס לתוך משתנה אינקלוד וכל השטויות שעשית שם אני ממליץ אם כבר לעשות משהו כזה: א. קודם כל להעיף את כל ה<br><br><Br> האלה אם הם כאלה חשובים תכניס אותם לפוטר. ואז הקוד יראה ככה: (שים לב שהעפתי את המשתנה content אין בו צורך לפחות אם עשית כמו שהראינו לך) ב. להכניס את הכותרת h2 לתוך reg.php או לתוך הheader קוד:
<?php |
כל הזמנים הם GMT +2. הזמן כעת הוא 20:56. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ