在解析PHP的变量中解析错误

use*_*925 -1 php

以下是我目前使用的代码:

  $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)

我如何修复上面的表单操作,以便它停止返回解析错误?

and*_*wsi 6

改变它:

<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,但不能这样做.

有关字符串的更多信息,请参阅字符串文档.