Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何抑制php中的警告消息_Php - Fatal编程技术网

如何抑制php中的警告消息

如何抑制php中的警告消息,php,Php,我对php世界还很陌生。我写了以下内容: <html> <head> <title>It joins simple1 and prac1 program together</title> </head> <body> <?php if($_POST['user']) { print "hello,"; print $_POS

我对php世界还很陌生。我写了以下内容:

<html>
<head>
    <title>It joins simple1 and prac1 program together</title>
</head>
<body>
    <?php
        if($_POST['user'])
        {
            print "hello,";
            print $_POST['user'];
        }
        else{
        print <<<_HTML_
            <form method="post" action="$_server[PHP_SELF]">
                Your name:<input type="text" name="user">
                </br>
                <input type="submit" value="hello"> 
            </form>
        _HTML_;
        }           
    ?>
</body>
</html>  ---- line 23
我已经删除了所有html标记,只是保持php标记正常工作:

<?php
// Print a greeting if the form was submitted
if ($_POST['user']) {
print "Hello, ";
// Print what was submitted in the form parameter called 'user'
print $_POST['user'];
print "!";
} else {
// Otherwise, print the form
print <<<_HTML_
<form method="post" action="$_SERVER[PHP_SELF]">
Your Name: <input type="text" name="user">
<br/>
<input type="submit" value="Say Hello">
</form>
_HTML_;
}
?>
  • 为什么它不适用于前一个案例?出什么事了

  • 如何删除第二个代码中的警告消息或使其静音。它在浏览器中看起来很糟糕

  • 分析错误的原因:
    herdoc
    语句的结束必须发生在一行的开头,前后不带空格。您的
    \u HTML
    缩进到与代码其余部分相同的级别,但它必须出现在行的第一个字符位置

        _HTML_;
    
    // Should be
    _HTML_;
    
    您的
    未定义索引的原因
    警告: 要测试是否设置了
    $\u POST['user']
    ,请使用
    isset()
    。这将解决您的
    未定义索引
    错误

    if(isset($_POST['user']))
    
    更新:
    未定义变量的原因\u服务器
    注意: 在herdoc或双引号字符串中,需要将复杂变量(数组、对象)包装在
    {}
    中。另外,在
    PHP\u SELF
    周围加引号

    <form method="post" action="{$_SERVER['PHP_SELF']}">
    
    
    
    解析错误的原因:
    herdoc
    语句的结束必须发生在一行的开头,前后不带空格。您的
    \u HTML
    缩进到与代码其余部分相同的级别,但它必须出现在行的第一个字符位置

        _HTML_;
    
    // Should be
    _HTML_;
    
    您的
    未定义索引的原因
    警告: 要测试是否设置了
    $\u POST['user']
    ,请使用
    isset()
    。这将解决您的
    未定义索引
    错误

    if(isset($_POST['user']))
    
    更新:
    未定义变量的原因\u服务器
    注意: 在herdoc或双引号字符串中,需要将复杂变量(数组、对象)包装在
    {}
    中。另外,在
    PHP\u SELF
    周围加引号

    <form method="post" action="{$_SERVER['PHP_SELF']}">
    

    您可以在函数名前加@来抑制PHP中的错误(在本例中不起作用),或者将错误报告设置为不同的值()


    但是您应该修复警告的来源,而不是抑制它。在这种情况下,HTML前面有空格

    您可以在函数名前加上@(在本例中不起作用),或者将error_reporting设置为一个不同的值()来抑制PHP中的错误


    但是您应该修复警告的来源,而不是抑制它。在这种情况下,HTML前面有空格

    isset已经处理了警告,并且在HTML正常工作之前的第一段代码中删除了开头空白。但现在它抛出了不同的错误:“注意:未定义的变量:_serverin C:\wamp\www\php\u practice\simple2.php on line 14”。。。。。第14行是@user427394参见上面的更新-您需要在
    {}
    中包装
    $\u服务器['PHP\u SELF']
    ,在{}中包装没有帮助。奇怪的是,复制时将其中的部分粘贴到另一个文件中,并检查它是否工作正常。@user427394我注意到,在文章的上半部分,您错误地使用了
    $\u server
    ,而在下半部分,您使用了
    $\u server
    。大小写很重要,必须是大写。isset已经处理了警告,并且在HTML正常工作之前的第一段代码中删除了开头空白。但现在它抛出了不同的错误:“注意:未定义的变量:_serverin C:\wamp\www\php\u practice\simple2.php on line 14”。。。。。第14行是@user427394参见上面的更新-您需要在
    {}
    中包装
    $\u服务器['PHP\u SELF']
    ,在{}中包装没有帮助。奇怪的是,复制时将其中的部分粘贴到另一个文件中,并检查它是否工作正常。@user427394我注意到,在文章的上半部分,您错误地使用了
    $\u server
    ,而在下半部分,您使用了
    $\u server
    。大小写很重要,而且必须是大写。通常最好将PHP嵌入HTML中,而不是相反。通常最好将PHP嵌入HTML中,而不是相反。