我目前正在创建一个允许用户仅使用用户名登录的网站,不需要密码。一旦用户在表单中键入了他们的名字,他们的名字就应该放在他们随后访问的所有页面上,直到他们退出为止。
我面临的问题是登录后其他页面上没有显示用户名。相反,我遇到了错误等问题(注意:未定义索引:/ 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>
下面是您登录时的状态:
答案 0 :(得分:0)
你有一个错字。否则表单方法的默认方法是get。
变化:
<form action="home.php" method"post">
对此:
<form action="home.php" method="post">