私は現在、ユーザー名のみを使用してログインできるWebサイトを作成していますが、パスワードは必要ありません。ユーザーがフォームに名前を入力すると、そのユーザーの名前は、ログアウトするまですべてのページに配置されます。セッションを使用しているすべてのページにユーザー名を表示
私が直面している問題は、ユーザー名がログインした後に他のページに表示されないということです。代わりにエラーなどの問題が発生しています(通知:未定義インデックス:/ ceri/homes1/s /sec17/public_html/cs25010/home.php 41行目)と何も表示されません。ここで
は、ログインページのコードです:
<?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>
作業かどうかを確認します
それはあなたが答えたが、ちょうど私が奇妙なようで、この機能は、上のコメントを考えましたた質問のように見えます。自分の現在のセッション中にウェブサイトの他のページに名前を表示する以外に、情報を提供することから絶対に何も得られない場合、人は自分の名前を入力する必要がありますか?あなたのシステムに複雑さが増し、ユーザからのいかなる価値も得られずにユーザに参入するための障壁が増えているようです。 –
基本的には、一時的なバスケットになり、ユーザーはサイトにいる間ずっと記憶しておく必要があります。 –
@SeanCoyneしかし、なぜこのカート機能を得るには「ログイン」する必要がありますか?あなたがカートをセッション間でデータストアに保存しているようなものではありません。最終的にチェックアウトするために名前が必要な場合は、チェックアウトプロセスで名前を細かく収集しますが、なぜカートの機能性を得るためにエントリーの障壁を課すのでしょうか? –