首页 > 解决方案 > php按钮会话检查并允许访问

问题描述

这对我没有帮助 PHP检查会话,检查多个变量以允许访问特定页面

按钮上的php条件

PHP如果条件编号问题[重复]

PHP if 条件奇怪

如果登录用户只能访问或其打印错误,我尝试使用会话 user.php 进行简单的 php CRUD,但这是 user.php 顶行

<?php include('server.php') ?>
<?php

if(!isset($_SESSION['name'])){
// header("Location:login.php");
echo "nee to login to access this page" ;

exit;
session_destroy();
}
?>

这是我的删除按钮代码

<a href="server.php?delete=<?php echo $row['id'];?>" class ="btn btn-danger" > delete </a> 

当此按钮 gt 单击 ip/user.php?delete=id (从数据库中获取 id)时,当没有登录时,当键入ip/user.php?delete=20它从数据库中删除时,我该如何停止呢?

它是我的 server.php 用于删除

if (isset($_GET['delete'])) {
    $id = $_GET['delete'];
    $qry = "DELETE FROM crud WHERE id=$id" ;
    mysqli_query($conn, $qry);

    $_SESSION['message'] = "recoard deleted success";
$_SESSION['msg_type'] = "danger";
header('location: user.php');
}

标签: php

解决方案


//on the top of page check session is set or not
session_start();
if(isset($_SESSION) && isset($_SESSION['name']))
{
   if (isset($_GET['delete'])) 
  {
    $id = $_GET['delete'];
    $qry = "DELETE FROM crud WHERE id=$id" ;
    mysqli_query($conn, $qry);

    $_SESSION['message'] = "recoard deleted success";
    $_SESSION['msg_type'] = "danger";
    header('location: user.php');
  }
}
else
{
  echo 'cant access this page you need to login first';
}

如果您仍然遇到问题,请尝试打印 $_SESSION 数组并检查 sesison 是否真的被破坏了?

如果没有,那么在 logout.php

unset($_SESSION['name']);
session_destroy();

推荐阅读