以下是我目前使用的代码:
$form = "
<form action='echo htmlentities($_SERVER["PHP_SELF"]);' method='post'>
<table>
<tr>
<td>Username</td>
</td><input type='text' name='user' value='$getuser' /></td>
</tr>
</table>
</form>";
?>
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我这个错误:
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in ... on line 27
Run Code Online (Sandbox Code Playgroud)
如果我改变这个:["PHP_SELF"]对此['PHP_SELF'],我收到这个错误:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ... on line 27
Run Code Online (Sandbox Code Playgroud)
我如何修复上面的表单操作,以便它停止返回解析错误?
改变它:
<form action='echo htmlentities($_SERVER["PHP_SELF"]);' method='post'>
Run Code Online (Sandbox Code Playgroud)
至:
<form action='" . htmlentities($_SERVER["PHP_SELF"]) . "' method='post'>
Run Code Online (Sandbox Code Playgroud)
您正在使用双引号字符串构建HTML; 所以当PHP看到双引号分隔时"PHP_SELF",它假定第一个终止你的字符串.然后它尝试解析PHP_SELF,但不能这样做.