בעיה בבניית אתר. (לא יכול לתאר את הבעיה בקצרה) - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

בעיה בבניית אתר. (לא יכול לתאר את הבעיה בקצרה)


Bug2000

Recommended Posts

מצטער שלא כתבתי כותרת עניינית, אבל לא הצלחתי לחשוב על ניסוח קצר יותר שיתאר את הבעיה. המנהלים מוזמנים לשנות את הכותרת בתנאי שהיא תתאר את הבעיה ;D.

אז ככה אני בונה אתר (דהה) במסגרת בית ספרית, האתר מהווה יחידת לימוד שלמה (!!).

הבעיה שלי היא כזאת : כשאני נרשם לאתר שלי, אז אני צריך לעדכן (REFRESH) ידנית את המסגרת(IFRAME) שמראה את שמו של המשתמש שנרשם בשביל שהיא אכן תראה את השם.

אני רוצה לדעת האם אפשר בדרך כלשהי (ב ASP,JAVASCRIPT,HTML) לעשות ככה שהדף הזה יתעדכן אוטומטית ישר אחרי ההרשמה?.

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

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

תודה מראש. :)

קישור לתוכן
שתף באתרים אחרים

שאני אבין המשתמש נרשם לאתר באמצעות שליחת form.

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

כך הדבר?

וד"א איזה שפה? ASP?

קישור לתוכן
שתף באתרים אחרים

נכון בערך.

המשתמש ממלא פורם, בדיקה ראשונית מתבצעת ע"י פונקציות של JS שנמצאות בדף הטופס ובודקות אם הטופס מולאה בהתאם לדרישות.

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

בדף הזה ברצוני להוסיף פקודה או משהו שיגרום ל TITLE (זה בעצם ה IFRAME שמציג את מצבו של הגולש, הכוונה לאורח משתמש או מנהל) שלי לעשות REFRESH בשביל שההודעה "ברוך הבא אורך" תתעדכן ל "שם המשתמש, ברוך הבא לאתר!".

קישור לתוכן
שתף באתרים אחרים

אתה יכול לעשות שבסוף הבדיקה, באם הכל הלך טוב והכל תקין, והמשתמש נרשם, אז זה עושה

header ("Location: url");

ושהוא יקשר לאותו הדף, מה שמתקבל זה בעצם ריפרש, או בדך הHTML

<meta http-equiv="refresh" content="0;url=index.php">

או דרך נוספת זה להעביר את הקוד לתחילת הדף ואת הHTML לסוף הדף, ככה מה שמתקבל זה שאם המשתמש נרשם בהצלחה אז מודפס לו מה שאתה רוצה שיודפס, מקווה שהבנת :P

ולא אמרת איזה שפה אתה משתמש :-\

ויש לך איזשהו לינק לפרסם, כדי שנראה משהו יותר מובן?

קישור לתוכן
שתף באתרים אחרים

כתבתי בהודעה הראשונה שאני משתמש בASP, JAVASCRIPT וכמובן HTML.

לפי מה שהבנתי הפקודה שכתבת עושה REFRESH לכל דף האינדקס? (מקרה שלי הסיומת של האינדקס היא HTML).

קישור לתוכן
שתף באתרים אחרים

אוקיי העלתי תמונה של ה INDEX .

עכשיו בתמונה רואים שכבר נכנסתי לאתר כמנהל אבל הוא עדיין מזהה אותי כאורח. בשביל שהוא יזהה אותי כמנהל אני צריך לעשות ל IFRAME שכותב "ברוח הבא אורח ..." REFRESH בצורה ידנית, אז השאלה שלי איך אני עושה שהוא יעשה את הרפרש אוטומטית כשהמשתמש נרשם\נכנס לאתר.

מקווה שעכשיו זה ברור.

קישור לתוכן
שתף באתרים אחרים

תשובה פשוטה בJS:

נניח שזה המערך פריימים שלך:

<FRAMESET rows="20%,*">

<FRAME src="frame1.htm" name="frame1">

<FRAME src="frame2.htm" name="frame2">

</FRAMESET>

אז מפעילים את הסקריפט הבא לאחר ה-LOGIN:

top.frames["frame1"].location.reload();

בהצלחה.

קישור לתוכן
שתף באתרים אחרים

:הנה מערך הפריימים שלי

<html>

<head>

<title>מלחמת העולם השניה </title>

<meta http-equiv="Content-Type" content="text/html;charset=windows-1255"/>

</head>

<body bgcolor="#F7F8F8">

<iframe src="http://127.0.0.1/UploadSiteCopy/ASP_Files/Title.asp" name="TitleFrame" valign="top" height="12%" width="100%" scrolling="no">

<iframe src="http://127.0.0.1/UploadSiteCopy/HTML_Files/MenuBar.html" name="MenuBarFrame" align="center" height="8%" width="100%" scrolling="no">

<iframe src="http://127.0.0.1/UploadSiteCopy/ASP_Files/InfoBar.asp" name="InfoBarFrame" align="left" height="80%" width="15%" scrolling="auto">

<iframe src="http://127.0.0.1/UploadSiteCopy/HTML_Files/Main.html" name="MainFrame" align="left" height="80%" width="70%" scrolling="auto">

<iframe src="http://127.0.0.1/UploadSiteCopy/ASP_Files/NewsAndDate.asp" name="NewsFrame" align="right" height="80%" width="15%" scrolling="no">

</body>

</html>

איפה בדיוק אני מכניס את מה שאמרת לי להכניס?

זה מה שכתבתי בדף

top.frames["TitleFrame"].location.reload();

וזה לא עובד.

תודה על העזרה :).

קישור לתוכן
שתף באתרים אחרים

היי באג,

קודם כל אני רואה שלא שמתי לב שאתה עובד עם IFRAMES במקום עם FRAMES ולכן צריך לכתוב:

document.frames["TitleFrame"].location.reload();

איפה אתה צריך לשים את זה, זה כבר תלוי בקוד שלך. בעקרון איפה ששמת את הקוד ששולח את בקשת ה-LOGIN של המשתמש שם זה צריך להופיע באותו מקטע סקריפט.

אם אתה צריך עזרה תוסיף את הקוד שלך שאני אראה.

רק שתי הערות:

1. IFRAMES לא עובד עם נטסקייפ. סתם לידע כללי.

2. תמיד עדיף להשתמש בPATH יחסי ולא אבסולוטי עבור ה-SOURCE של ה-IFRAME, לכן במקום ככה:

עדיף לרשום ככה:

<iframe src="UploadSiteCopy/ASP_Files/Title.asp">

בהנחה ש-UploadSiteCopy היא תיקיה שיושבת תחת הROOT של האתר שלך.

בהצלחה.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...