php - 根据 session 状态更改变量内容的错误

标签 php mysql session variables

我正在尝试编写一个脚本,根据 session 状态和页面 URL 中的 ID(例如 www.example.com/profile.php?id=1)更改变量内容,这样它会如果他们没有登录并查看其他人的个人资料,则显示一组内容,如果已登录并在自己的个人资料上显示另一组内容,如果已登录并查看其他人的个人资料,则显示另一组内容。

首先,脚本从 url 中获取 ID:

if (isset($_GET['id'])) {
     $id = preg_replace('#[^0-9]#i', '', $_GET['id']); // filter everything but numbers
} else if (isset($_SESSION['idx'])) {
     $id = $logOptions_id;
} else {
   header("location: index.php");
   exit();
}

然后它运行一些我不会包括的其他代码,然后是这段代码:

// ------- DECIDES WHAT TO DISOPLAY, DEPENDING ON VERIABLES ---------

if (isset($_SESSION['idx']) && $logOptions_id == $id) { // If session is set and ID matches the profiles ID
$content = ""Your viewing your own profile";

} else if (isset($_SESSION['idx']) && $logOptions_id != $id) { // If SESSION is set, but ID dosent match profiles ID
$follow_option = "Your viewing someone elses profile";


} else {
$content = "Your are not logged in";
}
// ------- END DECIDES WHAT TO DISOPLAY, DEPENDING ON VERIABLES ---------


print $content;

现在我的问题是,它所做的只是显示用于登录和查看其他人个人资料的选项“您正在查看其他人的个人资料”。如果您看到任何会导致这种情况的错误,请在下面回答。谢谢! :)

最佳答案

$logOptions_id != $id 运行时,您的变量不会保持预期值,或者您忘记启动 session 。我没有看到分配 $logOptions_id 的引用。使用您的 IDE 工具调试代码。

关于php - 根据 session 状态更改变量内容的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5291527/

相关文章:

php - 需要加速 MySQL 查询,只有 4,000 条记录,需要 3 秒以上,有 3 个连接

mysql - Sequelize : multiple where clause

php - OctoberCMS 表单请求未提交

php - 试图增加购物车项目的 session 时间(EDD 和 Wordpress)

sql - 临时表如何在存储过程中工作(全局和本地)

php - 需要加速这个 php 脚本

javascript - ajax在wordpress中发送400错误请求错误

javascript - JS 表值更新 onchange

php - 有没有办法根据它们属于哪一列来对 MySql 中的值进行排名?

javascript - 第二个 php 文件找不到在第一个文件中启动的 session