php+mysq 修改用户密码(用password加密)_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:PHP+Ajax 实现分页技术
基于php和ajax的分页技术代码,下面有两个php文件,一个是sn_inq.php,另一个是sn_show.php,前一个php文件调用后一个php文件,实现ajax分页,运行sn_inq即可实现效果,不过得修改数据库哦。具体代码如下:红色标注的地方要特别注意修改哦! 我的数据库名是i

php+mysq 修改用户密码(用password加密)
Author: lucas Date:2007.11.10

完整代码如下:


<?php
session_start();
?>

<script type="text/javascript"><!--
function checkinput(form){
if(document.mod_pwd.curr_pwd.value==""){
alert("請輸入原始密碼!");
document.mod_pwd.curr_pwd.select();
return(false);
}
if(document.mod_pwd.new_pwd.value==""){
alert("請輸入新密碼!");
document.mod_pwd.new_pwd.select();
return(false);
}
if(document.mod_pwd.new_pwd.value.length <6){
alert("請至少輸入6位新密碼!");
document.mod_pwd.new_pwd.select();
return(false);
}
if(document.mod_pwd.renew_pwd.value==""){
alert("請再輸入一遍新密碼!");
document.mod_pwd.renew_pwd.select();
return(false);
}
if(document.mod_pwd.new_pwd.value!=document.mod_pwd.renew_pwd.value){
alert("您兩次輸入的密碼不一緻,請重新輸入!");
mod_pwd.renew_pwd.select();
return(false);
}
}
--></script>

<?php

//_SESSION['sys_user_id'] 是通过session获得登录时用户的ID即user_id。

//Function:连接数据库
//数据库:inv ,用户:root, 密码:831025
function db_link()
{
access_id = "root";
db_name = "inv";

@ db = mysql_connect('localhost', access_id, '831025') or
die("Could not connect to database. ");
mysql_query("SET NAMES 'GBK'");//显示中文
mysql_select_db(db_name);
return db;
}
link=db_link();

//Funtion:根据用户ID,获得用户name
//表:sys_user 字段:user_id,user_name,user_real_name,user_muser,user_mdate...
function get_user(user_id, user_field)
{
if (user_id == 0 && (user_field == "user_name" || user_field == "user_real_name"))
return "none";
else {
user_sql = "SELECT ".user_field." FROM sys_user WHERE user_id = ".user_id;
user_res = mysql_query(user_sql);
user_num = mysql_num_rows(user_res);
if (user_num > 0) {
user_row = mysql_fetch_array(user_res);
return user_row[0];
}
else
return "";
}
}

echo '<form name="mod_pwd" action="" method="post" onsubmit="return checkinput(this)">
<table cellpadding="0" cellspacing="1">
<tr>
<th class="criteria"> 用户名: </th>
<td><input type="text" name="user_name" size="15" maxlength="15" value="'.get_user(_SESSION['sys_user_id'],'user_name').'"></td>
</tr>
<tr>
<th class="criteria"> 原始密码: </th>
<td><input type="password" name="curr_pwd" size="15" maxlength="15" value="'._POST['curr_pwd'].'"></td>
</tr>
<tr>
<th class="criteria"> 新密码: </th>
<td><input type="password" name="new_pwd" size="15" maxlength="15" value="'._POST['new_pwd'].'"></td>
</tr>
<tr>
<th class="criteria"> 确认新密码: </th>
<td><input type="password" name="renew_pwd" size="15" maxlength="15" value="'._POST['renew_pwd'].'">
<input type="submit" name="save" value="Save"></td>
</tr>
</table>
</form>';

if (_POST['save'] == 'Save') {

curr_pwd = _POST['curr_pwd']; //用户输入的原始密码
new_pwd = _POST['new_pwd']; //用户输入的新密码
renew_pwd = _POST['renew_pwd'];

//从数据库获得用户真正的原始密码
user_curr_sql = "SELECT user_password FROM sys_user WHERE user_id = '"._SESSION['sys_user_id']."' ";
user_curr_res = mysql_query(user_curr_sql);
user_curr_row = mysql_fetch_array(user_curr_res);
user_curr_pwd = user_curr_row['user_password'];

//对用户输入的原始密码用password进行加密,以便和真正的原始密码进行比较
user_encode_pwd = "SELECT password(curr_pwd);";
user_encode_res = mysql_query(user_encode_pwd);
user_encode_row = mysql_fetch_array(user_encode_res);
user_encode_pwd = user_encode_row[0];

//比较用户输入的原始密码和从数据库中取得的原始密码
if(user_encode_pwd != user_curr_pwd){
//原始密码错误
echo '<script>alert("您输入的原始密码错误,请重新输入!");</script>';
}else{
//原始密码正确则修改用户密码
user_pwd_sql = "UPDATE sys_user SET user_password=password('".new_pwd."'),user_muser='"._SESSION['sys_user_id']."',user_mdate=now() WHERE user_id = '"._SESSION['sys_user_id']."' ";
user_pwd_res = mysql_query(user_pwd_sql);
if (user_pwd_res) {
echo '<script>alert("密码修改成功!");</script>';
}else {
echo '<script>alert("密码修改失败!");</script>';
}
}
}
?>

 

分享:浅析PHP实现同步远程Mysql
需求:由于公司的英文网站放置在美国,而这些网站的数据要与大陆的服务器数据同步。 同步时间在一天之内。 拿到需求之后,发现这两个网站的MYSQL数据库都不能远程访问(安全第一吧)。于是想起了 平时使用的CSV文件批量录入数据。于是尝试使用CSV导入导出。 导

来源:模板无忧//所属分类:PHP教程/更新时间:2010-03-24
相关PHP教程