السلام عليكم ورحمة الله وبركاته
قمت بعمل صفحة تسجيل دخول يقوم المستخدم من خلالها بأدخال اسم المستخدم وهو عبارة Administrator وكلمة المرر وهي كذلك Administrator طبعاً اسم المستخدم وكلمة المرور مخزنة في قاعدة بينات بأسم users داخل جدول اسمه ايضاً administrators الجدول يتكون من ثلاث حقول
1- No. و نوع قيمته (15)int وبهي الخاصية NOT NULL auto_increment
2- user_name ونوع قيمته varchar(15) NOT NULL
3-password ونوع قيمته varchar(15) NOT NULL
العملية تتكون من ثلاث صفحات (مع عدم مراعة الجوانب الأمنية MySQL injection)
1- صفحة تسجيل الدخول : ومن يستطيع المستخدم ان يدخل أسم المستخدم وكلمة المرور
2- صفحة التحقق : صفحة التحقق وهذه الصفحة لا يراها المستخدم وهي التي تحتوي على كود الـ php الذي يتحقق من صحة أسم المستخدم وكلمة المرور فإذا كان اسم المستخدم وكلمة المرور غير متطابقين مع البينات الموجودة في قاعدة البينات يظهر له رسالة تفيد بأن اسم المستخد وكلمة المرور خطأ وإذا كانتا صحيحتين يتم تحويل المستخدم إلى الصفحة الثالثة
3- التي تحتوي على رسالة تم تسجيل الدخول بنجاح
المشكلة هي عندما يقوم المستخدم بأدخال أسم المستخدم وكلمة مرور صحيحتين او حتى غير صحيحتين
يظهر له رسالة خطئ التالية
اقتباسWarning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\camel\www\mandob\check.php on line 32
اقتباسWrong Username or Password
طبعاً الخطئ موجود في الصفحة الثانية وأسمها check.php التي تقوم بالتحقق من صحة اسم المستخدم وكلمة المرور و بالتحديد في السطر 32
كود الصفحة check.php
<html>
<head>
<title>Check</title>
</head>
<body>
<?php
$con_sv = mysql_connect("localhost","root","");
if (!$con_sv)
{
die('Could not connect: ' . mysql_error());
}
$db_name = "users";
$con_db = mysql_select_db("$db_name");
if (!$con_db)
{
die ('cannot select database ' . mysql_error());
}
$tbl_name = "administrators";
$myusername = $_POST['user_name'];
$mypassword = $_POST['password'];
$sql = "SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result= mysql_query($sql);
$count= mysql_num_rows($result);
if($count==1)
{
session_register("user_name");
session_register("password");
header("location:cpanel.php");
}
else {
echo "Wrong Username or Password";
}
?>
</body>
</html>أتمنى من الأخوة في المنتدى مساعدتي في حل هذه المشكلة
لمزيد من المعلومات
كود صفحة الأولة صفحة تسجيل الدخول login.php
<html> <head> <title>Login</title> </head> <body> <form action="check.php" method="post" name="login_form"> User Name: <input name="user_name" type="text"/><br/> Password: <input name="password" type="password"><br/> <input name="login_submit" type="submit" value="Login"/> </form> </body> </html>
كود الصفحة الثالثة التي يراد الوصول إليهى cpanel.php
<?php
session_start();
if(!session_is_registered(user_name)){
header("location:login.php");
}
?>
<html>
<body>
Login Successful to cpanel
</body>
</html>ولمزيد من المعلومات والتفاصيل يمكن مراجعة الملفات
صفحة تسجيل الدخول login.php
صفحة التحقق check.php
الصفحة المراد الوصول إليهى cpanel.php