עבור לתוכן

בעיה ב-session בASP |ו application בASP

Featured Replies

פורסם

שלום =]

אני מתכנת אתר לפרויקט שאמור להיות הפרויקט בגרות S:

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

כלומר שיהיו דפים שמשתמשים לא רשומים לא יכולים להיכנס אליהם.

המטרה היא להשתמש בsession.

ואני לא יודע איך עושים את זה.

ניסיתי הכל, זה פשוט לא עובד.

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

עכשיו בניתי את הדבר הבא:

זה טופס ההתחברות:


<html>
<head></head>
<body dir="rtl" bgcolor="#d8d8d8">
<b><u><font size="5" color="black"> התחברות </font></u></b>
<br>
<form action="chek_login.asp" method="post" name="conect">
<table cellspacing=5">
<tr>
<td>כינוי </td>
</tr>
<tr>
<td><input type="text" name="nickname" size="15"></td>
</tr>
<tr>
</tr>
<tr>
<td> סיסמא </td>
</tr>
<tr>
<td><input name="submit" type="submit" value="התחבר"></td>
</tr>
</table>
</form>
<br>
<a href="tofes.html" target="main"> אינך רשום עדין? לחץ כאן להירשם - זה בחינם </a>
</body>
</html>

הנתונים הולכים לקובץ הזה


<html>
<head>
<body bgcolor="#d8d8d8" dir="rtl">
<%
nickname=Request.Form("id")
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 (id='"&id"' and password='"&password&"')"
set R=con.execute(sq1)
if R.eof
response.redirect "flogin.html"
else
session("login_u")=true
response.redirect"login.asp"
end if
R.close
set R=nothing

אוקי, עד עכשיו הכל טוב ויפה, אפשר להתחבר והכל.

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

---------------------------------------------------

עכשיו לגבי האפליקשן.

בניתי צ'ט לאתר, שהולך כך:

הכנסת הניק


<html>
<head>
<title> כניסה לצ'ט </title>
</head>
<body dir="rtl" bgcolor="#d8d8d8">
<h1> כניסה לצ'ט </h1>
<form action="Chekus.asp" method="post">
הקש שם משתמש
<input type="text" name="user">
<input type="submit" value="כניסה לצ'ט">
</form>
</body>
</html>

בדיקה שהשדה תקין


<html>
<head>
</head>
<body dir="rtl" bgcolor="#d8d8d8" link="darkblue" alink="darkblue" vlink="darkblue">
<%
if Request.form("user") <> "" then

session("us_name")=Request.Form("user")
Application.lock
Application("mone")=Application("mone")+1
Application.unlock
Response.redirect "view.asp"
else

Response.write "כניסה לא חוקית אנא נסה להיכנס שוב"
end if
%>
<br>
<a href="main.asp"> חזרה לדף הראשי </a>
<br>
<a href="chat.html"> לכניסה מחדש </a>
</body>
</html>

הדף של הצ'ט


<%
if Request.Form("speak")<>"" then
Application("userschat")=Application("userschat")&Session("us_name")&":"&_
Request.Form("speak")&"<br>"
end if
%>
<html>
<head>

</head>
<body dir="rtl" bgcolor="#d8d8d8" link="white" alink="white" vlink="white">
<h1> חדר שיחות </h1>
</iframe width="50%" src="now.asp"></iframe>
<table align="center" bgColor="darkred" cellPadding="1" cellSpacing="1">
<tr>
<td> <iframe width="100%" height="100%" src="mish.asp"></iframe> </td>
<td colspan="2">
<iframe width="100%" height="250" src="chat.asp"></iframe>
</td>
</tr>
<tr>
<td align="center"><%=session("us_name") %></td>
<td>
<form name="chat" action="view.asp" method="post">
<input type="text" size="70" name="speak">
</td>
<td align="left"><input type="submit" value="שלח"><br>
<a href="Exit.asp" > יציאה </a>
</form>
</td>
</tr>
</table>
</body>
</html>

כמו שאתם רואים בדף של הצ'ט יש I פריים לדף של ההודעות:

הקוד שלו הוא זה:


<html>
<head>
<meta http-equiv="refresh" content="4; url="chat.asp">
</head>
<body dir="rtl" bgcolor="#d8d8d8">
<%=application("userschat") %>
</body>
</html>

ויש עוד את הדף nish.asp הוא גם בi פריים בדף של הצ'ט.

עכשיו מה אני עושה.

בשביל שמשתמש שנכנס לצ'ט, הכינוי שלו יהיה רשום בדף ההוא (וכל המשתמשים האחרים יוכלו לראות את זה).

יענו זה אמור להיות הרשימה של המשתמשים המחוברים לצ'ט.

מה הקוד שצריך להיות שם?

מקווה שתעזרו לי, ואני לא אכשל.

פורסם

הדרך הכי פשוטה היא לשים בכל דף משהו כזה:

if (session("login_u") != true)
response.redirect("error.html")

(כמובן, תחליף את error.html באיזה דף שאתה רוצה)

ארכיון

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

דיונים חדשים