PHP PDO 尝试在登录时更改导航栏

标签 php mysql css twitter-bootstrap pdo

我试图让我的导航栏在登录时发生变化,以便注册和登录变成用户的用户名我有我的代码,但我不明白为什么它不起作用......

登录.php

<?php
include 'header.php';
include 'ini.php';

$username = "";
$password = "";

if(isset($_POST['login'])) {
    if ($userQuery->execute()) {
        while ($row = $userQuery->fetch()) {

            $username = $_POST["username"];
            $password = $_POST["password"];

            $userQuery = $pdo->prepare("SELECT * FROM users WHERE username LIKE :username");
            $addUserQuery->bindParam(":username", $username);

            if (
                username == $row['User_Username'] && password == $row['User_Password']
            ) {
                $_SESSION['loggedin'] = "true";
                $_SESSION['username'] = $username;
            }
        }
    }
}
?>
<div class="container">
    <div class="row">
        <div class='col-md-3'></div>
        <div class="col-md-6">
            <div class="login-box well">
                <form action="index.php" id="login" name="login">
                    <legend>Sign In</legend>
                    <div class="form-group">
                        <label for="username">Username</label>
                        <input value='' id="username" placeholder="Username" type="text" class="form-control" />
                    </div>
                    <div class="form-group">
                        <label for="password">Password</label>
                        <input id="password" value='' placeholder="Password" type="text" class="form-control" />
                    </div>
                    <div class="input-group">
                        <div class="checkbox">
                            <label>
                                <input id="login-remember" type="checkbox" name="remember" value="1"> Remember me
                            </label>
                        </div>
                    </div>
                    <div class="form-group">
                        <input type="submit" id="login" name="login" class="btn btn-default btn-login-submit btn-block m-t-md" value="Login" />
                    </div>
                    <span class='text-center'><a href="/resetting/request" class="text-sm">Forgot Password?</a></span>
                    <div class="form-group">
                        <p class="text-center m-t-xs text-sm">Do not have an account?</p>
                        <a href="register.php" class="btn btn-default btn-block m-t-md">Create an account</a>
                    </div>
                </form>

            </div>
        </div>
        <div class='col-md-3'></div>
    </div>
</div>

<?php
include 'footer.php';
?>

标题.php

<!DOCTYPE html>
<html lang="en">

<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Web Development company providing HTML, CSS, PHP and JS in your local area">
    <meta name="author" content="Kieran Brownfield">

    <title>Web Development Penzance - Providing Web Development in your area</title>

    <!-- Bootstrap Core CSS -->
    <link href="css/bootstrap.min.css" rel="stylesheet"/>
    <link href="css/main.css" rel="stylesheet"/>

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->

</head>

<body>
<header class="header">Web Development Penzance</header>
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-static-top" role="navigation">
    <div class="container">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
        </div>
        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li>
                    <a href="index.php">Home</a>
                </li>
                <li>
                    <a href="#">About</a>
                </li>
                <li>
                    <a href="#">Contact</a>
                </li>
                <li>
                    <a href="#">Gallery</a>
                </li>
                <li>
                    <a href="#">Meet the Team</a>
                </li>
            </ul>
            <ul class="nav navbar-nav pull-right">
                <?php
                if (isset($_SESSION['loggedin'])) {  ?>
                    <li><p class="navbar-text navbar-right">Signed in as: <?php echo $_SESSION["username"] ?> &nbsp;</p></li>
                    <li><a href="#">Logout</a></li>
                    <li><a href="#">Account</a></li>
                <?php } else { ?>
                    <li><a href="register.php">Register</a></li>
                    <li><a href="signin.php">Login</a></li>
                <?php } ?>
            </ul>
        </div>
        <!-- /.navbar-collapse -->
    </div>
    <!-- /.container -->
</nav>

最佳答案

为了跨页面加载访问 $_SESSION 变量,将 session_start() 添加到这两个文件的顶部。 Docs.

关于PHP PDO 尝试在登录时更改导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36460042/

相关文章:

php - 将base64编码的dataURI图像插入MySQL BLOB字段

css - 关于添加间隔 div 以修复 CSS float div 问题

表格问题的HTML/CSS背景

php - jQuery 文件上传和获取 $_Files

mysql 月份差异作为 where 子句中的列

MySQL更新具有相同ID的字段

html - 单击 x 时关闭模式不起作用

php mySQL 房间预订日历显示预订时的错误日期

javascript - 通过表单传递base64编码的图像

php - WooCommerce Rest API 在创建订单中返回无效参数 'shipping_lines'