มีปัญหาเรื่องโค้ด php เรื่องเปลี่ยนรหัสผ่านคะ ผิดตรง $num = mysql_num_rows($result);
Code (PHP)
<?php
$oldpassword = trim($_POST["oldpassword"]);
$password = trim($_POST["password"]);
$repassword = trim($_POST["repassword"]);
$sql = "select username,password from admin where username='$username' and password='$oldpassword'"; //น่าจะตรงนี้นะครับต้อง select username,password มาให้ครบด้วย
$result = mysql_query($sql);
$num = mysql_num_rows($result);
if ($num==0)
die("<script>
alert('Old password incorrect');
history.back();
</script>");
if ($password != $repassword)
die("<script>
alert('Password is not same');
history.back();
</script>");
$password = md5($password);
$sql = "update admin set
password='$password'
where username='$username'";
$result = mysql_query($sql) or die("Err : $sql");
echo "<script>
alert('Update Password');
window.location='admin_page_ok_13.php';
</script>";?>
ประวัติการแก้ไข 2012-08-25 21:15:56
Date :
2012-08-25 21:14:51
By :
tongkamlekdee
Code (PHP)
มีการวางยาตัวเองนะครับเนี่ย
<form action="check_changepwd.php" id="form1" name="form1" method="POST">
<table width="782" height="268">
<tr>
<td width="48"> </td>
<td width="205"><H2>เปลี่ยนรหัสผ่าน</H2></td>
<td width="513"> </td></tr>
<tr><td> </td>
<td><p>รหัสผู้ใช้</p></td>
<td><input name="username" type="text"/></td></tr>
<tr><td> </td>
<td><p>รหัสผ่านเดิม</p></td>
<td><input type="password" name="oldpassword" id="oldpassword" /></td></tr> <!--ตรง name="oldpassword " มีช่องว่างต้องลบช่องว่าง name="oldpassword"-->
<tr><td> </td>
<td><p>รหัสผ่านใหม่</p></td>
<td><input type="password" name="password" id="password" /></td></tr><!--จุดที่ 2 -->
<tr>
<td> </td>
<td><p>ยืนยันรหัสผ่านใหม่</p></td>
<td><input type="password" name="repassword" id="repassword" /></td></tr><!--จุดที่ 3 -->
<tr><td> </td>
<td> </td>
<td><input type="submit" name="btnChange" value="เปลี่ยนรหัสผ่าน" /></td></tr></table></form>
check_changepwd.php
<?php
$oldpassword = trim($_POST["oldpassword"]);
$password = trim($_POST["password"]);
$repassword = trim($_POST["repassword"]);
$sql = "select username,password from admin where username='$username' and password='$oldpassword'"; //น่าจะตรงนี้นะครับต้อง select username,password มาให้ครบด้วย
$result = mysql_query($sql);
$num = mysql_num_rows($result);
if ($num==0)
die("<script>
alert('Old password incorrect');
history.back();
</script>");
if ($password != $repassword)
die("<script>
alert('Password is not same');
history.back();
</script>");
$password = md5($password);
$sql = "update admin set
password='$password'
where username='$username'";
$result = mysql_query($sql) or die("Err : $sql");
echo "<script>
alert('Update Password');
window.location='admin_page_ok_13.php';
</script>";?>
Date :
2012-08-25 22:05:51
By :
tongkamlekdee
มี error อะไรบ้างครับ ]
ประวัติการแก้ไข 2012-08-26 20:05:25
Date :
2012-08-26 18:08:31
By :
tongkamlekdee
Code (PHP)
ลองตรวจสอบไปที่ละจุดดูครับ หาสาเหตุ
<?php
require_once("config.php");
$username = trim($_POST["username"]);
$oldpassword = trim($_POST["oldpassword"]);
$password = trim($_POST["password"]);
$repassword = trim($_POST["repassword"]);
echo
$sql = "select username,password from admin where username='$username' and password='$oldpassword'";
$result = mysql_query($sql);
echo
$num = mysql_num_rows($result);
if ($num==0){
echo "Old password incorrect";
}
/*
die("<script>
alert('Old password incorrect');
history.back();
</script>");
*/
if ($password != $repassword){
echo "Password is not same";
}else{
/*
die("<script>
alert('Password is not same');
history.back();
</script>");
*/
//$password = md5($password);
echo
$sql = "update admin set
password='$password'
where username='$username'";
$result = mysql_query($sql) or die("Err : $sql");
/*
echo "<script>
alert('Update Password');
window.location='admin_page_ok_13.php';
</script>";
*/
}
?>
Date :
2012-08-26 20:59:20
By :
tongkamlekdee
Code (PHP)
ถ้าเอาแค่นี้ จะฟ้องอะไรบ้าง ลองดูครับ ไปทีละขั้นตอน
<?php
require_once("config.php");
$username = trim($_POST["username"]);
$oldpassword = trim($_POST["oldpassword"]);
$sql = "select username,password from admin where username='$username' and password='$oldpassword'";
$result = mysql_query($sql);
echo
$num = mysql_num_rows($result);
?>
ประวัติการแก้ไข 2012-08-26 21:55:39
Date :
2012-08-26 21:55:07
By :
tongkamlekdee
Code (PHP)
ผมลองดูแล้วเลยพบว่าโค้ดไม่ผิดเลย แต่ผิดตรงที่ไม่มีการ connect mysql ครับลองใหม่
<?php
$objConnect = mysql_connect("localhost","root","123"); //เปลี่ยน รหัสผ่านด้วยนะ
if($objConnect) {
}else{
echo "Database Connect Failed.";
}
$objDB = mysql_select_db("test"); //เปลี่ยนชื่อฐานข้อมูลด้วย
$username = trim($_POST["username"]);
$oldpassword = trim($_POST["oldpassword"]);
$password = trim($_POST["password"]);
$repassword = trim($_POST["repassword"]);
$sql = "select username,password from admin where username='$username' and password='$oldpassword'";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
if ($num==0){
echo "Old password incorrect";
}
/* die("<script>
alert('Old password incorrect');
history.back();
</script>");
*/
if ($password != $repassword){
echo "Password is not same";
}else{
/* die("<script>
alert('Password is not same');
history.back();
</script>");
*/
//$password = md5($password);
$sql = "update admin set
password='$password'
where username='$username'";
$result = mysql_query($sql) or die("Err : $sql");
echo "Updated! password";
/*
echo "<script>
alert('Update Password');
window.location='admin_page_ok_13.php';
</script>";
*/
}
?>
ประวัติการแก้ไข 2012-08-26 23:26:15
Date :
2012-08-26 23:24:34
By :
tongkamlekdee
Load balance : Server 03