php实现修改密码的问题
我用php实现密码修改,但是运行出来总是说我旧密码输入错误。明明没有输错,好像是和加密有关,加密之后验证就老出错,这是怎么回事<?php//如果提交了表单include"...
我用php实现密码修改,但是运行出来总是说我旧密码输入错误。明明没有输错,好像是和加密有关,加密之后验证就老出错,这是怎么回事
<?php
// 如果提交了表单
include "conn.php";
$action=$_GET["action"];
if($action=="edit"){
$pwd = trim($_POST['pwd']);
$pwd1 = trim($_POST['pwd1']);
$pwd2 = trim($_POST['pwd2']);
$sql = "select * from tb_teacher where teacher_psd='".md5($pwd)."' and teacher_id='".$_SESSION['user']."'";
//将$sql交由conn.php处理了
if( $pwd2!=$pwd1 ){
echo "两次输入的新密码不正确,请重新输入!";
}else{
if(mysql_num_rows( mysql_query($sql) ) ){
$sql="Update tb_teacher set teacher_psd='".md5($pwd2)."' where teacher_id='".$_SESSION['user']."'";
mysql_query($sql) or die(mysql_error());
echo "密码修改成功!";
}else{
echo "旧密码不正确,请重新输入!";
}
}
}
?>
<a href="tchpassword.php">返回</a> 展开
<?php
// 如果提交了表单
include "conn.php";
$action=$_GET["action"];
if($action=="edit"){
$pwd = trim($_POST['pwd']);
$pwd1 = trim($_POST['pwd1']);
$pwd2 = trim($_POST['pwd2']);
$sql = "select * from tb_teacher where teacher_psd='".md5($pwd)."' and teacher_id='".$_SESSION['user']."'";
//将$sql交由conn.php处理了
if( $pwd2!=$pwd1 ){
echo "两次输入的新密码不正确,请重新输入!";
}else{
if(mysql_num_rows( mysql_query($sql) ) ){
$sql="Update tb_teacher set teacher_psd='".md5($pwd2)."' where teacher_id='".$_SESSION['user']."'";
mysql_query($sql) or die(mysql_error());
echo "密码修改成功!";
}else{
echo "旧密码不正确,请重新输入!";
}
}
}
?>
<a href="tchpassword.php">返回</a> 展开
展开全部
数据库是mysql的话,去phpmyadmin里面对tb_teacher表执行一个查询(select)的操作,然后把生成的sql代码拷贝到你的php程序里面,替换掉你自己写的
$sql = "select * from tb_teacher where teacher_psd='".md5($pwd)."' and teacher_id='".$_SESSION['user']."'";
查询语句
有的时候自己用php写的sql并没有错,但是mysql就是不认
$sql = "select * from tb_teacher where teacher_psd='".md5($pwd)."' and teacher_id='".$_SESSION['user']."'";
查询语句
有的时候自己用php写的sql并没有错,但是mysql就是不认
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-01-05 · 知道合伙人数码行家
关注
展开全部
数据库是mysql的话,去phpmyadmin里面对tb_teacher表执行一个查询(select)的操作,然后把生成的sql代码拷贝到你的php程序里面,替换掉自己写的
$sql = "select * from tb_teacher where teacher_psd='".md5($pwd)."' and teacher_id='".$_SESSION['user']."'";查询语句
有的时候自己用php写的sql并没有错,但是mysql就是不认。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的sql语句有问题,teacher_id 能等于$_SESSION['user']?你的这个user存的是用户id?
还有像md5($pwd) 这样的最好先赋给一个变量,在放里面去。
$sql = select * from tb_teacher where teacher_psd = "md5($pwd)" and teacher_id = "$_SESSION['id']"
还有像md5($pwd) 这样的最好先赋给一个变量,在放里面去。
$sql = select * from tb_teacher where teacher_psd = "md5($pwd)" and teacher_id = "$_SESSION['id']"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(mysql_num_rows( mysql_query($sql) ) ) 此处多了一个括号
$sql="Update tb_teacher set teacher_psd='".md5($pwd2)."' where teacher_psd='".md5($pwd)."' and teacher_id='".$_SESSION['user']."'";
$sql="Update tb_teacher set teacher_psd='".md5($pwd2)."' where teacher_psd='".md5($pwd)."' and teacher_id='".$_SESSION['user']."'";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先你看下数据库有没有改到密码···没有的话··你把select的sql打印出来···直接在phpmyadmin中运行·看有没有找出数据···没有的话·就是你的sql有问题··
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询