עבור לתוכן

בעיה| הסשן נמחק לאחר רענון הדף (ASP)

Featured Replies

פורסם

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

אבל אם אני לוחץ F5 (רענן). זה מרענן את הדף ושוב צריך להקליד שם משתמש וסיסמא.

משהו יודע מה הבעיה?

זה הקוד של הדף

main.asp


<html>
<head>
<title> אתר מלחמת לבנון השניה </title>
</head>
<body bgcolor="#d8d8d8" dir="rtl" link="darkblue" alink="darkblue" vlink="darkblue">
<% if (session("login_u") <> "true") then %>
<form action="chek_login.asp" method="post" name="conect">
כינוי <input type="text" name="nickname" size="15">
סיסמא <input type="password" name="password" size="15">
<input name="submit" type="submit" value="התחבר">
</form>
<%else%>
<iframe width="100%" height="10%" name="bar" src="bar.asp" scrolling="no"></iframe>
<font color="black" face="arial">
שלום וברוכים הבאים לאתר שלי, האתר שלי נבנה כחלק מפרויקט הבגרות של בית הספר גן נחום במקצוע תכנות בסביבת אינטרנט
<br>
האתר נבנה בשפות התכנות הבאות
<br>
html, asp, vbscript, javascript, sql
<br>
באתר ניתן למצוא מידע על המלחמה ולראות תמונות מהמלחמה. האתר נבנה למען הנצחת הנופלים במלחמה, והעברת מידע לאנשים על מה שקרה במלחמה
<br>
שימו לב: כל המשתמשים יכולים לצפות בעמודי המידע אבל רק משתמשים רשומים יכולים להצביע בסקרים, ולהיכנס לצ'ט
<br>
כמו כן באתר יש אלפון בו משתמשים רשומים בלבד יכולים לרשום את פרטיהם האישיים ודרכים ליצירת קשר איתם. וכך משתמשים אחרים יכולים ליצור איתם קשר ולשתף בחוויות נעימות ולא נעימות מהמלחמה
<br><br><br>
<u><b> לינקים שימושיים </b></u>
<br>
<a href="tofes.html" target="main">הרשמה</a>
<br>
<a href="seker.html" target="main">לסקר</a>
<br>
<a href="chat.html" target="main">לצ'ט</a>
<br>
<a href="alphon.html" target="main">לאלפון</a>
</font>
<br><br>

<font color="darkred"><u><b><%response.write application("counter")%> אנשים ביקרו באתר עד כה </b></u></font>

</body>
</html>
<% end if %>

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

וזה הדף שבודק תפרטים

check_login.asp


<html>
<head></head>
<body bgcolor="#d8d8d8" dir="rtl">
<%
nickname=Request.Form("nickname")
password=Request.Form("password")

path=Server.mappath("data.mdb")
set con=Server.createobject("ADODB.connection")
con.open "driver={Microsoft Access Driver (*.mdb)}; DBQ=" &path
sq1="select*from user_data where (nickname='"&nickname&"' and password='"&password&"')"
set R=con.execute(sq1)
if R.eof then
session("login_u")="false"
response.redirect "flogin.html"
else
Session("login_u")="true"
Application.lock
Application("counter")=Application("counter")+1
Application.unlock
response.redirect"main.asp"
end if
%>
</body>
</html>

פורסם

אני מניח שהקוד ששמת שני הוא של הדף הראשון.

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

או שזה חזרה לדף השני?

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

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

פורסם
  • מחבר

הוספתי תשם,

זה הולך כך:

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

באינדקס יש אייפריים ואחד הפריימים שם זה main.asp

במיין ASP יש קוד כך שלמי שהסשן שלו שגוי לא יכול לראות את תוכן הדף, במקום זאת הוא רואה טופס התחברות לאתר.

ברגע שהוא מתחבר הנתונים נשלחחים לדף chek_login.asp ואם הכינוי והסיסמא קיימים הוא מוביל אותו בחזרה לmain.asp.

עכשיו בגלל שבדף chek_login.asp הפרטים של הסשן מקבלים ערך true במקום להציג את הטופס התחברות הוא מציג את התוכן של הדף.

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

מה לעשות?

פורסם

אולי קורה איזה סשן טיים-אאוט?

תעבור על המיני-מאמר הזה

http://webmaster.org.il/article.asp?id=265

בעיקר על הרעיון של הsessionstate/timeout

אולי זה יפתור לך את הבעיה

ארכיון

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

דיונים חדשים