如何在登录PHP后显示名称 在所有其他页面中,而不仅仅是主页



登录网站后,我无法在所有页面中显示我的名字:

身份验证控制器.php

 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']);
}
}

主页.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 - CopiecontrollersAuthentification_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>

如果有人可以回答我需要做什么来更改铭文和 Se

请在所有其他页面中使用我的用户名连接器

你可以这样做:

添加包含此内容的 php 文件(在本例中为函数.php(

<?php
    function logged_in () {
        if (isset($_SESSION['login'])) {
            return true;
        } else {
            return false;
        }
    }
    function redirect_to ($url) {
        header("Location: {$url}");
    }
?>

然后,在您的主页.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 - CopiecontrollersAuthentification_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>

您应该将$_SESSION['name']保存在身份验证控制器中.php

只要您使用 $_SESSION 并希望填充它,每个页面的开头都带有:

 <?php
 session_start();
 $login = $_SESSION['login'];
 echo"Welcome $login";
 ?>

简单的代码示例,只是为了给你一个提示...然后,做任何你需要的事情:检查它,保护它...

相关内容

最新更新