我有忘记密码表格,用户可以输入有效的电子邮件地址。我向用户发送邮件没有问题,我唯一的问题是我想向用户发送他们从数据库(用户名和密码)的帐户信息,以便他们知道他们的用户名和密码。但似乎我很难在如何在用户的收件箱中显示他们的帐户信息。我是PHP的新手,如果你可以帮我解决这个问题,我会很高兴。
这是我的代码:
编辑:
<?php
if (isset($_POST['submit'])) {
$email_from = "example@domain.com";
$datesent = date('D m/d/Y, g:i A');
$error_message = "";
$msg = "";
$subject = "Some text here";
//some validations here
$query = "Select * from user_information where EMAIL_ADDRESS = '".$_POST['email']."'";
$result = mysql_query($query) or die("ERROR: ".mysql_error());
$check = mysql_num_rows($result);
if ($check == 0) {
$row = mysql_fetch_assoc($result);
$username = $row['USERNAME'];
$password = $row['PASSWORD'];
$fname = $row['FIRST_NAME'];
}
ob_start(); //Turn on output buffering
?>
Hi <? php echo $fname; ?>!
Here is your Account information:
Username: <? php echo $username; ?>
Password: <? php echo $password; ?>
//some text here
<?php
$message = ob_get_contents();
ob_get_clean();
$email_message = "From: ".clean_string($email_from)."\n";
$email_message. = "Sent: ".clean_string($datesent)."\n";
$email_message. = "Subject: ".clean_string($subject)."\n";
$email_message. = "\n".clean_string($message)."\n";
$headers = 'From: '.$email_from."\r\n";
$headers. = 'To: '.$email."\r\n";
$headers. = 'Sent: '.$datesent."\r\n";
$email_sent = @mail($sendto, $subject, $email_message, $headers);
} ?>
答案 0 :(得分:0)
以下代码不适合您:
$check = mysql_num_rows($result);
if($check==0){
...
}
应该是:
$check = mysql_num_rows($result);
if($check != false){
...
}
如果没有结果行
,则只设置用户名,密码和fname答案 1 :(得分:0)
我假设您发布了整个源文件。如果是这样,您的文件开头就缺少session_start()
。没有它,就无法访问$_SESSION
。或者您可能想使用$_POST
并写$_SESSION
代替?
答案 2 :(得分:0)
更改
if ($check == 0)
到
if ($check > 0)
注意:不要使用$ _POST,$ _GET变量而不清理它们。如果你不验证和清理你的$ _POST和$ _GET变量,使用mysql_query很容易进行sql注入。使用PHP_PDO
另外
if (isset($_SESSION['submit'])) {
到
if (isset($_POST['submit'])) {
答案 3 :(得分:0)
首先启动会话然后只有你可以使用会话变量,当从数据库中获取数组时,行数不应该为零,就像这样
if ($check != 0) {
$row = mysql_fetch_assoc($result);
$username = $row['USERNAME'];
$password = $row['PASSWORD'];
$fname = $row['FIRST_NAME'];
}
此代码中也有错误
ob_start(); //Turn on output buffering
?>
Hi <?php echo $fname; ?>!
Here is your Account information:
Username: <?php echo $username; ?>
Password: <?php echo $password; ?>
//some text here
您尚未使用<?php
而是使用<? php
。
希望有所帮助。