มีปัญหากับโค้ดลืมรหัสผ่าน php คะ error ตรง $objResult = mysql_fetch_array($objQuery); คะ
พอใส่ username & e-mail ไปแล้วมันขึ้น error ตรง $objResult = mysql_fetch_array($objQuery); คะ
ForgotPassword.php
Code (PHP)
<form name="form1" method="post" action="SendPassword.php">
<table width="659">
<tr><td> </td><td colspan="2">
<H2>ลืมรหัสผ่าน</H2><td> </td>
<td width="16"></tr>
<tr> <td width="48"> </td>
<td width="131" align="right">รหัสผู้ใช้:</td>
<td width="338"><span id="sprytextfield1">
<input name="txtUsername" type="text" id="txtUsername" />
<span class="textfieldRequiredMsg">กรุณากรอกรหัสผู้ใช้</span></span></td>
<td width="102"> </td></tr>
<tr><td> </td><td align="right">อีเมล์:</td>
<td><span id="sprytextfield2">
<input name="txtEmail" type="text" id="txtEmail" />
<span class="textfieldRequiredMsg">กรุณากรอกอีเมล์</span></span></td><td> </td></tr>
<tr><td> </td><td> </td>
<td><input type="submit" name="btnSubmit" value=" ส่งรหัสผู้ใช้" />
<input type="reset" name="btnReset" value="ล้างข้อมูล" /></td>
<td> </td></tr>
</table></form>
SendPassword.php
Code (PHP)
<html>
<head>
<title>ส่งอีเมล์</title>
</head>
<body>
<?
mysql_connect("localhost","root","1234");
mysql_select_db("user_login");
$strSQL = "SELECT * FROM admin WHERE username = '".trim($_POST['txtUsername'])."'AND e-mail = '".trim($_POST['txtEmail'])."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if(!$objResult)
{
echo "ไม่พบรหัสผู้ใช้หรืออีเมล์ กรุณากรอกข้อมูลให้ถูกต้อง";
}
else
{
echo " ส่งรหัสผ่านเรียบร้อยแล้ว.<br> ส่งอีเมล์ : ".$objResult["e-mail"];
$strTo = $objResult["txtEmail"];
$strSubject = " นี่คือข้อมูลรหัสผู้ใช้และรหัสผ่านของคุณ";
$strHeader = "Content-type: text/html; charset=windows-874\n"; // or UTF-8 //
$strHeader .= "From: [email protected] \nReply-To: [email protected] ";
$strMessage = "";
$strMessage .= " ยินดีต้อนรับ : ".$objResult["first_name"].$objResult["last_name"]."<br>";
$strMessage .= "รหัสผู้ใช้ : ".$objResult["username"]."<br>";
$strMessage .= "รหัสผ่าน : ".$objResult["password"]."<br>";
$strMessage .= "=================================<br>";
$strMessage .= "กลุ่มงานฯฐานข้อมูล เทคโนโลยีสารสนเทศกลาง สำนักงานตำรวจแห่งชาติ<br>";
$flgSend = mail($strTo,$strSubject,$strMessage,$strHeader);
}
mysql_close();
?>
</body>
</html>
Tag : PHP, MySQL, HTML/CSS, JavaScript, Ajax, jQuery
Date :
2012-08-17 15:29:04
By :
custer
View :
2623
Reply :
14
ไฟล์ SendPassword.php
ตรงก่อนถึง and เว้นวรรคหน่อยก็ดีนะคับ เหมือนมันจะติดกันเลย
Date :
2012-08-17 15:32:52
By :
ichiko
เปลี่ยนบรรทัดที่ผมเขียนไว้ไปแทนที่บรรทัดในโปรแกรมนะครับ แล้วเอา ถ้ามี Error อะไรแสดงขึ้นมา เอามาให้ดูด้วยนะครับ ผมว่าแค่นี้น่าจะแก้ได้แล้วหละครับ
mysql_connect("localhost","root","1234") or die("Connect Database Error");
mysql_select_db("user_login") or die("Select Database Error");
$objQuery = mysql_query($strSQL) or die(mysql_error());
แต่ผมว่าผมน่าจะพอทราบจุดที่ผิดแต่ลองวิธีนี้ก่อนนะครับ
Date :
2012-08-17 16:04:17
By :
bshtraining
ลองต่อท้าย
$objQuery = mysql_query($strSQL) or die (mysql_error());
ดูครับ ว่ามันออกอะไร จะได้รู้ปัญหา
อีกวิธีหนึ่ง
$strSQL = "SELECT * FROM admin WHERE `username` = '".trim($_POST['txtUsername'])."' AND `e-mail` = '".trim($_POST['txtEmail'])."' ";
**** แต่เหมือนชื่อฟิลด์ด e-mail ดูแปลกๆนะครับ ลองแก้ดูก่อนว่าได้หรือเปล่า
ประวัติการแก้ไข 2012-08-17 16:07:46
Date :
2012-08-17 16:04:28
By :
adaaugusta
เอา table admin มาดูหน่อยครับ
Date :
2012-08-17 16:27:30
By :
adaaugusta
ตามนี้
Code (PHP)
$username = trim($_POST['txtUsername']);
$password = trim($_POST['txtEmail']);
$strSQL = "SELECT * FROM admin WHERE `username`='$username' AND `e_mail`='$password' ";
ประวัติการแก้ไข 2012-08-17 16:43:06
Date :
2012-08-17 16:42:33
By :
adaaugusta
ลอง
Code (PHP)
echo $strSQL; die();
แล้วนำ sql ที่ได้ไปรันใน phpmyadmin ดูครับ
Date :
2012-08-17 16:42:50
By :
ไวยวิทย์
โค๊ดปัจจุบันเป็นไงครับ เอาตัวแปรมาคิวรี่ผิดใช่ไหม
Date :
2012-08-18 15:22:08
By :
ikikkok
<html>
<head>
<title>ส่งอีเมล์</title>
</head>
<body>
<?
mysql_connect("localhost","root","1234") or die("Connect Database Error");
mysql_select_db("user_login") or die("Select Database Error");
$objQuery = mysql_query($strSQL) or die(mysql_error());
$username = trim($_POST['txtUsername']);
$e_mail = trim($_POST['txtEmail']);
$strSQL = "SELECT * FROM admin WHERE `username`='$username' AND `e_mail`='$e_mail' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if(!$objResult)
{
echo "ไม่พบรหัสผู้ใช้หรืออีเมล์ กรุณากรอกข้อมูลให้ถูกต้อง";
}
else
{
echo " ส่งรหัสผ่านเรียบร้อยแล้ว.<br> ส่งอีเมล์ : ".$objResult["e_mail"];
$strTo = $objResult["txtEmail"];
$strSubject = " นี่คือข้อมูลรหัสผู้ใช้และรหัสผ่านของคุณ";
$strHeader = "Content-type: text/html; charset=windows-874\n"; // or UTF-8 //
$strHeader .= "From: [email protected] \nReply-To: [email protected] ";
$strMessage = "";
$strMessage .= " ยินดีต้อนรับ : ".$objResult["first_name"].$objResult["last_name"]."<br>";
$strMessage .= "รหัสผู้ใช้ : ".$objResult["username"]."<br>";
$strMessage .= "รหัสผ่าน : ".$objResult["password"]."<br>";
$strMessage .= "=================================<br>";
$strMessage .= "กลุ่มงานฯฐานข้อมูล เทคโนโลยีสารสนเทศกลาง สำนักงานตำรวจแห่งชาติ<br>";
$flgSend = mail($strTo,$strSubject,$strMessage,$strHeader);
}
mysql_close();
?>
</body>
</html>
เอาสีแดงมาแทนสีเขียวครับ แบบนั้นมันก็ฟ้อง empty ซิ $strSQL อยู่ดีๆ ก็โผล่มา
Date :
2012-08-20 00:23:06
By :
ikikkok
Load balance : Server 03