YARDIM Şifremi unuttum ?

simsekcafe

KY Uzman Üye
KY YardımSever
Katılım
24 Eki 2021
Mesajlar
260
Çözümler
2
Tepkime puanı
16
Puanları
48
Web panelde şifremi unuttum yapınca gerekli mail gönderildi yazısı geliyor ama mail gönderme işlemi başarısız oluyor konu hakkında bilgi sahibi varsa yardımcı olabilir mi?
 

simsekcafe

KY Uzman Üye
KY YardımSever
Katılım
24 Eki 2021
Mesajlar
260
Çözümler
2
Tepkime puanı
16
Puanları
48
gmail ile yapamadım olayı
 
Son düzenleme:

simsekcafe

KY Uzman Üye
KY YardımSever
Katılım
24 Eki 2021
Mesajlar
260
Çözümler
2
Tepkime puanı
16
Puanları
48
1 2 yol izliyorum yinede yardımcı olmak isteyenlerden yorum beklemekteyim
 

Aakinci

Co-Admin
Premium Üye
KY Saygın Üye
KY YardımSever
KY Kod Editörü
Katılım
5 Tem 2021
Mesajlar
524
Çözümler
84
Tepkime puanı
250
Puanları
93
Yaş
32
Web işinden pek anlamam ama şöyle yapabilirsiniz hocam, şifremi unuttum diyip gizli soruyu doğru yazanlara random bir sifre verip mesaj kutucugunda gosterirsiniz. Sonra kişi isterse bu şifre ile giriş yapip değiştirebilir.
 

simsekcafe

KY Uzman Üye
KY YardımSever
Katılım
24 Eki 2021
Mesajlar
260
Çözümler
2
Tepkime puanı
16
Puanları
48
Web işinden pek anlamam ama şöyle yapabilirsiniz hocam, şifremi unuttum diyip gizli soruyu doğru yazanlara random bir sifre verip mesaj kutucugunda gosterirsiniz. Sonra kişi isterse bu şifre ile giriş yapip değiştirebilir.
çok aklıma yatmadı mail olarak atması daha mantıklı olacaktır benim açımdan değerli yorum ve düşünceniz için teşekkür ederim
 

Cupcap

KY Kıdemli Üye
Katılım
19 May 2022
Mesajlar
191
Tepkime puanı
17
Puanları
28
Yanlış anlamadıysam web üzerinden mail yönlendirme yapacaksınız bunun için SMTP dediğimiz bir ayar olması gerekli mail gönderme başarısız ise muhtemelen bu ayardan kaynaklıdır
 

Admin

Kurucu Admin
Katılım
22 Ara 2020
Mesajlar
496
Çözümler
1
Tepkime puanı
14,509
Puanları
160
Konum
Kütahya
Web
ko-yardim.com
Yanlış anlamadıysam web üzerinden mail yönlendirme yapacaksınız bunun için SMTP dediğimiz bir ayar olması gerekli mail gönderme başarısız ise muhtemelen bu ayardan kaynaklıdır
Arkadaşın da dediği gibi SMTP ayarlarına bakmanızda yarar var ücretsiz olarak gmail SMTP ayarlarına bakabilirsiniz. Eğer ücretli bir mail sunucu kullanmak isterseniz GoDaddy kurumsal mail sunucularına bakabilirsiniz aylık çok cüzi bir miktarda benim de kullandığım kurumsal mail işinizi görebilir.
 

Aakinci

Co-Admin
Premium Üye
KY Saygın Üye
KY YardımSever
KY Kod Editörü
Katılım
5 Tem 2021
Mesajlar
524
Çözümler
84
Tepkime puanı
250
Puanları
93
Yaş
32
Pek anlamadığım için soruyorum, mail atacak ta neyi mail olarak aticak bu paneller, panel sisteminde şifre sıfırlama bağlantısı olusturabilecek bir sistem var mı ki?
 

slaugaxar

KY Üye
Katılım
9 Şub 2024
Mesajlar
30
Tepkime puanı
2
Puanları
8
sessionda tutulan bilgilere göre email ile gönderilen bir unique id değer ile kullanıcının şifresini değiştirmesi sağlanabilir
 

slaugaxar

KY Üye
Katılım
9 Şub 2024
Mesajlar
30
Tepkime puanı
2
Puanları
8
send_password_to_email.php
PHP:
<?php
// Veritabanı bağlantısı
$servername = "localhost";
$username = "username";
$password = "password";
$database = "dbname";

$conn = new mysqli($servername, $username, $password, $database);

// Hata kontrolü
if ($conn->connect_error) {
    die("Veritabanına bağlanılamadı: " . $conn->connect_error);
}

// Kullanıcı doğrulama
$email = $_POST['email'];
$sql = "SELECT * FROM users WHERE email='$email'";
$result = $conn->query($sql);

if ($result->num_rows == 1) {
    // Kullanıcı mevcut, şifre sıfırlama kodu oluşturma
    $reset_token = bin2hex(random_bytes(32)); // Rastgele bir dize oluşturuluyor

    // Veritabanında sıfırlama kodunu güncelleme
    $update_sql = "UPDATE users SET reset_token='$reset_token' WHERE email='$email'";
    if ($conn->query($update_sql) === TRUE) {
        // E-posta gönderme
        $to = $email;
        $subject = "Şifre Sıfırlama";
        $message = "Şifrenizi sıfırlamak için aşağıdaki bağlantıya tıklayın: \n\n";
        $message .= "http://XXX.com/reset_password.php?token=$reset_token";
        $headers = "From: webmaster@example.com" . "\r\n" .
                   "Reply-To: webmaster@example.com" . "\r\n" .
                   "X-Mailer: PHP/" . phpversion();

        mail($to, $subject, $message, $headers);
        echo "Şifre sıfırlama bağlantısı e-posta ile gönderildi.";
    } else {
        echo "Error updating record: " . $conn->error;
    }
} else {
    echo "Kullanıcı bulunamadı.";
}

$conn->close();
?>

Bu örnek, bir HTML formu aracılığıyla kullanıcının e-posta adresini alır, ardından bu e-posta adresine bir sıfırlama bağlantısı gönderir.

reset_password.php

PHP:
<?php
// Veritabanı bağlantısı
$servername = "localhost";
$username = "username";
$password = "password";
$database = "dbname";

$conn = new mysqli($servername, $username, $password, $database);

// Hata kontrolü
if ($conn->connect_error) {
    die("Veritabanına bağlanılamadı: " . $conn->connect_error);
}

// Şifre sıfırlama kodunu al
$reset_token = $_GET['token'];

// Form gönderildiğinde
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $new_password = $_POST['new_password'];
    $confirm_password = $_POST['confirm_password'];

    // Şifrelerin eşleşip eşleşmediğini kontrol et
    if ($new_password === $confirm_password) {
        // Şifreyi güncelleme
        $hashed_password = password_hash($new_password, PASSWORD_DEFAULT);
        $update_sql = "UPDATE users SET password='$hashed_password', reset_token=NULL WHERE reset_token='$reset_token'";
        
        if ($conn->query($update_sql) === TRUE) {
            echo "Şifre başarıyla güncellendi.";
        } else {
            echo "Error updating record: " . $conn->error;
        }
    } else {
        echo "Şifreler eşleşmiyor.";
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Şifre Sıfırlama</title>
</head>
<body>
    <h2>Yeni Şifrenizi Girin</h2>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]) . '?token=' . $reset_token; ?>">
        <div>
            <label for="new_password">Yeni Şifre:</label>
            <input type="password" id="new_password" name="new_password" required>
        </div>
        <div>
            <label for="confirm_password">Şifre Onayı:</label>
            <input type="password" id="confirm_password" name="confirm_password" required>
        </div>
        <button type="submit">Şifreyi Değiştir</button>
    </form>
</body>
</html>

<?php
$conn->close();
?>

Bu dosya, kullanıcının yeni bir şifre girmesini ve bu şifreyi onaylamasını sağlayacak bir HTML formu içerir. Kullanıcı yeni şifresini girdikten sonra, form gönderildiğinde, girilen şifrelerin eşleşip eşleşmediği kontrol edilir. Eğer şifreler eşleşiyorsa, kullanıcının şifresi güncellenir ve reset_token alanı NULL olarak ayarlanır, böylece aynı sıfırlama kodu bir kez kullanıldıktan sonra tekrar kullanılamaz.
 

swatxx

KY Uzman Üye
KY YardımSever
Katılım
21 Mar 2024
Mesajlar
298
Çözümler
4
Tepkime puanı
21
Puanları
18
Yaş
33
Bu olayı aslında oyun giriş ekranı geldiğinde, şifremi unuttum bölümü yapıp gönderteceksin.
Mesela; telefon no olucak kullanıcı telefon no yu girdiği zaman misal true değer dönerse otomatik sana 6 haneli şifre verecek şifre gelince gelen şifreyi gireceksin yine true dönerse aynı bölüm üzerinden direk yeni şifreni belirteceksiniz daha güzel olurdu üşeniyor insanlar mail vs vs ^^
 

simsekcafe

KY Uzman Üye
KY YardımSever
Katılım
24 Eki 2021
Mesajlar
260
Çözümler
2
Tepkime puanı
16
Puanları
48
Arkadaşın da dediği gibi SMTP ayarlarına bakmanızda yarar var ücretsiz olarak gmail SMTP ayarlarına bakabilirsiniz. Eğer ücretli bir mail sunucu kullanmak isterseniz GoDaddy kurumsal mail sunucularına bakabilirsiniz aylık çok cüzi bir miktarda benim de kullandığım kurumsal mail işinizi görebilir.
konu tam olarak bu yorumları yeni gördüm dün baktım smtp mail adresleri olaylarına yakın zamanda sonuca ulaşacağım
 

simsekcafe

KY Uzman Üye
KY YardımSever
Katılım
24 Eki 2021
Mesajlar
260
Çözümler
2
Tepkime puanı
16
Puanları
48
Pek anlamadığım için soruyorum, mail atacak ta neyi mail olarak aticak bu paneller, panel sisteminde şifre sıfırlama bağlantısı olusturabilecek bir sistem var mı ki?
sonuca ulaşırsam bilgi vereceğim sorunuz hakkında
 
Son düzenleme:

Benzer konular

Reklam