-1

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

  $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>";

  ?>

上面的代码给了我这个错误:

Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in ... on line 27

如果我将 this: 更改["PHP_SELF"]为 this ['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

如何修复上面的表单操作,使其停止返回解析错误?

4

4 回答 4

6

将其更改为:

<form action='echo htmlentities($_SERVER["PHP_SELF"]);' method='post'>

到:

<form action='" . htmlentities($_SERVER["PHP_SELF"]) . "' method='post'>

您正在使用双引号字符串构建 HTML;所以当 PHP 看到双引号分隔"PHP_SELF"时,它假设第一个终止你的字符串。然后它尝试解析PHP_SELF,但不能这样做。

请参阅有关字符串的文档以获取更多参考。

于 2012-08-17T20:09:45.710 回答
4

改变:

<form action='echo htmlentities($_SERVER["PHP_SELF"]);' method='post'>

<form action='" . htmlentities($_SERVER["PHP_SELF"]) . "' method='post'>

您已经在 PHP 中并正在构建一个字符串,因此不需要在字符串中使用 echo。

于 2012-08-17T20:09:58.300 回答
4

删除$form变量并将 HTML 代码放在 PHP 右括号之外:

<?php
//php code

?>

<form action="<?php echo htmlentities($_SERVER["PHP_SELF"]);?>" method="post">
<table>
<tr>
<td>Username</td>
</td><input type='text' name='user' value='<?php echo $getuser; ?>' /></td>
</tr>
</table>
</form>
于 2012-08-17T20:12:07.267 回答
2

您忘记.在这一行使用 PHP 中的连接

<form action='echo htmlentities($_SERVER["PHP_SELF"]);' method='post'>

你应该写

<form action='" . htmlentities($_SERVER["PHP_SELF"]) . "' method='post'>
于 2012-08-17T20:11:14.917 回答