|
|
|
ช่วยเขียนโค๊ดในการตรวจสอบ username,password,captcha ทีครับ ผมแก้ไม่ได้จริงๆ |
|
|
|
|
|
|
|
ตอนนี้ผมใส่ username กับ password แล้วมันก็เช็ครหัสตามปกติแล้วครับ เช็คตามในฐานข้อมูลเลย แต่ปัญหาตอนนี้คืออยากให้มันเช็ค captcha ก่อนเข้าไปด้วยอ่าครับ ช่วยบอกทีนะครับว่าผมต้องแก้ส่วนไหนบ้าง และอีกอย่างคือผมต้องการให้แสดงหน้าต่างหรือข้อความเพื่อตรวจจับค่าว่างในช่อง username ,password,captcha
Code (PHP)
<?php require_once('Connections/config.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['txtUser'])) {
$loginUsername=$_POST['txtUser'];
$password=$_POST['txtPass'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "Login_success.php";
$MM_redirectLoginFailed = "LogIn.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_config, $config);
$LoginRS__query=sprintf("SELECT id_user, password FROM member WHERE id_user=%s AND password=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $config) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
<!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=utf-8" />
<title>ลงชื่อเข้าใช้งานระบบ</title>
<style type="text/css">
body {
background-color: #999;
}
</style>
</head>
<body>
<?
function ranDomStr($length){
$str2ran = 'abcdefghijklmnopqrstuvwxyz0123456789';//string ที่เป็นไปได้จะใช้ในการ random ซึ่งสามารถเพิ่มลดได้ตามความต้องการ
$str_result = "";//สตริงว่างสำหรับจะรับค่าจากการ random
while(strlen($str_result)<$length){//วนลูปจนกว่าจะได้สตริงตามความยาวที่ต้องกาาร
$str_result .= substr($str2ran,(rand()%strlen($str2ran)),1);//ต่อ string จาก substring ที่ได้จากการ random ตำแหน่ง ที่ละ 1 ตัว จนกว่าจะครบความยาวที่ส่งมา
}
return($str_result);//ส่งค่ากลับ
}
$ran_str = ranDomStr(6);//สั่ง random string
?>
<form ACTION="<?php echo $loginFormAction; ?>" id="form1" name="form1" method="POST">
<center>
<table width="294" cellspacing="2">
<tr>
<td width="65" align="right"><label for="txtUser2">Username ::</label></td>
<td width="180"><input type="text" name="txtUser" id="txtUser2" /></td>
</tr>
<tr>
<td align="right">Password ::</td>
<td><input type="password" name="txtPass" id="txtPass" /></td>
</tr>
<tr>
<td align="right"> </td>
<td><img src="pic_text.php?str=<?=$ran_str?>" /></td>
</tr>
<tr>
<td align="right">Code :: </td>
<td><input name="code_input" type="text" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="btnLogin" id="btnLogin" value="Login" /></td>
</tr>
</table>
<p> </p>
<p></p></center>
</form>
</body>
</html>
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2013-08-30 18:14:28
|
|
|
|
|
Date :
2013-08-30 18:13:46 |
By :
l3ios |
View :
1844 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอา Code มาจากไหนครับ ดูยากครับ อันที่จรงมันเขียนได้สั้น ๆ คับ
Code (PHP)
<?
session_start();
mysql_connect("localhost","root","root");
mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM member WHERE Username = '".trim($_POST['txtUsername'])."'
and Password = '".trim($_POST['txtPassword'])."'";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if(!$objResult)
{
echo "Username and Password Incorrect!";
}
else
{
$_SESSION["UserID"] = $objResult["UserID"];
$_SESSION["Status"] = $objResult["Status"];
session_write_close();
if($objResult["Status"] == "ADMIN")
{
header("location:admin_page.php");
}
else
{
header("location:user_page.php");
}
}
mysql_close();
?>
PHP MySQL กับ Login Form ทำระบบ User ล็อกอิน แบบง่าย ๆ ด้วย PHP และ MySQL โดยทำการตรวจสอบ Username และ Password
|
|
|
|
|
Date :
2013-08-30 22:04:57 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เลิกใช้ Dream เขียน Code ชีวิตจะง่ายขึ้นเยอะครับ อยากให้เรียนรู้การเขียน Code เอง ส่วน Dream ใช้เฉพาะ Design ก็พอครับ
|
|
|
|
|
Date :
2013-08-30 23:42:24 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|