我正在注册一个站点,并通过php和mysql登录。 现在我无法正常工作,需要帮助。 我想显示用户是否登录,并显示用户名。 在下面的代码中,我已经有一个会话,但是我无法显示谁登录了。
<html>
<head>
<link rel="stylesheet" href="../opmaak/music.css" />
</head>
<body>
<div id="streep">
<a href="home.php"><img src="home.png"></a>
<a href="music.html"><img src="music.png"></a>
<a href="form.php" style="float:right"><img src="mail.png"></a>
<a href="foto.html" style="float:right"><img src="foto.png"></a>
<a href="social.html"><img src="social.png"></a>
</div>
<div id="box">
<h1>Login</h1>
<form action="" method="post">
<label>Gebruikersnaam:</label><input type="text" name="user"><br/>
<label>Wachtwoord:</label><input type="password" name="pass"><br/>
<input type="submit" value="Login" name="submit"><br/>
<!--New user Register Link -->
<p><a href="register.php">Nieuwe gebruiker</a></p>
</form>
<?php
if(isset($_POST["submit"])){
if(!empty($_POST['user']) && !empty($_POST['pass'])){
$user = $_POST['user'];
$pass = $_POST['pass'];
//DB Connection
$conn = new mysqli('localhost', 'root', '') or die(mysqli_error());
//Select DB From database
$db = mysqli_select_db($conn, 'test') or die("databse error");
//Selecting database
$query = mysqli_query($conn, "SELECT * FROM userpass WHERE user='".$user."' AND pass='".$pass."'");
$numrows = mysqli_num_rows($query);
if($numrows !=0)
{
while($row = mysqli_fetch_assoc($query))
{
$dbusername=$row['user'];
$dbpassword=$row['pass'];
}
if($user == $dbusername && $pass == $dbpassword)
{
session_start();
$_SESSION['sess_user']=$user;
//Redirect Browser
header("Location:home.php");
}
}
else
{
echo "Foute gebruikersnaam of wachtwoord";
}
}
else
{
echo "Required All fields!";
}
}
?>
</div>
<body>
</body>
</html>
答案 0 :(得分:0)
您需要在PhP文档的开头使用session_start()
,否则它将不起作用。
放入
<?php
session_start();
?>
一开始就可以解决问题。
答案 1 :(得分:0)
我测试了您的代码,它工作正常。确保在文件home.php中使用相同的功能session_start()
。
我还假设您的SQL查询没有错误。