gpt4 book ai didi

php - 当变量存在时 PHP 中的 undefined variable

转载 作者:行者123 更新时间:2023-12-04 15:53:51 26 4
gpt4 key购买 nike

我查看了其他 Stack Overflow 问题,但都没有解决问题。以下类定义变量,然后在 HTML 代码中调用该变量。

我对另一个 PHP 页面使用了同样的方法,并且效果很好。由于某种原因,它在此页面上不起作用。我已经多次这样做,没有任何问题。 PhpStorm说变量 $user “可能没有被定义”,但我知道它是。我该如何解决这个问题?

我试过在页面顶部设置全局变量,但没有成功。我已经尝试在 if(isset()) 之后设置变量全局但仍然不起作用。这是我的 PHP 代码:

<?php
session_start();
require_once 'includes/class.user.php';
$user_edit = new USER();

if(!$user_edit->is_logged_in())
{
$user_edit->redirect('index.php');
}

if(isset($_GET['user_id'])) {
$tid = $_GET['user_id'];
$stmt = $user_edit->runQuery("SELECT * FROM users WHERE user_id = :id");
$stmt->execute(array(':id' => $tid));
$user = $stmt->fetch(PDO::FETCH_ASSOC);
}
?>

<?php include('header.php'); ?>

<div class="container side-collapse-container">
<p><?php if (!empty($user['username'])) {
echo $user['username'];
} ?></p>
</div>

<?php include('footer.php'); ?>

这是用 XAMPP 运行后在浏览器中显示的内容

Notice: Undefined variable: user in C:\Users\USER\PhpstormProjects\site1\view_user.php on line 22

最佳答案

PhpStorm 表示可能未定义 $user 变量,因为它当前设置在“if” block 中。如果您希望 PhpStorm 消息消失,请将“if”上方的 $user 定义为数组。

$user = [];
if (isset($_GET['user_id'])) {
$tid = $_GET['user_id'];
$stmt = $user_edit->runQuery("SELECT * FROM users WHERE user_id = :id");
$stmt->execute(array(':id' => $tid));
$user = $stmt->fetch(PDO::FETCH_ASSOC);
}

如果用户名未显示在页面上,则查询返回为空 (false) 或索引“用户名”不正确。

当然,要填充 $user,user_id 需要在查询字符串中。

关于php - 当变量存在时 PHP 中的 undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46166961/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com