Ura
Новичок
Здравствуйте, на моем сайте как то не хорошо работает авторизация с сессией, заходит, но не поддерживает сессию аккаунта пользователя, элементарно не выводит даже имя пользователя т.к. сайт мне выдали вчера вместе с заданием, а сдавать нужно сегодня, разобраться сам не могу
Задание заключается в том чтобы добавить на сайт блок опроса для зарегистрированных пользователей и чтоб один пользователь мог голосовать только один раз. Я плохо понимаю как оно должно работать, но сдать надо, подскажите пожалуйста чего не хватает.
Заранее спасибо.
login.php
__________________________
<?php
include("header.php")
?>
<form action="login.php" method="POST">
<input name="login">
<br>
<input name="pass" type="password">
<br>
<input type="submit">
</form>
<?php
$flag=1;
if(isset($_POST["login"])){
$log=$_POST["login"];
$password=$_POST["pass"];
if(!(strlen($log) && strlen($password))){
echo "Вы не заполнили форму входа";
}
else{
$sp=md5($password);
if($stmt=$mysqli->prepare("select id,pass from users where login=?")){
$stmt->bind_param("s", $log);
$stmt->execute();
$stmt->bind_result($id_user,$val);
$stmt->fetch();
if($sp==$val){
echo "Вы вошли".$fio.""; //тут должно отображаться имя пользователя, но его нет
$_SESSION["id_user"]=$id_user;
$flag=0;
}
else{
echo "Вы не вошли";
}
$stmt->close();
}
}
}
if($flag){
?>
<?php } ?>
<?php
include("footer.php")
?>
________________________
header.php
_______________________
<?php
session_start();
$mysqli = new mysqli('localhost', 'root', '', 'kurs');
//проверка сессии
if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
echo "Вы обновили эту страницу ".$_SESSION['counter']++." раз.<br>
<a href=".$_SERVER['PHP_SELF'].'?'.session_name().'='.session_id().">обновить</a>";
echo "Вы вошли как" .$fio; //тут должно отображаться имя пользователя, но его нет
?>
<html>
<body>
<table width="800" border="0" cellspacing="0" cellpadding="4">
<tr align="center" bgcolor="#999999">
<td colspan="2" > Заголовок</td>
</tr>
<tr>
<td>
<a href="login.php">Войти</a>
<br>
<?php if($_SESSION["id_user"]){?>
<a href="write.php">Оставить сообщение</a>
<br>
<?php } ?>
<a href="sign.php">Зарегистрироваться</a>
<br>
<a href="exit.php">EXIT</a>
<br>
<?php
if(strcmp($_SERVER["REQUEST_URI"],"/kurs/index.php")){
echo "<a href=\"index.php\">На главную</a>";
}
?>
</td>
<td>
______________________
footer.php
______________________
</td>
</tr>
<tr>
<td colspan="2">© Т.Д.А.</td>
</tr>
</body>
</html>
<?php
include("blog.html") //тут подключается сам блок опроса
?>
<?php
$mysqli->close();
?>

Задание заключается в том чтобы добавить на сайт блок опроса для зарегистрированных пользователей и чтоб один пользователь мог голосовать только один раз. Я плохо понимаю как оно должно работать, но сдать надо, подскажите пожалуйста чего не хватает.
Заранее спасибо.
login.php
__________________________
<?php
include("header.php")
?>
<form action="login.php" method="POST">
<input name="login">
<br>
<input name="pass" type="password">
<br>
<input type="submit">
</form>
<?php
$flag=1;
if(isset($_POST["login"])){
$log=$_POST["login"];
$password=$_POST["pass"];
if(!(strlen($log) && strlen($password))){
echo "Вы не заполнили форму входа";
}
else{
$sp=md5($password);
if($stmt=$mysqli->prepare("select id,pass from users where login=?")){
$stmt->bind_param("s", $log);
$stmt->execute();
$stmt->bind_result($id_user,$val);
$stmt->fetch();
if($sp==$val){
echo "Вы вошли".$fio.""; //тут должно отображаться имя пользователя, но его нет
$_SESSION["id_user"]=$id_user;
$flag=0;
}
else{
echo "Вы не вошли";
}
$stmt->close();
}
}
}
if($flag){
?>
<?php } ?>
<?php
include("footer.php")
?>
________________________
header.php
_______________________
<?php
session_start();
$mysqli = new mysqli('localhost', 'root', '', 'kurs');
//проверка сессии
if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
echo "Вы обновили эту страницу ".$_SESSION['counter']++." раз.<br>
<a href=".$_SERVER['PHP_SELF'].'?'.session_name().'='.session_id().">обновить</a>";
echo "Вы вошли как" .$fio; //тут должно отображаться имя пользователя, но его нет
?>
<html>
<body>
<table width="800" border="0" cellspacing="0" cellpadding="4">
<tr align="center" bgcolor="#999999">
<td colspan="2" > Заголовок</td>
</tr>
<tr>
<td>
<a href="login.php">Войти</a>
<br>
<?php if($_SESSION["id_user"]){?>
<a href="write.php">Оставить сообщение</a>
<br>
<?php } ?>
<a href="sign.php">Зарегистрироваться</a>
<br>
<a href="exit.php">EXIT</a>
<br>
<?php
if(strcmp($_SERVER["REQUEST_URI"],"/kurs/index.php")){
echo "<a href=\"index.php\">На главную</a>";
}
?>
</td>
<td>
______________________
footer.php
______________________
</td>
</tr>
<tr>
<td colspan="2">© Т.Д.А.</td>
</tr>
</body>
</html>
<?php
include("blog.html") //тут подключается сам блок опроса
?>
<?php
$mysqli->close();
?>