В настоящее время я учусь, как создать систему входа в систему с использованием PHP.Сначала казалось, что все просто - у меня были входные данные, заданные как переменные $_SESSION
, а затем я начал сеанс на следующей открываемой странице.Однако, когда я обновляю страницу, сеанс все еще работает, но переменные данные были отброшены и не распознаны.
Вот мой php, который устанавливает переменные:
<?php
include ("connection.php"); //connects to the database.
if(isset($_POST['login']))
{
$user_name = $_POST['EMAIL'];
$password = $_POST['PASSWORD'];
// echo $user_name, " AND ", $password, "<br>";
$q = "SELECT * FROM ".$table." WHERE EMAIL='".$user_name."' AND PASSWORD= '".$password."' AND IS_ADMIN= 'YES';";
// echo "<br>",$q,"<br>";
$r = mysqli_query($conn, $q);
if(mysqli_num_rows($r) > 0)
{
if(session_id() == '' || !isset($_SESSION))
{
// session isn't started
session_start();
echo "<br>GREAT SUCCESS!!!<br>";
$_SESSION["SESSION_EMAIL"]= $user_name;
$_SESSION["SESSION_PASSWORD"]= $password;
echo $_SESSION["SESSION_EMAIL"], " ", $_SESSION["SESSION_PASSWORD"];
header("Refresh:0; url=\website2.php");
}
}
else echo "<br>FAIL!!!<br>";
}
?>
Вот бит, который я использую для проверки того, что происходит на следующей странице:
<?php
session_start();
if (session_status() == PHP_SESSION_ACTIVE)
{
echo 'Session is active <br>';
} else echo"session is ded";
echo $_SESSION["SESSION_EMAIL"]; // it prints out an error if it screws up here
?>