嗨,当涉及到PHP时,我是一个傻瓜,但我正在制作一个页面,登录后你可以进入主页,但当我在主页登录并刷新页面时,我就会注销。
这是我登录的代码。`
session_start();
require('connect.php');
if (isset($_POST['username']) and isset($_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM `user` WHERE username='$username' and password='$password'";
$result = mysqli_query($connection, $query) or die(mysqli_error($connection));
$count = mysqli_num_rows($result);
if ($count == 1){
$_SESSION['username'] = $username;
header("Location: index.php");
}else{
echo "Invalid Login Credentials.";
和我的index.php 的代码
<?php
require'connect.php';
session_start();
if (!isset($_SESSION['username'])){
echo" not logged in";
}else {
echo "logged in";
}
?>
您的登录页面有:
session_start();
require('connect.php');
而你的主页有:
require'connect.php';
session_start();
尽量保持一致。来自手册:
"要使用基于cookie的会话,在向浏览器输出任何内容之前,必须调用session_start()。"
请确保在两个页面中都首先调用session_start()
。确保你没有任何空白或任何其他东西被首先输出。例如:
更正:
<?php
session_start();
不正确:
// white space above PHP tag
<?php
session_start();
这应该能解决你的问题。
看起来像是一个小问题,因为这里没有涉及太多php代码。尝试在没有的情况下运行此代码
require('connect.php');
如果它仍然没有得到解决,我建议您检查connect.php文件中的代码。