Nama domain www.web-buya.com diganti dengan nama www.arofat.com



Indonesian Arabic English
Jum'at, April 18, 2014

PHP - Cara Mengganti Password User Login

php-mysqlBismillahirrahmaanirrahiim. Akhirnya sudah harus bersiap-siap kembali posting artikel di web-buya.com walaupun mungkin posting ny hanya bisa jarang" saja, maklum ada aktifitas lain yg harus kami kerjakan juga. Setelah fakum selama kurang lebih 1 bulan, kini admin web buya siap untuk update artikel kembali, sampai" lupa pembahasan yang sederhanapun terlewatkan, yaitu cara mengganti password user login pakai php.

Mungkin dari beberapa agan sekalian ada yang belum tahu script php cara merubah password user, untuk itu sengaja saya bahas disini, walau mungkin sudah ada beberapa dari situs lain yang sudah membahas nya, nyatanya anda pun mampir ke pembahasan cara merubah password user yang akan saya bahas dibawah ini.

Oke langsung saja. Untuk langkah awal seperti biasa tentunya kita siapakan dulu sebuah tabel dengan nama contoh tabel : user  . dan untuk field" ny silahkan ikuti sperti pada contoh gambar dibawah ini saja :

user2

setelah selesai membuat tabel seperti contoh gambar diatas, kita buat script untuk input user nya :

 

<?php
include 'koneksi.php';

include 'fungtion.php';


$err = array();
                    
if($_POST['doSimpan'] == 'Simpan')
{

*****************************************************************/
foreach($_POST as $key => $value) {
    $data[$key] = filter($value);
}

/************************ SERVER SIDE VALIDATION **************************************/
/********** This validation is useful if javascript is disabled in the browswer ***/

if(empty($data['nmuser']) || strlen($data['nmuser']) < 3)
{
$err[] = "ERROR - Nama Salah,silahkan masukan 3 atau lebih karakter untuk nama anda...!";
//header("Location: register.php?msg=$err");
//exit();
}

// Validate Email
if(!isEmail($data['usr_email'])) {
$err[] = "ERROR - email address salah.";
//header("Location: register.php?msg=$err");
//exit();
}
// Check User Passwords
if (!checkPwd($data['password'],$data['password2'])) {
$err[] = "ERROR - Password salah,ulangi...! silahkan masukan lebih dari 5 karakter";
//header("Location: register.php?msg=$err");
//exit();
}
      
$user_ip = $_SERVER['REMOTE_ADDR'];

// stores sha1 of password
$sha1pass = PwdHash($data['password']);

$usr_email = $data['usr_email'];
$iduser = $data['iduser'];

/************ USER EMAIL CHECK ************************************
This code does a second check on the server side if the email already exists. It
queries the database and if it has any existing email it throws user email already exists
*******************************************************************/

$rs_duplicate = mysql_query("select count(*) as total from user where user_email='$usr_email' OR iduser='$iduser'") or die(mysql_error());
list($total) = mysql_fetch_row($rs_duplicate);

if ($total > 0)
{
$err[] = "ERROR - Maaf password / username sudah digunakan,silahkan gunakan password atau username lain....!";
//header("Location: input-user.php?msg=$err");
//exit();
}
/***************************************************************************/
if(empty($err)) {

$sql_insert = "INSERT into `user`
  (`nmuser`,`user_email`,`password`,`approved`,`iduser`,`alamat`,`user_level`,`status`
            )
            VALUES
            ('$data[nmuser]','$usr_email','$sha1pass','1','$iduser','$alamat','$user_level','$status'
            )
            ";
            
mysql_query($sql_insert) or die("Insertion Failed:" . mysql_error());
$md5_id = md5($user_id);
mysql_query("update user set md5_id='$md5_id' where iduser='$user_id'");
//    echo "<h3>Thank You</h3> We received your submission.";

  header("Location: input-user.php");  
  exit();
    
     }
        }        
?>


<html>
<head>
<title>Input User Operator</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/jquery.validate.js"></script>

  <script>
  $(document).ready(function(){
    $.validator.addMethod("username", function(value, element) {
        return this.optional(element) || /^[a-z0-9\_]+$/i.test(value);
    }, "Username must contain only letters, numbers, or underscore.");

    $("#form").validate();
  });
  </script>
<style type="text/css">
<!--
body {
    background-image: url(image/background.jpg);
    background-repeat:no-repeat;
    background-position:top;
    font-family:"Courier New", Courier, monospace;
    font-weight:bold;
}
.style6 {color: #003300}
.style7 {color: #0099FF}
.style8 {color: #0033FF}
-->
</style>
<link href="/styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="95%" border="0" cellspacing="0" cellpadding="0">
<tr>
        <?php    
     if(!empty($err))  {
       echo "<div class=\"msg\">";
      foreach ($err as $e) {
        echo "* $e <br>";
        }
      echo "</div>";    
       }
     ?>

      <form action="input-user.php" method="post" name="regForm" id="Form" enctype="multipart/form-data" >
        <table width="95%" border="0" cellpadding="3" cellspacing="3" class="forms">
          <tr>
            <td bgcolor="#F5F5F5">Nama Lengkap<span class="required"><font color="#CC0000">*</font></span></td>
              <td bgcolor="#F5F5F5"><input name="nmuser" type="text" id="nmuser" minlength="5" class="required"></td>
          </tr>
          <tr>
            <td bgcolor="#F5F5F5">Alamat<span class="required"><font color="#CC0000">*</font></span></td>
              <td bgcolor="#F5F5F5"><textarea name="alamat" class="required" id="alamat" minlength="5"></textarea></td>
          </tr>
          <tr>
            <td bgcolor="#F5F5F5">Username<span class="required"><font color="#CC0000">*</font></span></td>
            <td bgcolor="#F5F5F5"><input name="iduser" type="text" id="iduser" class="required username" minlength="5" >
                          </td>
          </tr>
          <tr>
            <td bgcolor="#F5F5F5">Email<span class="required"><font color="#CC0000">*</font></span>            </td>
            <td bgcolor="#F5F5F5"><input name="usr_email" type="text" id="usr_email3" class="required email">
              </td>
          </tr>
          <tr>
            <td bgcolor="#F5F5F5">Password<span class="required"><font color="#CC0000">*</font></span>            </td>
            <td bgcolor="#F5F5F5"><input name="password" type="password" class="required password" minlength="5" id="pwd">
              <span class="example">** minimal 5 karakter..</span></td>
          </tr>
          <tr>
            <td bgcolor="#F5F5F5">Ulang Password<span class="required"><font color="#CC0000">*</font></span>            </td>
            <td bgcolor="#F5F5F5"><input name="password2"  id="password2" class="required password" type="password" minlength="5" equalto="#pwd"></td>
          </tr>
          <tr>
            <td bgcolor="#F5F5F5">User Level<span class="required"><font color="#CC0000">*</font></span>            </td>
            <td bgcolor="#F5F5F5"><select name="user_level" id="user_level">
                  <option value="1">Operator</option>
                  <option value="5">Admin</option>
                </select> </td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
          </tr>
        </table>
        <p align="center">
          <input name="doSimpan" type="submit" id="doRegister" value="Simpan">
          </form>
 
      </td>
    <td width="196" valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="3">&nbsp;</td>
  </tr>
</table>
<?Php
?>
</body>
</html>

simpan kode diatas dengan nama input-user.php .  lalu silahkan buat kembali file dengan nama fungtion.php dan masukan script berikut :

function filter($data) {
    $data = trim(htmlentities(strip_tags($data)));
    
    if (get_magic_quotes_gpc())
        $data = stripslashes($data);
    
    $data = mysql_real_escape_string($data);
    
    return $data;
}

function isEmail($email){
  return preg_match('/^\S+@[\w\d.-]{2,}\.[\w]{2,6}$/iU', $email) ? TRUE : FALSE;
}

function isUserID($username)
{
    if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) {
        return true;
    } else {
        return false;
    }
 }

function checkPwd($x,$y)
{
if(empty($x) || empty($y) ) { return false; }
if (strlen($x) < 4 || strlen($y) < 4) { return false; }

if (strcmp($x,$y) != 0) {
 return false;
 }
return true;
}

function GenPwd($length = 7)
{
  $password = "";
  $possible = "0123456789bcdfghjkmnpqrstvwxyz"; //no vowels
 
  $i = 0;
    
  while ($i < $length) {

    
    $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
       
    
    if (!strstr($password, $char)) {
      $password .= $char;
      $i++;
    }

  }

  return $password;

}

function PwdHash($pwd, $salt = null)
{
    if ($salt === null)     {
        $salt = substr(md5(uniqid(rand(), true)), 0, SALT_LENGTH);
    }
    else     {
        $salt = substr($salt, 0, SALT_LENGTH);
    }
    return $salt . sha1($pwd . $salt);
}

fungsi" yang ada pada file fungtion.php ini ada kaitanya dengan script yang ada pada input-user.php jadi wajib dibuat, jika tidak ingin meng include file fungtion.php , silahkan modifikasi ulang script pada input-user.php

Setelah selesai dibuat, sekarang anda sudah bisa mencobanya dengan menginputkan user baru, jika tidak ada masalah pada scriptnya, tentunya input user akan berhasil, karena sudah saya test. Jika sudah berhasil input usernya, sekarang kita akan buat script untuk cara ganti password user. Buatlah file dengan nama gpwd.php dan masukan script berikut :

<?php
include 'koneksi.php';

if($_POST['doGanti'] == 'Ganti')  
{

//check  password lama
    if($old === PwdHash($_POST['pwd_old'],$old_salt))
    {
    $newsha1 = PwdHash($_POST['pwd_new']);
    mysql_query("update user set password='$newsha1' where iduser='$_SESSION[user_id]'");
    $msg[] = "Password baru sudah diupdate";
    //header("Location: mysettings.php?msg=Your new password is updated");
    } else
    {
     $err[] = "Password lama tidak cocok";
     //header("Location: mysettings.php?msg=password lama anda tidak valid");
    }

}
 
?>
<html>
<head>
<title>Input User Operator</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/jquery.validate.js"></script>

  <script>
  $(document).ready(function(){
    $.validator.addMethod("username", function(value, element) {
        return this.optional(element) || /^[a-z0-9\_]+$/i.test(value);
    }, "Username must contain only letters, numbers, or underscore.");

    $("#form").validate();
  });
  </script>
<style type="text/css">
<!--
body {
    background-image: url(image/background.jpg);
    background-repeat:no-repeat;
    background-position:top;
    font-family:"Courier New", Courier, monospace;
    font-weight:bold;
}
.style6 {color: #003300}
.style7 {color: #0099FF}
.style8 {color: #0033FF}
-->
</style>
<link href="/styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="95%" border="0" cellspacing="0" cellpadding="0">
<tr>
        <?php    
     if(!empty($err))  {
       echo "<div class=\"msg\">";
      foreach ($err as $e) {
        echo "* $e <br>";
        }
      echo "</div>";    
       }
     ?>
<?php
$query=mysql_query("SELECT * FROM user where iduser='$_SESSION[user_id]'");
    //menampilkan data
    while($row=mysql_fetch_array($query)){
?>
      <form action="gpwd.php" method="post"  >
          <table width="95%" border="0" cellpadding="3" cellspacing="3" class="forms">
          <tr>
            <td bgcolor="#F5F5F5">Username<span class="required"><font color="#CC0000">*</font></span>            </td>
            <td bgcolor="#F5F5F5"><input name="iduser" id="iduser" value=""/readonly>
              <span class="example"></span></td>
          </tr>
          <tr>
            <td bgcolor="#F5F5F5">Password Lama<span class="required"><font color="#CC0000">*</font></span>            </td>
            <td bgcolor="#F5F5F5"><input name="pwd_old" type="password" class="required password" minlength="5" id="pwd_old" >
              <span class="example"></span></td>
          </tr>
          <tr>
            <td bgcolor="#F5F5F5">Password Baru<span class="required"><font color="#CC0000">*</font></span>            </td>
            <td bgcolor="#F5F5F5"><input name="pwd_new"  id="pwd_new" class="required password" type="password" minlength="5" ></td>
          </tr>
          </table>
        <p align="center">
          <input name="doGanti" type="submit" id="doGanti" value="Ganti">
          </form>
 
      </td>
    <td width="196" valign="top">&nbsp;</td>
  </tr>
  <tr>
    <? } ?>
  </tr>
</table>
</body>
</html>

pada kolom username silahkan isi valuenya <? echo $row['iduser'];?> atau sesuaikan dengan nama filed pada tabel user anda.

Perlu diingat, script ganti password yg saya bahas diatas itu script utk ganti password per user login, atau hanya user yg login yg bisa ganti password. Namun jika anda ingin script ini disimpan pada menu admin, atau admin yang bisa melakukan penggantian password pada setiap user nya, silahkan di modifiaksi ulang script diatas, seperti contoh script :

mysql_query("update user set password='$newsha1' where iduser='$_SESSION[user_id]'"); anda bisa merubahnya seperti ini :

mysql_query("update user set password='$newsha1' where iduser='$iduser'); dan tentunya perlu ditambahkan script :

$iduser = $_GET['iduser'];
    $sql = "select * from user where iduser='$iduser'";
    $result = mysql_query($sql);
    $row = mysql_fetch_array($result);

pada form edit password dan form tabel user.

jadi pada form user saya kasih contoh dasarnya sepeti ini :

$iduser = $_GET['iduser'];
    $sql = "select * from user where iduser='$iduser'";
    $result = mysql_query($sql);
    $row = mysql_fetch_array($result);

<a href="/edit_password.php?iduser=<?php echo "".$row['iduser']."";?>" target="">Edit Password</a>

baru pada file edit_password.php masukan contoh script ganti password diatas atau seperti pada file gpwd.php.

Cukup sekian dulu tutor kali ini, dan seperti biasa jika ada script yg tidak berfungsi jangan sungkan" untuk komentar..:)

NB: Oo ya sampai lupa, script yg saya jelaskan diatas, untuk merubah password yang sudah diencrypt seperti contoh password : as45as1e22f88ddf4555ds . Dan jika berpassword biasa atau : 1234566789 anda hanya perlu menghilangkan beberapa script saja pada script diatas, tidak serumit script untuk password yg diencrypt.





Silahkan mengkopi artikel pada website ini dengan mencantumkan sumbernya.
Jika menemukan link yang mati, silahkan kontak kami atau anda bisa mengirimkan komentar
Setelah membaca artikel diatas jangan lupa kirim Komentarnya....!!!

TINGGALKAN KOMENTAR

Mohon perhatian kepada komentator...1). Kami berhak mengedit, menyortir bahkan memblok IP anda jika dipandang tidak sesuai dengan visi dan misi kami tanpa pemberitahuan terlebih dahulu. 2). Jika anda telah mengeklik tombol send dan komentar anda belum muncul, coba dulu klik tombol 'Refresh Comments List', atau mungkin komentar anda sedang menunggu persetujuan kami untuk dipublish. 3). Jika ikon anda ingin ditampilkan di kolom komentar, silakan daftarkan email anda di Gravatar.com. Terima kasih atas komentar dan perhatian anda.

Security code
Refresh

eXTReMe Tracker