السلام عليكم ورحمة الله وبركاته
كيف امنع شخص اخر يعرف كلمة السر واسم المستخدم التابع الي ان يدخل بهما الى الموقع ( في حالة كنت انا مستخدم الموقع في نفس الوقت )
انا صممت البرنامج وهو انه وضع حقل في قاعدة البيانات يحتوي على قيمة اما flase في حالة عدم وجود مستخدم حالى الى الموقع باستخدام اسم المستخدم وكلمة السر ( المستعملة الان )
ويحتوي على قيمة اما true في حالة وجود مستخدم حالى الى الموقع باستخدام اسم المستخدم وكلمة السر ( المستعملة الان )
ووضعت في شرظ الدخول اذا كانت حقل check يحتوي على flase معناه لايوجد احد داخل بالتسجيل التابع الى ويسمح له بالدخول وعند دخول المستخدم اضع بدل flase في الحقل check كلمة true حتى اذا اراد شخص اخر الدخول بكلمة السر واسم المستخدم نفسهما لايستطيع لانه المستخدم السابق وضع في حقل check كلمه true .
وفي حاله الخروج يضع كلمه flase في الحقل check .
(( المشكله)) هي في حاله دخول المستخدم اضع بدل flase في الحقل check كلمة true حتى اذا اراد شخص اخر الدخول بكلمة السر واسم المستخدم نفسهما لايستطيع لانه المستخدم السابق وضع في حقل check كلمه true . يؤشر لي مشكله في البرمجة وارجو ان توجهوني لحل المشكلة .
وهذه البرمجة وقاعدة البيانات
DROP TABLE IF EXISTS `mahmood`.`users1`; CREATE TABLE `mahmood`.`users1` ( `user_id` varchar(45) collate utf8_unicode_ci NOT NULL, `password` varchar(45) collate utf8_unicode_ci default NULL, `fname` varchar(45) collate utf8_unicode_ci default NULL, `lname` varchar(45) collate utf8_unicode_ci default NULL, `email` varchar(70) collate utf8_unicode_ci default NULL, `Are you human` varchar(70) collate utf8_unicode_ci default NULL, `check` varchar(20) collate utf8_unicode_ci default 'flase', PRIMARY KEY (`user_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="login.jsp" method="post" >
User name :<input type="text" name="user" />
password :<input type="password" name="pwd" />
<input type="submit" />
</form>
</body>
</html><%--
Document : login
Created on : Jan 3, 2010, 10:58:25 AM
Author : Mahmood2010
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%@ page language="java" import="java.lang.*" import="java.sql.*" %>
<%@ page import ="java.sql.*" %>
<%@ page import ="javax.sql.*" %>
<%
Statement stmt=null;
String userid=request.getParameter("user");
session.putValue("userid",userid);
String pwd=request.getParameter("pwd");
String check="flase";
String check1="true";
Class.forName("com.mysql.jdbc.Driver").newInstance();
java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost/mahmood","root","password");
Statement st= con.createStatement();
ResultSet rs=st.executeQuery("select * from users1 where user_id='"+userid+"'");
if(rs.next())
{
if(rs.getString(2).equals(pwd) && rs.getString(7).equals(check))
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
java.sql.Connection con1 = DriverManager.getConnection("jdbc:mysql://localhost/mahmood","root","password");
stmt=con.createStatement();
String rec1=("UPDATE users1 SET check='"+check1+"' where password='"+pwd+"'");
int mod=stmt.executeUpdate(rec1);
out.println("welcome"+userid);
}
else
{
out.println("Invalid password try again");
}
}
else
%>
</body>
</html><!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="reg.jsp" method="post">
User name :<input type="text" name="userid" /><br>
password :<input type="password" name="pwd" /><br>
First name :<input type="text" name="fname" /><br>
Last name :<input type="text" name="lname" /><br>
Email :<input type="text" name="email" /><br>
The College Department Name :
<select name="human">
<option value="IT">IT</option>
<option value="NETWORK">Network</option>
<option value="INTERNET">Internet</option>
</select>
<br>
<img src="http://localhost:8084/ConnToMysql/CaptchaServlet">
<br>
<br>
<input type="submit" />
</form>
<%
String captcha = (String) session.getAttribute("captcha");
String code = (String) request.getParameter("code");
if (captcha != null && code != null) {
if (captcha.equals(code)) {
out.print("<p class='alert'>Correct</p>");
} else {
out.print("<p class='alert'>Incorrect</p>");
}
}
%>
</body>
</html><%--
Document : reg
Created on : Jan 3, 2010, 10:59:28 AM
Author : Mahmood2010
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%@ page import ="java.sql.*" %>
<%@ page import ="javax.sql.*" %>
<%
String user=request.getParameter("userid");
session.putValue("userid",user);
String pwd=request.getParameter("pwd");
String fname=request.getParameter("fname");
String lname=request.getParameter("lname");
String email=request.getParameter("email");
String human=request.getParameter("human");
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost/mahmood","root","password");
Statement st= con.createStatement();
ResultSet rs;
int i=st.executeUpdate("insert into users1 values ('"+user+"','"+pwd+"','"+fname+"','"+lname+"','"+email+"','"+human+"')");
%>
<jsp:forward page="index.jsp"/>
</body>
</html>وارجو التوجيه اين المشكلة رجاءا وانتم اهل لذلك
سلامي
اخوكم
محمود سامي
