Tuesday, September 1, 2015

ការសរសេរកូដ Login ក្នុងភាសា PHP

                          




1. ចូលទៅ http://127.0.0.1/phpMyAdmin/ 




2.  បង្កើតមូលដ្ឋានទិន្នន័យមួយឈ្មោះ project


3. បង្កើតតារាងមួយឈ្មោះ  student  ដែលមានចំនួន 12 ជួរឈរ


4. បំពេញទិន្នន័យ ក្នុងតារាង student  ដូចរូបខាងក្រោម


5. បញ្ចូលទិន្នន័យក្នុងតារាង


6. បន្ទាប់ពី បង្កើតមូលដ្ឋានទិន្នន័យរួចហើយ ឥឡូវចាប់ផ្តើមសរសេរកូដ

     ចូលទៅ C/Apperv/www  ហើយបង្កើត folder មួយឈ្មោះ login



7.  សរសេរកូដ connection.php ដើម្បីតភ្ជាប់ទៅមូលដ្ឋានទិន្នន័យ


<?php
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "1234567";
$mysql_database = "project";
$prefix = "";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
mysql_select_db($mysql_database, $bd) or die("Could not select database");
?>


អនុវត្តតាម កូដខាងលើ ហើយ save ឈ្មោះថា connection.php នៅក្នុង folder login 

8.  សរសេរកូដ login.php  ដើម្បីបង្កើតទំព័រ login

<?php
//Start session
session_start();
//Unset the variables stored in session
unset($_SESSION['SESS_STUDENT_ID']);
unset($_SESSION['SESS_FIRST_NAME']);
unset($_SESSION['SESS_LAST_NAME']);
?>
<form name="loginform" action="login_exec.php" method="post">
<table width="309" border="0"  cellpadding="2" cellspacing="5">
  <tr>
    <td colspan="2">
<!--the code bellow is used to display the message of the input validation-->
<?php
if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
echo '<ul class="err">';
foreach($_SESSION['ERRMSG_ARR'] as $msg) {
echo '<li>',$msg,'</li>'; 
}
echo '</ul>';
unset($_SESSION['ERRMSG_ARR']);
}
?>
</td>
  </tr>
  <tr>
    <td width="116"><div align="right">Username</div></td>
    <td width="177"><input name="stu_user" type="text" /></td>
  </tr>
  <tr>
    <td><div align="right">Password</div></td>
    <td><input name="stu_password" type="text" /></td>
  </tr>
  <tr>
    <td><div align="right"></div></td>
    <td><input name="" type="submit" value="login" /></td>
  </tr>
</table>
</form>

អនុវត្តតាម កូដខាងលើ ហើយ save ឈ្មោះថា login.php នៅក្នុង folder login 

9. សរសេរកូដ  login_exec.php ដើម្បីពិនិត្យមើល login

<?ob_start();?>
<?php
//Start session
session_start();

//Include database connection details
require_once('connection.php');

//Array to store validation errors
$errmsg_arr = array();

//Validation error flag
$errflag = false;

//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
$stu_user = clean($_POST['stu_user']);
$stu_password = clean($_POST['stu_password']);

//Input Validations
if($stu_user == '') {
$errmsg_arr[] = 'Username missing';
$errflag = true;
}
if($stu_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");
exit();
}

//Create query
$qry="SELECT * FROM student WHERE stu_user='$stu_user' AND stu_password='$stu_password'";
$result=mysql_query($qry);

//Check whether the query was successful or not
if($result) {
if(mysql_num_rows($result) > 0) {
//Login Successful
session_regenerate_id();
$student = mysql_fetch_assoc($result);
$_SESSION['SESS_STUDENT_ID'] = $student['stu_id'];
$_SESSION['SESS_FIRST_NAME'] = $student['stu_user'];
$_SESSION['SESS_LAST_NAME'] = $student['stu_password'];
session_write_close();
header("location: home.php");
exit();
}else {
//Login failed
$errmsg_arr[] = 'user name and password not found';
$errflag = true;
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: login.php");
exit();
}
}
}else {
die("Query failed");
}
?>

អនុវត្តតាម កូដខាងលើ ហើយ save ឈ្មោះថា login_exec.php នៅក្នុង folder login 

10. សរសេរកូដ auth.php ដើម្បីការពារពេល Log out ហើយមិនអាចចូលក្នុងប្រព័ន្ធបាន តែត្រូវ​ login  សារជាថ្មី

<?php
//Start session
session_start();
if(!isset($_SESSION['SESS_STUDENT_ID']) || (trim($_SESSION['SESS_STUDENT_ID']) == '')) {
header("location: login.php");
exit();
}
?>

អនុវត្តតាម កូដខាងលើ ហើយ save ឈ្មោះថា auth.php នៅក្នុង folder login 

11. សរសេរកូដ home.php ដើម្បីបង្ហាញទំព័រដែល login ចូល

<?ob_start();?>
<?php
require_once('auth.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
.style1 {
font-size: 17px;
font-weight: bold;
}
-->
</style>
</head>

<body>


<p align="center" class="style1">Login successfully! </p>
<table width="10%" border="0" align="center">
<tr bgcolor="<?php echo $dtable2;?>">
<td width="10%" align="center"> <a href="./login.php"> <font size="4"> Logout</font></a><br /></td>
</tr>
</body>
</html>

អនុវត្តតាម កូដខាងលើ ហើយ save ឈ្មោះថា home.php នៅក្នុង folder login 

12.  ចូលទៅ   web browser ហើយសរសេរ URL : http://127.0.0.1/login/login


13. បំពេញ username និង password ប្រសិនបើ password របស់អ្នកមិនត្រឹមត្រូវ  ធ្វើការបំពេញម្តងទៀត



14. បំពេញ user និង password ប្រសិនបើ password របស់អ្នកត្រឹមត្រូវ


15.  ចុច logout ប្រព័ន្ធនឹងត្រឡប់មក ទំព័រ login ដំបូង


សូមអរគុណសម្រាប់ការអានរបស់លោកអ្នក!



EmoticonEmoticon