Php 创建智能登录/我的帐户按钮
如何使我的php网站能够判断用户是否登录 我想显示“我的帐户”的链接,而不是“登录” 例如,用户进入主页并点击右上角的“登录”,然后在再次浏览主页时登录后,将显示“我的帐户”而不是“登录” 这就是登录按钮的外观。如果用户登录,我希望能够将其替换为“我的帐户” 更新:这是我现在试图使用的代码。它在第69/72行给了我错误Php 创建智能登录/我的帐户按钮,php,session,authentication,login,session-variables,Php,Session,Authentication,Login,Session Variables,如何使我的php网站能够判断用户是否登录 我想显示“我的帐户”的链接,而不是“登录” 例如,用户进入主页并点击右上角的“登录”,然后在再次浏览主页时登录后,将显示“我的帐户”而不是“登录” 这就是登录按钮的外观。如果用户登录,我希望能够将其替换为“我的帐户” 更新:这是我现在试图使用的代码。它在第69/72行给了我错误 <form action="scripts/login.php" id="login-form"> <fieldset>
<form action="scripts/login.php" id="login-form">
<fieldset>
<?php
if(isset($_SESSION['name_of_user']))
{
**LINE 69** <a href="your_account.php" class="login" onClick="submit"><span><span>My Account</span></span></a><span class="links"><a href="reset-pwd-req.php">Forgot Password?</a><br/><a href="create_account.php">Register</a></span> }
}
else{
**LINE 72** <a href="general_login.php" class="login" onClick="submit"><span><span>Login</span></span></a><span class="links"><a href="reset-pwd-req.php">Forgot Password?</a><br/><a href="create_account.php">Register</a></span> }
?>
因此您需要使用会话来完成此操作 首先,您可以在php文件的顶部调用:
session_start();
要启动会话,您可以设置$\u session
变量。用户登录时,您可以设置(例如):
然后在下一个php脚本中,您可以执行以下操作:
if(isset($_SESSION['user_name'])){
// user is logged in, hide the button here
} else {
// user is not logged in, show the login button
}
课程一点也不复杂,但值得研究。这是一种非常基本的会话使用方式,但它一点也不安全。老实说,我很惊讶你居然在不使用会话的情况下创建了一个完整的用户登录/身份验证脚本
编辑:更多信息
会话存储在服务器上。它们与饼干“相似”。会话令牌存储在客户端计算机上的cookie中。然后,这将用于交叉引用存储在服务器上的会话信息
由于会话令牌(会话id)存储在客户端计算机上,因此它可以在每次加载另一个脚本时发送它。这意味着当您使用$\u session['name']=“value”设置会话变量时代码>可以在调用的下一个脚本上检索相同的值
有关更多信息和一些示例/教程,请参见此处:非常感谢,我将尝试一下并研究一下:这是我现在使用的代码和你的建议,但是dreamweaver在第69行和第72行给了我语法错误。看看上面的PHP,你必须回显HTML。你不能像那样把HTML放在PHP中。您必须先关闭PHP标记。这样做:HTML在这里(您已经关闭了PHP标记)在这里添加一些HTML
@Gary不客气。:)我打了几个例子,向你展示了一些更酷的东西,你可以用它们让事情变得更简单/看起来更好:希望对你有所帮助。:)不知道为什么人们会投反对票,不让你知道为什么。问题是什么是显而易见的(虽然它是“基本的”php),如果你不知道,那么问这个问题是完全正确的。不要理会下层选民(尤其是沉默的选民);一个完全正确的问题。我猜沉默的选民是那些自己不知道答案的人
if(isset($_SESSION['user_name'])){
// user is logged in, hide the button here
} else {
// user is not logged in, show the login button
}