问题让会话变量工作

Issue getting session variable to work

我正在尝试让我的 login.php 重定向到我在 main.php 中的主页,并在成功时回显登录消息,或者在登录失败时回显不成功的消息。它忽略了脚本的快速部分并指示我:

位置:http://localhost/projects/ibill_v3/html/loginformfail.html#home

这根本不存在。有没有办法解决这个问题,还是我让它太复杂了?任何帮助将不胜感激!

main.php(首页)

<?php
    session_start();
include "loginform.php";
if (isset($_SESSION['user_session']) and $_SESSION['user_session']!=""){
  echo 'working';
}
else {
  echo 'not working';
}
?>

loginform.php

<?php 
$con=mysqli_connect('localhost','root','cornwall','ibill');
// This code creates a connection to the MySQL database in PHPMyAdmin named 'ibill':

$username="";
$password="";

if (isset ($_POST['username'])){
$username = mysqli_real_escape_string($con, $_POST['username']);
}
if (isset ($_POST['password'])){
$password = mysqli_real_escape_string($con, $_POST['password']);
}
//These are the different PHP variables that store my posted data.

$login="SELECT * FROM users WHERE username='$username' AND password='$password'";
$result=mysqli_query($con, $login);
$count=mysqli_num_rows($result);
//This is the query that will be sent to the MySQL server.
if($count==1)
{
  $_SESSION["user_session"]=$username;
  header('Location: http://localhost/projects/ibill_v3/html/main.php#home');
  exit();
}
//This checks the 'user_details' database for correct user registration details and if successful, directs to home page.
else {
   header('Location: http://localhost/projects/ibill_v3/html/loginformfail.html');
   exit();
}
//If login details are incorrect

/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
?>

第 1 步:在 login.php 中设置提交到 loginform.php 的操作 (action="loginform.php")

step2:在 loginform.php 中启动会话并将重定向位置更改为 main.php

<?php 
session_start();
$con=mysqli_connect('localhost','root','cornwall','ibill');
// This code creates a connection to the MySQL database in PHPMyAdmin named 'ibill':

$username="";
$password="";

if (isset ($_POST['username'])){
$username = mysqli_real_escape_string($con, $_POST['username']);
}
if (isset ($_POST['password'])){
$password = mysqli_real_escape_string($con, $_POST['password']);
}
//These are the different PHP variables that store my posted data.

$login="SELECT * FROM users WHERE username='$username' AND password='$password'";
$result=mysqli_query($con, $login);
$count=mysqli_num_rows($result);
//This is the query that will be sent to the MySQL server.
if($count==1)
{
  $_SESSION["user_session"]=$username;
  header('Location:main.php');
  exit();
}
//This checks the 'user_details' database for correct user registration details and if successful, directs to home page.
else {
   header('Location: main.php');
   exit();
}
//If login details are incorrect

/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
?>

第 3 步:在 main.php 中删除包含 "loginform.php";

<?php
    session_start();
if (isset($_SESSION['user_session']) and $_SESSION['user_session']!=""){
  echo 'working';
}
else {
  echo 'not working';
}
?>