PHP ile Şifremi Unuttum İşlemleri

Bu derste sizinle projelerinizde rahatlıkla kullanılabileceğiniz şifremi unuttum formatını paylaşacağım.

Bu derste sizinle projelerinizde rahatlıkla kullanılabileceğiniz şifremi unuttum formatını paylaşacağım.

sifre_sifirlama.php

 

<?php 

/*ini_set('display_errors', 1);

error_reporting(E_ALL);*/

header('Content-Type: text/html; charset=utf-8');

$dbhost ="localhost";

$dbveritabani = "deneme";

$dbkullanici = "root";

$dbsifre = "";

$dbadi = "deneme";

 $baglanti = mysql_connect($dbhost,$dbkullanici,$dbsifre);

 $dbsec = mysql_select_db('deneme');

 mysql_query("SET NAMES UTF8");  // veri tabanından türkçe yazıları bozmadan çekme işlemi yapması için

 $length = 32;

$string = "";

$characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-=+"; // change to whatever characters you want

while ($length > 0) {

    $string .= $characters[mt_rand(0,strlen($characters)-1)];

    $length -= 1;

}

 $sifirlama_anahtar = $string;

if (true === isset($_POST['email'])) {

  $sifirlama_anahtar = sha1($_POST['email'] . $sifirlama_anahtar);

  $email = $_POST['email'];

} else {

    echo 'email girilmedi';

    return;

}

$host = $_SERVER['HTTP_HOST'];

$emailSorgu = mysql_query("SELECT * FROM uyelik WHERE email = '" . $email . "'");

// Eğer email sistemde mevcut ise parola sıfırlama maili gönnder

if (mysql_num_rows($emailSorgu) > 0) {

    require 'PHPMailerAutoload.php';

    $emailBilgileri = mysql_fetch_assoc($emailSorgu);

    $isim            = $emailBilgileri['isim'];

    $soyisim        = $emailBilgileri['soyisim'];

    $sifirlamaAdres = 'sifre_yenile.php?anahtar=' . $sifirlama_anahtar;

    $konu            = 'Şifre Hatırlatma';

    $mesaj            = '<p>Sayın&nbsp;' . $isim . ' ' . $soyisim . ',</p>

                        <p>Şifremi sıfırlama adresi aşağıdadır...</p>

                        <p>Şifre sıfırlama adresi:&nbsp; <a href="http://' . $host . '/deneme/sifre_yenile.php?anahtar=' . $sifirlama_anahtar . '">Tıklayınız</a></p>

                        ';

    $headers  = 'MIME-Version: 1.0' . "rn";

    $headers .= 'Content-type: text/html; charset=utf-8' . "rn";

    $mail = new PHPMailer;

    $mail->isSMTP();                                      // Set mailer to use SMTP

    $mail->Host = 'smtp.gmail.com';  // Specify main and backup SMTP servers

    $mail->SMTPAuth = true;    

    //$mail->SMTPDebug = 1;// Enable SMTP authentication

    $mail->Username = 'sedakilic13@gmail.com';                 // SMTP kullanıcı

    $mail->Password = 'aliseda1329';                           // SMTP sifre

    $mail->SMTPSecure = 'tls';                            // Enable encryption, 'ssl' also accepted

    $mail->Port = 587;

    $mail->CharSet = 'UTF-8';

    $mail->From = 'sedakilic13@gmail.com';

    $mail->FromName = 'Seda KILIÇ';

    $mail->addAddress('sedakilic13@gmail.com');     // Add a recipient

    //$mail->addCC('cmrysseda@gmail.com');     // Add a recipient

    $mail->addReplyTo('sedakilic13@gmail.com');

    $mail->isHTML(true);                                  // Set email format to HTML

    $mail->Subject = $konu;

    $mail->Body    = $mesaj;

    if(!$mail->send()) {

        echo 'Message could not be sent.';

        echo 'Mailer Error: ' . $mail->ErrorInfo;

    } else {

        $simdi = new DateTime();

        $simdi = $simdi->format('Y-m-d H:i:s');

        mysql_query("UPDATE `uyelik` SET `sifirlama_anahtar` = '" . $sifirlama_anahtar . "' , sifirlama_tarihi = '" . $simdi . ", onay_durum = 0' WHERE `email` = '" . $email . "'");

        echo 'Mail gönderildi.';

    }

} else {

    echo 'email sistemde mevcut değil';

    return;

}

    ?> ? >

sifre_yenile.php

<?php  

include 'baglanti.php';

$sifirlama_anahtar   = $_GET['anahtar'];

$kayitvarmi = mysql_query('SELECT id FROM uyelik WHERE sifirlama_anahtar = "'. $sifirlama_anahtar. '"');

if (mysql_num_rows($kayitvarmi) == 0) {

    header('Location: index.php');

}

?> ? >

HTML kısmını ise aşağıdaki kodları kullanarak oluşturabilir, kendinize göre düzenleyebilirsiniz.

<div class="container">

    <div class="row text-center">

        <form class="form-signin col-md-6 col-md-offset-3" role="form" method="post" action="sifre_degistir.php">

            <h2 class="form-signin-heading">Şifre Değiştirme</h2>

            <div class="form-group">

                <input type="text" class="form-control" name="parola" id="exampleInputEmail1" placeholder="Yeni Parola" />

            </div>

            <div class="form-group">

                <input type="text" class="form-control" name="parolaonay" id="exampleInputEmail2" placeholder="Parola onay" />

            </div>
            <br>

            <button class="btn btn-lg btn-primary btn-block" type="submit">Parola Değiştir</button>

        </form>

    </div>

    <div class="row">

        <hr class="featurette-divider">

        <footer>

            <p class="pull-right"><a href="#">Gizlilik </a> &middot; </p>

            <p>Copyright &copy; 2014</p>

        </footer>

    </div>


Şifresini unutanlar için ise şu dosyayı kullanmak mümkün:

sifre_hatirlatma.php

<div class="container">

          <div class="row text-center">

              <form class="form-signin col-md-6 col-md-offset-3" role="form" method="post" action="sifre_sifirlama.php">

        <h2 class="form-signin-heading">Şifre Hatırlatma</h2>

 <div class="form-group">

        <input type="email" class="form-control" name="email" id="exampleInputEmail1" placeholder="email" />

 </div> <br>

 <button class="btn btn-lg btn-primary btn-block" type="submit">Parolayı sıfırla</button>

      </form> 

          </div>

          <div class="row">

       <hr class="featurette-divider">

        <footer>    

        <p class="pull-right"><a href="#">Gizlilik </a> &middot; </p>

            <p>Copyright &copy; 2014</p> 

              </footer>

          </div>

      </div>

sifre_degistir.php

<?php 

include 'baglanti.php';

$sifre1 = $_POST["parola"]; // 1. sifreyi cek --

$sifre2 = $_POST["parolaonay"]; // 2. sifreyi cek --

$sifirlama_anahtar = $_POST['anahtar'];

if ($sifre1 != $sifre2){

    echo "İki şifre birbirine uyuşmuyor"; 

    header("Location: sifre_yenile.php?anahtar=" . $sifirlama_anahtar);

}

$sifre1 = sha1($sifre1);

$sorgu = "UPDATE uyelik SET sifre = '" . $sifre1.  "', onay_durum = '1', sifirlama_anahtar = '', sifirlama_tarihi = '0000-00-00 00:00:00' WHERE  sifirlama_anahtar = '" . $sifirlama_anahtar . "' ";

$dogrulama  = mysql_query($sorgu);

?> ? >



Kolay gelsin.

 

Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

kurulunm olarak tam nasıl oluyor anlatabilitmisniz

Yukarı Git