Я плохо разбираюсь в этом и стараюсь, но не работает. Я не знаю, почему get.php
является индексной страницей, а файл header.php
имеет другой файл login.php
. Я не знаю, почему сессия работает не так, как я думаю. Нижний колонтитул должен показывать username
при входе в систему, но это не так.
get.php
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="style.css" media="all"> </head> <body> <?php include("header.php");?> <?php include("menu.php");?> <?php include("slider.php");?> <?php include("content.php");?> <div id="footer"> <?php if(isset($_SESSION['currentuser'])==true) { echo"$username"; } else { echo" not logged in "; } ?> </div> </body> </html>
login.php
<?php session_start(); include("connect.php"); if(isset($_POST['login'])) { $username=$_POST['username']; $password=$_POST['password']; $query="select * from user where username='$username' AND password='$password'"; $run=mysql_query($query); if(mysql_num_rows($run)>0) { $_SESSION['currentuser']=true; header("Location:get.php"); } else { header("Location:get.php#loginfail"); } } ?>
в<?php session_start(); include("connect.php"); if(isset($_POST['login'])) { $username=$_POST['username']; $password=$_POST['password']; $query="select * from user where username='$username' AND password='$password'"; $run=mysql_query($query); if(mysql_num_rows($run)>0) { $_SESSION['currentuser']=true; header("Location:get.php"); } else { header("Location:get.php#loginfail"); } } ?>
в<?php session_start(); include("connect.php"); if(isset($_POST['login'])) { $username=$_POST['username']; $password=$_POST['password']; $query="select * from user where username='$username' AND password='$password'"; $run=mysql_query($query); if(mysql_num_rows($run)>0) { $_SESSION['currentuser']=true; header("Location:get.php"); } else { header("Location:get.php#loginfail"); } } ?>
Попробуй это:
if(isset($_SESSION['currentuser']) && $_SESSION['currentuser'] == true)
Также не забудьте включить session_start()
на каждую страницу, которая требует сеансов.
Сессии можно получить только после обновления страницы, когда они установлены. Вам нужно будет перезагрузить страницу, чтобы иметь доступ к переменным сеанса.
Другое примечание. Всюду, где вы хотите, чтобы вы использовали какой-либо сеанс, вам нужно начать сеанс с:
session_start();
Таким образом, ваш файл get.php
будет выглядеть примерно так:
<?php session_start(); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="style.css" media="all"> </head> .....etc