I';I’我经常得到;解析错误:语法错误,第23行文件意外结束;在php文件中

I';I’我经常得到;解析错误:语法错误,第23行文件意外结束;在php文件中,php,syntax,syntax-error,Php,Syntax,Syntax Error,我经常在第23行遇到解析错误、语法错误和意外的文件结尾。请帮我解决这个问题。这是我的密码 <html> <head> <title>Title</title> </head> <body> <?php If(empty($_REQUEST['name'])){ print<<<HERE Please enter your name: <form> <input type = "tex

我经常在第23行遇到解析错误、语法错误和意外的文件结尾。请帮我解决这个问题。这是我的密码

<html>
<head>
<title>Title</title>
</head>
<body>
<?php
If(empty($_REQUEST['name'])){
print<<<HERE
Please enter your name:
<form>
<input type = "text" name = "name">
<input type = "submit">
</form>
HERE; }
else {
print "Hello $_REQUEST[name]";}
?>
</body>
</html>    

标题
第27行是

</html>

如果您想使用HERE语句,而不是像其他地方建议的那样打开和关闭PHP标记,那么问题是在关闭HERE之后您就有了数据。在这里结束后,只需将结束括号移动到下一行。此代码按预期运行:

<html>
<head>
<title>Title</title>
</head>
<body>
<?php
if(empty($_REQUEST['name'])){
print<<<HERE
Please enter your name:
<form>
<input type = "text" name = "name">
<input type = "submit">
</form>
HERE;

}
else {
print "Hello $_REQUEST[name]";
}
?>
</body>
</html> 

标题
如果“if”的最后一个括号应该在新行中

</head>
<body>
<?php
if(empty($_REQUEST['name'])){
print<<<HERE
Please enter your name:
<form>
<input type = "text" name = "name">
<input type = "submit">
</form>
HERE;
} else {
print "Hello " .$_REQUEST["name"];
}
?>
</body>
</html>

建议:打印$\u请求打印外指令或回显。


<html>
<head>
<title>Title</title>
</head>
<body>
<?php
If(empty($_REQUEST['name'])){
print <<<HERE
Please enter your name:
<form>
<input type = "text" name = "name">
<input type = "submit">
</form>
HERE;
} else {
    print "Hello $_REQUEST[name]"; 
}
?>
</body>
</html>  
标题
而不是使用
print,但这是php参考书中给出的内容。什么php参考书?仅仅因为有人写了一本书,并不意味着它将成为PHP的圣经,也不意味着它的结局就是PHP应该如何编写。@j08691这可能是他们所指的,但如果OP真的读了这本书,他们会看到一个黄色的大框,上面写着警告:非常重要的一点是,带有结束标识符的行不能包含任何其他字符,分号(;)除外。“等等……等等……除了不解决问题,这还能做什么呢?冷静点,伙计。在那里有一个坏的缩进,即使你修复了缩进,这也不能解释问题是什么。我注意到已经有两个其他答案使用相同的解决方案,它们包括一些解释。@ArjunTamble此代码有效。如果您仍然有问题,您需要提供比“它没有运行”更详细的信息。我的意思是,即使在遵循代码之后,它仍然显示“解析错误:语法错误,意外的行尾”。无法捕获错误。我仍然不知道为什么会这样。我甚至试着替换打印“…”;随着时间的推移,我只是一个新的php程序员,自己学习。到现在为止,我还没有遇到这样的问题。但是,这似乎很烦人。