注意:第27行的C:\ xampp \ htdocs \ mywebsite \ Untitled9.php中的未定义索引:消息
<?php session_start();
if ($_GET['message'] == "success" && $_SESSION['revisit'] == "0") {
$_SESSION['revisit'] = "1"; ?>
<script type="text/javascript">window.alert('Message successfully posted.');</script>
<?php } ?>
第27行是......
if ($_GET['message'] == "success" && $_SESSION['revisit'] == "0") {
我该如何解决这个问题?
答案 0 :(得分:3)
您需要检查数据message
中是否存在包含<{1}}的项目
$_GET
同样的规则适用于会话项的第二次比较。所以完整的代码看起来像
isset($_GET['message'])
即使有人建议您使用if (isset($_GET['message']) && $_GET['message'] == "success" && isset($_SESSION['revisit']) && $_SESSION['revisit'] == "0") {
- 也不要相信它们。这是邪恶的。按照我提出的方式。
答案 1 :(得分:0)
不要假设已设置message
参数:
if (isset($_GET['message']) && $_GET['message'] == 'success' && ...) {
...
}
或者,您可以提供默认值:
$message = isset($_GET['message']) ? $_GET['message'] : 'no_message';
if ($message == 'success' && ..) {...
答案 2 :(得分:0)
试试这个:
if (isset($_GET['message']) && $_GET['message'] == "success" && $_SESSION['revisit'] == "0") {
答案 3 :(得分:0)
这是notice
而不是fatal error
,表示您可以通过更改error_reporting
设置来抑制此错误,在代码行前面添加@
,或检查变量是否首先存在。
if(isset($_GET['message']))
最后一个可能是最优雅的,因为它可以防止错误而不是压制错误。然而,压抑不是问题,因为它不会影响您的代码。