您好我正在为我的学校项目制作电子邮件系统。我希望有人帮助让它在html文档部分显示密码哈希。目前它没有显示任何东西。谢谢Joshua
<?php require_once 'application/config/autoload.php';
$host= DB_HOST;
$username= DB_USER;;
$password= DB_PASS;
$db_name= DB_NAME;
$tbl_name= DB_TABLE;
$user_name = Session::get('user_name');
error_reporting(0);
mysql_connect($host, $username, $password)or die("cannot connect");
mysql_select_db($db_name)or die("cannot select DB");
$sql = "SELECT user_id,
user_name,
user_email,
user_password_reset_hash,
user_perm_level,
user_type,
user_active,
user_failed_logins,
user_last_failed_login
FROM $tbl_name WHERE user_name='$user_name'";
$result = mysql_query($sql);
if($result){
$link = "$result->user_password_reset_hash";
echo "<html>
<head>
<style>
body {
background-color: #fff;
font-family: Arial;
font-size: 14px;
color: #000;
padding: 0;
margin: 15;
}
h1 {
font-size: 40px;
}
h2 {
font-size: 20px;
}
</style>
<div>
<img src='logo.min.png' align='left'></p>
<h1 align='right'>Teacher Help</h1>
<h2 align='right'>Verify Email<br></h2>
<p>$link</p>
</div>
</head>
</html>"; } ?>
答案 0 :(得分:0)
首先,将mysql_*
更改为mysqli_*
,因为它已被弃用。现在,你的意思应该是这样的:
$link = mysqli_connect($host, $username, $password, $db_name);
$sql = "SELECT user_id,
user_name,
user_email,
user_password_reset_hash,
user_perm_level,
user_type,
user_active,
user_failed_logins,
user_last_failed_login
FROM $tbl_name WHERE user_name='$user_name'";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
if ($row) {
$link = $row["user_password_reset_hash"];
// rest of code
}
答案 1 :(得分:0)
您需要将其作为数组返回
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$link = $row['user_password_reset_hash'];
显然{@ 1}}已被弃用,您应该考虑使用mysql
或pdo
。由于它是一个具有特定问题的项目,我已做出相应的回答。
答案 2 :(得分:0)
您必须获取结果的内容。您的代码告诉我,您要使用mysql_fetch_object
$result = mysql_query($sql);
if($result){
$row = mysql_fetch_object($result);
$link = $row->user_password_reset_hash;
echo $link;
// ...
对不起,您在学校学习使用那些旧的已弃用的mysql_ *函数(请参阅链接手册页中的红色框)。您可以使用the answer of lodev09中显示的mysqli扩展程序或PDO获得更好的效果。使用PDO或mysqli,您应该使用带有占位符的预准备语句,并将输入值放到这些占位符以避免sql注入。