如何抑制php中的警告消息
我对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
<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中,而不是相反。