我有一些PHP代码,我希望用户输入他们的电子邮件地址,检查数据库,然后将与该电子邮件地址关联的用户名发送给用户。基本上是'忘记用户名'功能。
到目前为止,我有以下代码,它将发送电子邮件,但在电子邮件中显示您的用户名是: 就是这样。由于某种原因,$ username变量未传递给电子邮件。我对PHP足够新,所以任何帮助都会非常感激。
<?php
if(isset($_POST['submit'])){
$email = $_POST['email'];
if($email==''){
echo "<script>alert('Please enter email address!')</script>";
exit();
}
$sql=mysql_query("select user_name from users where user_email='$email'");
if(mysql_num_rows($sql)>=1)
{
//echo "<script>alert('Username $user_name already exist in our database, please try another one!')</script>";
$username = $row[0];
$subject = 'Forgotten Username';
$message = 'Your username is: '.$username.'';
$header = 'Header';
if($_POST){
mail($email, $subject, $message, $header);
$feedback = 'Thanks for contacting us! We will be in contact soon!';
}
}
else {
echo "<script>alert('Email doesn't exist')</script>";
}
}
?>
HTML
<form method='post' action='forgotusername.php'>
<table width='400' border='5' align='center'>
<tr>
<td align='center'>Enter your email address</td>
<td><input type="text" name="email" style="width: 200px;" /></td>
</tr>
</table>
<input type='submit' name='submit' value='Post' />
</form>
答案 0 :(得分:1)
要回答您的问题,您需要先获取行,然后才能使用mysql_fetch_row()
<?php
$row = mysql_fetch_row($sql);
$username = $row[0];
但更重要的是要注意这是一种访问mysql数据库的非常古老的方法。
有关缺失的函数,请参阅http://www.php.net/manual/en/function.mysql-fetch-array.php,它还会建议您更新,更安全的数据库访问方法。
还有一种方法mysql_real_escape_string()
,您将用它来转义电子邮件变量,但有一些改进的方法可用。
答案 1 :(得分:0)
您需要执行mysql_fetch_row
if(isset($_POST['submit'])){
$email = $_POST['email'];
if($email==''){
echo "<script>alert('Please enter email address!')</script>";
exit();
}
$sql=mysql_query("select user_name from users where user_email='$email'");
if(mysql_num_rows($sql)>=1)
{
$row = mysql_fetch_row($sql);
//echo "<script>alert('Username $user_name already exist in our database, please try another one!')</script>";
$username = $row[0];
$subject = 'Forgotten Username';
$message = 'Your username is: '.$username.'';
$header = 'Header';
if($_POST){
mail($email, $subject, $message, $header);
$feedback = 'Thanks for contacting us! We will be in contact soon!';
}
}
else {
echo "<script>alert('Email doesn't exist')</script>";
}
}
?>