Как отправить сохраненный пароль в виде простого текста по электронной почте с PHP и MySQL - PullRequest
0 голосов
/ 15 мая 2019

Я ищу возможность восстановления пароля для веб-сайта, где пароль берется из моей пользовательской БД и отправляется в виде простого текста на электронную почту пользователя. Моя база данных пользователей содержит три столбца: идентификатор, адрес электронной почты и пароль. Вот мой database.php:

<?php
$servername='1.1.1.1';
$username='user';
$password='pass';
$dbname = "users";
$conn=mysqli_connect($servername,$username,$password,"$dbname");
if(!$conn){
 die('Could not Connect My Sql:' .mysql_error());
}
?>

Кроме того, вот страница восстановления:

<?php
session_start();
include_once 'database.php';
if(isset($_POST['submit']))
{
    $email = $_POST['email'];
    $result = mysqli_query($conn,"SELECT * FROM users where email='" . $_POST['email'] . "'");
    $row = mysqli_fetch_assoc($result);
    $fetch_user_id=$row['email'];
    $email_id=$row['email'];
    $password=$row['password'];
    if($email==$fetch_id) {
                $to = $email;
                $subject = "Password";
                $txt = "Your password is : $password.";
                $headers = "From: company" . "\r\n" .
                "CC: email@gmail.com";
                mail($to,$subject,$txt,$headers);
            }
                else{
                    echo 'invalid userid';
                }
}
?>
<!DOCTYPE HTML>
<html>
<head>

</head>
<body>
<center><p>Forgot Password</p></center>
<form action='' method='post'>
<table cellspacing='5' align='center'>
<tr><td>email:</td><td><input type='text' name='user_id'/></td></tr>
<tr><td></td><td><input type='submit' name='submit' value='Submit'/></td></tr>
</table>
</form>
</body>
</html>

Я довольно новичок в php и веб-разработке, однако я довольно легко реализовал логин / регистрацию. При этом, я полностью потерян с восстановлением электронной почты. Я ищу, чтобы клиенты могли отправлять свои электронные письма, и если они совпадают с записью в базе данных пользователей, пароль будет отправлен на отправленное электронное письмо. Я понимаю риски безопасности, связанные с отсутствием токена с истекающим сроком действия, однако для текущих нужд веб-сайта этого метода достаточно. Если бы кто-нибудь мог помочь направить меня в правильном направлении, это было бы очень признательно Кроме того, не уверен, что это полезно, но я запускаю это на Apache.

1 Ответ

0 голосов
/ 15 мая 2019

В вашем коде есть опечатка.

$conn=mysqli_connect($servername,$username,$password,"$dbname");

Удалить кавычки вокруг "$dbname" вот так

$conn=mysqli_connect($servername,$username,$password,$dbname);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...