【发布时间】:2021-12-19 10:24:24
【问题描述】:
我使用 PHP jQuery 和 MySQL 在我的网站中添加了用户注册和登录系统。如果用户登录,我希望在主页菜单中将登录按钮值更改为 MySQL 中的用户名。 我尝试了一些来自互联网的资源,但没有成功
顺便说一下,这是项目:https://zafernci.xyz/uploadd/
我的菜单:
<a class="active" href="#">Home</a>
<a href="#">Contact</a>
<a href="#">Products</a>
<a id="sign-up" href="#" onclick="SignUp()">Sign Up</a>
<?php if(isset($_SESSION["username"])): ?>
<a href="logout.php">Logout ///.$_SESSION["username"]. I tried this code but that too didn't work//// </a>
<?php else: ?>
<a id="log-in" href="#" onclick="LogIn()">Log In</a>
<?php endif; ?>
</div>
使用 MySQL 的登录系统:
if(isset($_POST["username"]) && isset($_POST["password"]))
{
$username = mysqli_real_escape_string($connect, $_POST["username"]);
$password = md5(mysqli_real_escape_string($connect, $_POST["password"]));
$sql = "SELECT * FROM users WHERE username = '".$username."' AND Password = '".$password."'";
$result = mysqli_query($connect, $sql);
$num_row = mysqli_num_rows($result);
if($num_row > 0)
{
$data = mysqli_fetch_array($result);
$_SESSION["username"] = $data["username"];
echo $data["username"];
}
}
【问题讨论】:
-
当您输入正确的凭据时,链接当前是否从“登录”更改为“注销”?还是它总是显示“登录”链接。
-
是的。它正在改变。
-
<a href="logout.php"><?php echo htmlentities($_SESSION["username"]); ?></a>应该可以工作;但这基本上是你已经尝试过的。你能检查一下这是否有效吗? -
我正在试一分钟。
-
来自 PHP 的 md5 手册:“警告不建议使用此函数来保护密码,因为这种散列算法的速度很快。请参阅 Password Hashing FAQ 了解详细信息和最佳实践。"