Всем привет, есть главная страница с формой авторизации и стартом сессии index.php. Затем срабатывает файл auth.php с проверкой логина, пароля и т.д из БД и при удаче переход на страницу LkPage.php. Так вот, значение в сессии хранится на странице LkPage.php. А если перейти на страницу descriptionWorkout.php из хэдэра LkPage.php, то сессия обнуляется. Я не понимаю почему. Подскажите, пожалуйста.
index.php
Код:
<?php
if (!isset($_SESSION)) session_start ();
//session_start();
//include "auth.php";
print_r($_SESSION);
?>
<!DOCTYPE html>
<html>
<head>
<title>Fitness club</title>
<meta charset="utf-8">
<link rel="icon" href="res/favicon.ico" type="image/x-icon">
</head>
<body>
<p style="font-weight: bolder; font-size: 30px;">Форма авторизации</p>
<form action="auth.php" method="_GET">
<input type="email" name="emailA" placeholder="Email" required><br><br>
<input type="password" name="passwordA" placeholder="Пароль" required><br><br>
<input type="radio" name="radio" value="client" checked />Клиент<br>
<input type="radio" name="radio" value="coach" />Тренер<br>
<input type="radio" name="radio" value="admin" />Админ<br><br>
<input type="submit" value="Войти!">
</form>
<p style="font-weight: bolder; font-size: 20px;">
Внимание! Если у вас нет аккаунта, то зарегистрируйтесь</p>
<form action="regPage.php" method="POST">
<input type="submit" value="Зарегистрироваться!">
</form>
</body>
</html>
LkPage.php
Код:
<?php
if (!isset($_SESSION)) session_start ();
var_dump($_SESSION);
if (isset($_SESSION['id']) && $_SESSION['id'] === true) {
echo $_SESSION['id'];
}
echo $_SESSION['email'];
echo $_SESSION['password'];
echo $_SESSION['firstname'];
echo $_SESSION['id'];
print_r($_SESSION);
?>
<!DOCTYPE html>
<html>
<head>
<title>Фитес-клуб</title>
<meta charset="utf-8">
</head>
<body>
<div id="navbar">
<a href="descriptionWorkout.php">Описание тренировок</a>
<a href="#news">Обсуждения</a>
<a href="plans.html">Планы тренировок</a>
<a href="#contact">Меню тренировок</a>
<a href="#contact">Выбор/отказ от тренера</a>
<a href="index.php">Выйти</a>
</div>
</body>
</html>
descriptionWorkout.php
Код:
<?php
if (!isset($_SESSION)) session_start ();
//phpinfo();
var_dump($_SESSION);
/*if (isset($_SESSION['userid']) && $_SESSION['userid'] === true) {
echo $_SESSION['userid'];
}*/
if(isset($_SESSION['id']) && !empty($_SESSION['id'])){
echo "yes";
} else echo "string";
echo $_SESSION['email'];
echo $_SESSION['password'];
echo $_SESSION['firstname'];
echo $_SESSION['id'];
print_r($_SESSION);
?>
<!DOCTYPE html>
<html>
<head>
<title>Описание тренировок</title>
<meta charset="utf-8">
</head>
<body style="background-image: url(res/background.jpg); background-size: 100%; background-repeat:no-repeat; background-blend-mode: multiply; background-color: #b2b2b2">
</body>
</html>
auth.php
Код:
<?php
$email = $_GET['emailA'];
/*$password = md5($_GET['passwordA']);*/ //uncomment
$password = $_GET['passwordA'];
$status = "default";
$status = $_GET['radio'];
$id;
//echo $status;
$firstname = "default";
$resss = "default";
$per;
/* $br0 = md5((string)$_SERVER['HTTP_USER_AGENT']);
$br = md5((string)get_browser(null, true));*/
/*$ip = md5((string)$_SERVER['SERVER_ADDR']);
echo "$ip";*/
$conn = new mysqli("localhost", "root", "", "fitness");
if ($conn) {
if ($status == "client" || $status == "coach")
{ echo "База подключена<br>";
/* $result = $conn->query("UPDATE clients SET token = '$ip'
WHERE email = '$email' AND password = '$password'"); */
/*$sql = "SELECT email,password,firstnames.firstname FROM clients, firstnames WHERE email = '$emailA'";*/
$sql = "SELECT id, email,password, status,firstnames.firstname FROM users, firstnames WHERE users.id_firstname = firstnames.id_firstname AND status = '$status';";
if($result = $conn->query($sql)){
foreach($result as $row){
$em = $row["email"]; //список всех email
$pass = $row["password"]; //список всех pass
$firstname = $row["firstname"]; //список всех firstname
$id = $row["id"]; //список всех firstname
if ($email == $em) {
if ($password == $pass) {
echo "email = $em<br>";
echo "pas = $pass<br>";
echo "name = $firstname<br>";
$resss = "dd";
$_SESSION['email'] = $email;
$_SESSION['password'] = $pass;
$_SESSION['firstname'] = $firstname;
$_SESSION['id'] = $id;
goto ex1;
}
} else $resss = "err";
}
} else $resss="err";
}
else if ($status == "admin") {
$sql = "SELECT id, email,password, status,firstnames.firstname FROM users, firstnames WHERE users.id_firstname = firstnames.id_firstname AND status = '$status';";
if($result = $conn->query($sql)){
foreach($result as $row){
$em = $row["email"]; //список всех email
$pass = $row["password"]; //список всех pass
$firstname = $row["firstname"]; //список всех firstname
$id = $row["id"]; //список всех firstname
if ($email == $em) {
if ($password == $pass) {
echo "email = $em<br>";
echo "pas = $pass<br>";
echo "name = $firstname<br>";
$resss = "dd";
goto ex1;
}
} else $resss = "err";
}
} else $resss="err";
//$per = "asdf";
//header('Location: LkPage.html');
$_SESSION['userid'] = true;
require_once('LkPageAdmin.html');
exit;
//goto ex2;
}
else {
echo "Такого пользователя не существует!";
//$resss = "err";
}
ex1:
if ($resss == "err") {
echo "Error!!!";
mysqli_close($conn);
}
else if ($resss != "err" && mysqli_query($conn, $sql)) {
echo "Success<br>";
echo "status = $status<br>";
echo "Hello, $firstname!";
mysqli_close($conn);
/*if(isset($_SESSION['emailA']))
{$login='Здравствуйте, '.$_SESSION['emailA'].'!';}
// Проверяем, пусты ли переменные логина и id пользователя
if (empty($_SESSION['emailA']) or empty($_SESSION['id']))
// Если пусты, то
{
echo "<p style='margin-left:60px;'>Вы вошли на сайт, как гость</p>
<br> HTML-форма входа<br />Ссылка на форму регистрации"; }
else
// Если не пусты, то
{
echo "<br /><br />Вы вошли на сайт, как ".$_SESSION['emailA']."<br><br />";
echo ('Кнопка ВЫЙТИ'); }
*/
/*$_SESSION['userid'] = true;*/
require_once('LkPage.php');
exit;
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
mysqli_close($conn);
}
ex2:
} else echo "не подключена";
?>