Attualmente sto creando un sito Web che consentirà all'utente di accedere utilizzando solo un nome utente, non è richiesta alcuna password. Una volta che l'utente ha digitato il suo nome nel modulo, il suo nome dovrebbe quindi essere posto su tutte le pagine che poi visiteranno fino a quando non si scollegheranno.Visualizzazione del nome degli utenti su ogni pagina utilizzando le sessioni
Il problema/s sto affrontando è che il nome utente non sta mostrando nelle altre pagine, una volta effettuato l'accesso, invece sono stato sempre problemi come errori (Avviso:. Undefined index: nome utente nel/ceri/homes1/s /sec17/public_html/cs25010/home.php on line 41) e il nulla si rivela.
Ecco il codice per la pagina di login:
<?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>
E qui il codice per la home page: (Non sarò mettendo il nome utente qui quando il suo finito, questo è solo mentre im testarlo per vedere se il suo lavoro)
<?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>
Heres quello che attualmente simile a quando si accede:
Sembra che si domanda ha risposto, ma solo pensato che vorrei commentare questa funzionalità, che sembra strano. Perché dovresti richiedere a una persona di inserire il loro nome se non otterrà assolutamente nulla dal fornirti tali informazioni, oltre a far visualizzare il loro nome su altre pagine del sito web solo durante la loro sessione corrente? Sembrerebbe che tu stia aggiungendo ulteriore complessità nel tuo sistema e una barriera per l'accesso all'utente senza ricavarne alcun valore. –
Fondamentalmente il loro sarà un cestino temporaneo che gli utenti possono inserire in ciò che deve essere ricordato per tutto il tempo in cui si trovano sul sito. –
@SeanCoyne Ma perché hanno bisogno di "accedere" per ottenere questa funzionalità del carrello? Non è come se persistessi nel carrello in un data store attraverso le sessioni. Se hai bisogno del loro nome per il check-out finale, bene raccogli il nome nel processo di checkout, ma perché imporre una barriera all'ingresso per ottenere anche la funzionalità del carrello? –