如何在登录php后在所有其他页面中显示名称,而不仅仅是主页
登录网站后,我无法在所有页面中显示我的姓名: authenticationcontroller.php如何在登录php后在所有其他页面中显示名称,而不仅仅是主页,php,Php,登录网站后,我无法在所有页面中显示我的姓名: authenticationcontroller.php public function Connex($db,$login,$mdp) { $requser = $db->prepare("SELECT * FROM users WHERE login = ? AND motdepasse = ?"); $requser->execute(array($login,$mdp)); $userexist = $requser-
public function Connex($db,$login,$mdp)
{
$requser = $db->prepare("SELECT * FROM users WHERE login = ? AND motdepasse
= ?");
$requser->execute(array($login,$mdp));
$userexist = $requser->rowCount();
if($userexist == 1)
{
$userinfo = $requser->fetch();
$_SESSION['login'] = $userinfo['login'];
$_SESSION['motdepasse'] = $userinfo['motdepasse'];
if($userinfo['role']=="admin")
{
session_start();
header("Location:/ProjetWeb2A1 - Copie/account.php?id=".$_SESSION['login']);
}
else if($userinfo['role']=="client")
{
session_start();
header("Location:/ProjetWeb2A1 - Copie/accueil.php?id=".$_SESSION['login']);
}
}
Homepage.php
<div class="header">
<div class="header-left">
<ul>
<li><a href="account.php">Inscription</a></li>
<li class="login">
<div id="loginContainer"><a id="loginButton"><span>Se Connecter</span></a>
<div id="loginBox" style="display: none;">
<form id="loginForm" method="POST" action="\ProjetWeb2A1 - Copie\controllers\Authentification_controller.php">
<label>Login</label>
<input type="text" name="login" id="email" >
<label for="password">Mot de passe</label>
<input type="password" name="password" id="password">
<input type="submit" id="login" value="Connexion" name="xxl1">
<label for="checkbox"><input type="checkbox" id="checkbox"> <i>Rester Connecté</i></label>
<span><a href="#">Mot de passe oublié?</a></span>
</form>
</div>
</div>
</li>
</ul>
</div>
-
如果有人能回答我,我需要做些什么来改变铭文和文字
在我的所有其他页面中使用我的用户名的Connecter请只要您使用$\u会话并希望填充它,请在每个页面开始时使用以下内容:
<?php
session_start();
$login = $_SESSION['login'];
echo"Welcome $login";
?>
简单的代码示例,只给你一个提示。。。然后,做你需要的任何事情:检查它,保护它…你可以这样做: 添加包含此内容的php文件(本例中为functions.php)
<?php
function logged_in () {
if (isset($_SESSION['login'])) {
return true;
} else {
return false;
}
}
function redirect_to ($url) {
header("Location: {$url}");
}
?>
然后,在您的Homepage.php中,导入保存的文件并检查用户是否像这样连接
require_once("functions.php");
<div class="header-left">
<?php if (logged_in() == false) { ?>
<ul>
<li><a href="account.php">Inscription</a></li>
<li class="login">
<div id="loginContainer"><a id="loginButton"><span>Se Connecter</span></a>
<div id="loginBox" style="display: none;">
<form id="loginForm" method="POST" action="\ProjetWeb2A1 - Copie\controllers\Authentification_controller.php">
<label>Login</label>
<input type="text" name="login" id="email" >
<label for="password">Mot de passe</label>
<input type="password" name="password" id="password">
<input type="submit" id="login" value="Connexion" name="xxl1">
<label for="checkbox"><input type="checkbox" id="checkbox"> <i>Rester Connecté</i></label>
<span><a href="#">Mot de passe oublié?</a></span>
</form>
</div>
</div>
</li>
</ul>
<?php } else { $name = $_SESSION['name']; ?>
<h1> Hello <?=$name?> </h1>
<?php } ?>
</div>
require_once(“functions.php”);
-
你好
您应该将
$\u会话['name']
保存在AuthentificationController.php中将名称存储在会话
变量中……但不要将密码存储在会话变量中;有一个“中间人”在那里等待,你也在使用不安全的代码;不要等到你被黑客攻击了。这关于纯文本密码。你们能不能告诉我我对Php真的很新,我不是那么专业使用它,所以如果能告诉我如何准确地做或者按照你们告诉我的那样修改我的代码,请:/正如你们所说的,我如何用我的用户名而不是Se connecter和铭文div登录,我确信uve得到了我想要的意思是^^正如@Fred-ii之前提到的,您的代码非常不安全!请阅读准备好的声明,以便在继续之前切换到该声明,并对过时/错误的内容进行编码。。。然后,在每个页面的顶部,检查$_会话值,然后,如果用户未登录,则显示“注册/登录”表单,否则,执行任何符合您需要的操作…因此,表单的显示操作我使用Javascript执行?我确实添加了您告诉我的@Fred-ii,但他不知道$_会话['login']我尝试了你的例子,它确实起了作用,但他不认识$name=$\u会话['name']中的$\u会话['name'],但当我手动放置它时,它起了作用,另一个Div没有显示,它向我显示Hello Slim你知道问题在哪里吗?为什么他不知道第二个$\u会话?在AuthenticationController.php中,在$\u会话下添加['login']=$userinfo['login'];此行$_SESSION['name']=$userinfo['name'];字段'name'应该存在于您的'users'表中。这是Donne:D非常感谢大家的帮助,我非常感谢!
public function Connex($db,$login,$mdp)
{
$requser = $db->prepare("SELECT * FROM users WHERE login = ? AND motdepasse
= ?");
$requser->execute(array($login,$mdp));
$userexist = $requser->rowCount();
if($userexist == 1)
{
$userinfo = $requser->fetch();
$_SESSION['login'] = $userinfo['login'];
$_SESSION['motdepasse'] = $userinfo['motdepasse'];
if($userinfo['role']=="admin")
{
session_start();
header("Location:/ProjetWeb2A1 - Copie/account.php?id=".$_SESSION['login']);
}
else if($userinfo['role']=="client")
{
session_start();
header("Location:/ProjetWeb2A1 - Copie/accueil.php?id=".$_SESSION['login']);
}
}