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教程