使用会话在每个页面上显示用户名

时间:2015-11-11 17:03:03

标签: php forms session

我目前正在创建一个允许用户仅使用用户名登录的网站,不需要密码。一旦用户在表单中键入了他们的名字,他们的名字就应该放在他们随后访问的所有页面上,直到他们退出为止。

我面临的问题是登录后其他页面上没有显示用户名。相反,我遇到了错误等问题(注意:未定义索引:/ ceri / homes1 /中的用户名第41行的s / sec17 / public_html / cs25010 / home.php )并且根本没有显示任何内容。

以下是登录页面的代码:

<?php
session_save_path("/aber/sec17/public_html/cs25010/tmp");
session_start();
if (empty($_SESSION['username'])) {
if (isset($_POST['submit'])) {
    $_SESSION["username"] = $_POST["username"];
    header("Location: home.php");
}
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Sean Coyne's Food Shop</title>
    <link href="style.css" type="text/css" rel="stylesheet"/>
    <link rel="icon" type="image/x-icon" href="images/favicon.ico" />
    <meta name="description" content="Welcome to Sean Coyne's Food Shop" />
</head>

<body>
    <div id="page">
        <div id="logo">
            <img src="images/logo.jpg" alt="Sean Coyne's Food Shop" 
            title="Sean Coyne's Food Shop" width="400px" height="70px"/>



        </div>

        <div id="nav">
            <div id="menu">
                <ul>
                <li><a href="home.php">Home</a></li>
                <li><a href="database.php">Products</a></li>
                <li><a href="drink.php.html">Offers</a></li>
                <li><a href="about.php">About Us</a></li>
                <li><a href="findus.php">Where to find us</a></li>
                <li><a href="contact.php">Contact</a></li>
                </ul>
            </div>
        </div>



        <div id="main">
            <h1>Welcome to Sean Coyne's Food Shop</h1>
            <h2>Please Log In below:</h2>
            <br></br>
            <div id="login">
                <?php
                    echo '<form action="home.php" method"post"> 
                <input type="text" name="username" text="input username"
                placeholder="Username" required> 
                <input type="submit" name="submit" value="submit" /> 
                </form>';
                ?>
            </div>

        </div>

    </div>
</body>
</html>

这里是主页的代码:(我不会在完成时将用户名放在这里,这只是在测试它时是否正常工作

<?php
session_start();
?>

<!DOCTYPE html>
<html>
<head>
    <title>Home Page</title>
    <link href="style.css" type="text/css" rel="stylesheet"/>
    <link rel="icon" type="image/x-icon" href="images/favicon.ico" />
    <meta name="description" content="Welcome to Sean Coyne's Food Shop" />
</head>

<body>
    <div id="page">
        <div id="logo">
            <img src="images/logo.jpg" alt="Sean Coyne's Food Shop" 
            title="Sean Coyne's Food Shop" width="400px" height="70px"/>

        </div>

        <div id="nav">
            <div id="menu">
                <ul>
                <li><a href="index.php">Home</a></li>
                <li><a href="database.php">Products</a></li>
                <li><a href="drink.php.html">Offers</a></li>
                <li><a href="about.php">About Us</a></li>
                <li><a href="findus.php">Where to find us</a></li>
                <li><a href="contact.php">Contact</a></li>
                </ul>
            </div>
        </div>



        <div id="main">
            <h1>Welcome to Sean Coyne's Food Shop</h1>

                <?php
                    echo $_SESSION['username'];
                ?>

        </div>
    </div>  
</body>
</html>

下面是您登录时的状态:

Screenshot of the Home Page

1 个答案:

答案 0 :(得分:0)

你有一个错字。否则表单方法的默认方法是get。

变化:

<form action="home.php" method"post">

对此:

<form action="home.php" method="post">