Тема: Чому $_SESSION не парцює?
Хай. Значит роблю форму реєстрація і входження на сайт.
Коли юзер вводить дані (при логіні), то вони от так от обробляються
<?PHP
$login = $_POST["user_nameL"];
$pass = $_POST["passL"];
$db = new PDO('mysql:host=localhost;dbname=shop',"shop_admin","123");
$stmt=$db->query("select count(*) from users where user_name='".$login."' and pass=password('".$pass."')");
$res = $stmt->fetch()[0];
if($res!=0)
{
$_SESSION['user_name']=$login;
echo $_SESSION['user_name'];
header("Location: /");
die();
}
else
{
echo "Wrong login or password";
}
?>
А в стандартному виді, я перевіряю, чи не пуста змінна $_SESSION['user_name'].
<section id="login">
<?php
if(isset($_SESSION['user_name'])):
?>
<span id="welcome">Welcome <?=$_SESSION['user_name']?></span>
<a href="/exit/">Exit</a>
<?php
endif;
?>
<?php
if(!isset($_SESSION['user_name'])):
?>
<a id="log" href="/login/log">Log In</a>
<a id="sign" href="/login/sign">Sign Up</a>
<?php endif;?>
</section>
Ну і типу, коли юзер не увійшов, то йому пропонується увійти або зарегатись, а якщо увійшов, то показується напис - Велкам юзернейм, і дається змога вийти з сайту.
Але в мене не проходить перший if, ну ніяк. Ніби та змінна $_SESSION['user_name'] не встановлюється ніде.