//header.phpКак отображать имя пользователя на главной странице только после авторизации?
<?php
session_start();
if(isset($_SESSION['loggedin']))
$_SESSION['displayname']="notset";
else
$_SESSION['loggedin']=0;
?>
//index.php
<?php
require "header.php";
if($_SESSION['loggedin']==1) //ignores the if statement
{
echo "Welcome".$_SESSION['displayname']."!";
echo "<button id='logout_button'>
<a href='logout.php'>Logout</a>
}
else
{
echo '<a id="display_name" href="login.html">Login/ Signup</a>';
}
?>
//verify.php
<?php
session_start();
include "connect.php";
$uname=$_POST['uname'];
$pass=$_POST['pass'];
$check=mysqli_query($conn,"SELECT * FROM member_list WHERE username='$uname'");
$numrows=mysqli_num_rows($check);
if ($numrows == 1)
{
$row = mysqli_fetch_array($check);
$dbusername = $row['username'];
$dbpassword = $row['password'];
if($uname == $dbusername && $pass == $dbpassword)
{
$_SESSION['loggedin']=1;
$_SESSION['displayname'] = $uname;
header("location:index.php");
}
else
{
$msg="Invalid Password !!";
echo "<script type='text/javascript'>alert('$msg');
window.location.replace('loggedin.html')</script>";
}
}
else
{
$msg="Invalid Username !!";
echo "<script type='text/javascript'>alert('$msg');
window.location.replace('index.html')</script>";
}
?>
Это мой код. Ошибок нет. Но когда я вхожу в систему, он не отображает имя пользователя. Он игнорирует оператор if на index.php и переходит прямо в оператор else.
Вам не хватает 'session_start();' сверху в файле 'index.php'. – icecub
Поместите это вверху индексного файла 'ini_set ('display_errors', 1); ini_set ('display_startup_errors', 1); error_reporting (E_ALL); '. Показывает ли она какую-либо ошибку? – Blinkydamo
'эхо "Кнопка Logout"' не закрывает в вашем index.php –
prasanth