السلام عليكم ورحمة الله وبركاته:
أقوم ببرمجة جزئية متعلقة ببرنامج لتسجيل الدخول على ملفين منفصلين الأول login.php وهو عبارة عن كود html عادي يحتوي على شكل نموذج تسجيل الدخول بالإضافة إلى نموذج لإرسال البيانات يستخدم
الطريقة post ويتم الإرسال إلى الملف الآخر checklogin.php حيث يقوم بفتح جلسة session خاصة بالمستخدم الذي يريد الدخول ومن ثم يقوم بعملية التأكد من صحة البيانات المرسلة إلخ الموضوع.
على الرغم من ذلك فإن ملف checklogin.php لا يستطيع الوصول إلى بيانات النموذج الممثلة في اسم المستخدم وكلمة المرور ثم يقوم بإعادة مسار البرنامج إلى ملف login.php?frequest.
الرجاء توضيح أين يكمن الخطأ.
ملف login-form.php
<body>
<table width="100%" border="0" align="center">
<tr>
<th align="left" bgcolor="#CCCCCC" scope="col"><img src="/Kassarlogy/img/logo/image1.jpeg" width="300" height="100" border="0" align="left"
longdesc="http://www.kassarsoft.com" /></th>
</tr>
<tr>
<td bgcolor="#333"></td>
</tr>
<tr >
<td align="right" bgcolor="#CCCCCC"></td>
</tr>
</table>
<br /><br /><br />
<form id="loginForm" name="loginForm" method="post" action="checklogin.php">
<table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td width="112"><b>Login</b></td>
<td width="188"><input name="login" type="text" class="textfield" id="login" /></td>
</tr>
<tr>
<td><b>Password</b></td>
<td><input name="password" type="password" class="textfield" id="password" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Login" /></td>
</tr>
</table>
</form>
</body>ملف login-exec.php
<?php
//Start session
session_start();
//Include database connection details
require_once('../connections/connection.php');
//Array to store validation errors
$errmsg_arr = array();
//Validation error flag
$errflag = false;
//Connect to mysql server
$link = mysql_connect($hostname_TestConnect, $username_TestConnect, $password_TestConnect);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db($database_TestConnect);
if(!$db) {
die("Unable to select database");
header("location: loginfailed.php");
}
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
//Sanitize the POST values
$login = clean($_POST['login']);
$password = clean($_POST['password']);
//Input Validations
if($login == '') {
$errmsg_arr[] = 'Login ID missing';
$errflag = true;
}
if($password == '') {
$errmsg_arr[] = 'Password missing';
$errflag = true;
}
//If there are input validations, redirect back to the login form
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: login.php?frequest=Please check your username and password login is($login) password is($password)");//?pass=$password
exit();
}
//Create query
$qry="SELECT * FROM users WHERE user_name={$login} AND password={$password}";
$result=mysql_query($qry);
//Check whether the query was successful or not
if($result) {
if(mysql_num_rows($result) == 1) {
//Login Successful
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['user_id'];
$_SESSION['SESS_FIRST_NAME'] = $member['user_first_name'];
$_SESSION['SESS_LAST_NAME'] = $member['user_last_name'];
session_write_close();
header("location: cPanel.php");
exit();
}else {
//Login failed
header("location: loginfailed.php");
exit();
}
}else {
die("Query failed $qry");
}
?>
