Php isset功能工作不正常

Php isset功能工作不正常,php,session-variables,isset,Php,Session Variables,Isset,页面无法看到其代码写在isset function语句下的登录表单。我已经正确地编写了代码并多次执行了它,但是现在在isset语句中编写的代码不起作用。以下是代码:- <?php session_start(); echo "<p style=\"font-color: #ff0000;\"> Catogoies </p>"; echo '<link href="var/www/html/sample.css" rel="stylesheet">';

页面无法看到其代码写在isset function语句下的登录表单。我已经正确地编写了代码并多次执行了它,但是现在在isset语句中编写的代码不起作用。以下是代码:-

<?php
session_start();
echo "<p style=\"font-color: #ff0000;\"> Catogoies </p>";

echo '<link href="var/www/html/sample.css" rel="stylesheet">';



require_once('../html/conn.php');
$query = "select * from catogories";
mysqli_select_db($dbc, 'odit');
$retrieve = mysqli_query($dbc, $query);

if(!$retrieve)
{
    die(mysqli_error($query));
}
while($row=mysqli_fetch_array($retrieve, MYSQL_ASSOC)){
echo "<p style=\"font-color: #ff0000;\">".'<a href="cats.php?        catogory='.urldecode($row["Name"]).'">'.$row["Name"].'</a>'."</p>";
$_SESSION['cat']=$row["Name"]; 
}
if(!($_SESSION)) {
    session_start();
}if(isset($_SESSION['lgout']))//the variable logout intialization line
{
if($_SESSION['lgout']!=1||$_SESSION['signup']){
echo "Hello : ".'<a href = "profile.php">'.$_SESSION['unme'].'</a>';    echo "<br><br>";
echo '<a href="logout.php">'."Logout";}
else { 
include 'lform.php'; echo "<br><br>";   

echo '<a href="Sign_up.php">'."Sign up"."<br>";
} }
mysqli_close($dbc);
//include 'lform.php';
?>
<br>
<a href = 'adding_catogory.php'>Create a New Catogory</a><br><br>
<a href = 'Log_in.php'></a>

<?php
$db = @mysqli_connect("localhost", "oddittor", "Odit@123", "odit");
if(isset($_POST['login'])){
$username=mysqli_real_escape_string($db, $_POST['l_id']);
$password=mysqli_real_escape_string($db, $_POST['pswd']);
$sql="SELECT * from users where usrName='$username' and pswrd =    '$password'"; 

$result = mysqli_query($db, $sql) or die(mysqli_error($db));

$count=mysqli_num_rows($result) or die(mysqli_error($db));
if($count>0) {

    $_SESSION['unme']=$username; //This is the global session variable...used for storing the variables across the pages.
    $_SESSION['lgout']=0;
    header('Location : session.php'.$_SESSION['unme']);
    header("Location : Homepage.php".$_SESSION['unme'].$_SESSION['lgout']); header( "refresh:0;url=Homepage.php" );

    $_SESSION['unme']=$username;
}

else {
    $error = "Invalid Details! Please Renter them"; }
}
?>
行如果,我删除这一行,我可以看到登录页面表单,但是这样做,每当我第一次打开页面时,我就会得到未定义变量logout的错误

这是注销脚本

<html>
<?php
session_start();
$_SESSION['lgout']=1;
$_SESSION['signup']=0;
echo ' You have been successfully logged out';
header('Location : Homepage.php'.$_SESSION['lgout']);header(     "refresh:0;url=Homepage.php" );

?>
</html>

您需要将

session_start()

全局显示在页面的开头。由于无法获取会话对象。

只需删除即可

session_destroy();
因为您可以访问所有的
$\u会话

您的查询不安全。使用
准备好的语句
而不是所有查询。

你期望什么?您在启动会话后立即销毁会话?第3行中的错误:未启动为什么关闭
}
$db=@mysqli\u connect(…
)。不要抑制错误消息,而是处理它们。您对查询是开放的,应该真正使用而不是串联查询。
mysqli\u real\u escape\u string()
并不像人们希望的那样安全…即使我删除了会话销毁,仍然存在相同的问题。请删除
会话销毁
您的代码正在重定向到
主页。php
。没有显示错误。我的页面无法显示登录表单,即包含登录表单代码的include语句已写入。只需输入静态值。这里没有错误。请检查一次。
session_destroy();