PHP错误:未定义的变量

时间:2014-04-02 08:40:54

标签: javascript php

任何人都可以告诉我,我的错误是什么。我知道它只会注意到。一切都运作良好,但只显示此通知。如何解决这个问题? :

这是代码:

if (isset($_GET['match']) && $_GET['match'] == 'one') {
    $checked_match_one = ' checked="checked"';
    $page_string .= SEP.'match=one';
} else {
    $_GET['match'] = 'all';
    $checked_match_all = ' checked="checked"';
    $page_string .= SEP.'match=all';
}

它告诉我的错误:

Notice: Undefined variable: page_string in C:\xampp\htdocs\msigilearnv2\admin\enrollment_attendance.php on line 110
Done writing the list into excel. Download

5 个答案:

答案 0 :(得分:8)

Simple.Initialize $page_string在使用它之前(我们可以说if语句之前)

$page_string = '';
if (isset($_GET['match']) && $_GET['match'] == 'one') {
    $checked_match_one = ' checked="checked"';
    $page_string .= SEP.'match=one';
}

答案 1 :(得分:5)

由于您正在使用变量的连接运算符(第一次),您应该注意将该变量初始化为null,然后只能启动任何操作(包括。=,+ =等短手操作符) - =,等)..

答案 2 :(得分:3)

您需要在$page_string语句之前初始化if变量。

喜欢这个..

$page_string = ''; //<--------- Here
if (isset($_GET['match']) && $_GET['match'] == 'one') {
    $checked_match_one = ' checked="checked"';
    $page_string .= SEP.'match=one';

答案 3 :(得分:3)

嗯,它在错误消息中说得很好:在您尝试阅读之前,您没有定义$page_string

$page_string .= 'something'操作是

的简写
$page_string = $page_string . 'something'

换句话说,您正在尝试读取 $page_string的值(尚未定义),将'something附加到该值,并将结果放入进入$page_string。因此,当您尝试读取未定义变量的值时,PHP执行automagic thing假设该值应为null,但至少它会向您发送通知 - 因为这是可疑行为。

为什么要发送通知?好吧,拿这段代码:

$mesage = 'DO NOT ';

if ($something_foo_bar) {
    $message .= 'LAUNCH the nuclear missiles!';
}

该代码可能不会做开发人员的意图。糟糕。

答案 4 :(得分:2)

只需在前面添加$page_string = "";