为什么php标签给出了解析错误?

时间:2015-04-10 11:29:32

标签: php

我在表单中有一个urldecoded字符串:

<input type="text" name="subject" value="<?= urldecode($_GET['subject']) ?>" />

这给了我一个错误:

<input type="text" name="subject" value="<?php= urldecode($_GET['subject']) ?>" />

这也给出了一个错误:(之后的空格

<input type="text" name="subject" value="<? = urldecode($_GET['subject']) ?>" />

有人可以解释一下为什么会出错吗? 我,你好。

<? 

<?php 

是相同的,为什么不是

之后允许的空格
 <?  

4 个答案:

答案 0 :(得分:3)

删除php标记之间的“=”并添加echo

 <input type="text" name="subject" value="<?php echo urldecode($_GET['subject']); ?>" />

答案 1 :(得分:1)

  

删除=在<?php

之后签名
 <?php echo urldecode($_GET['subject']) ?>

答案 2 :(得分:1)

第一个是唯一正确的PHP标记。

第二个不正确 - 您将使用<?php echo '...' ?>

第三个也是不正确的,因为开始标记有一个空格,因此PHP引擎会将“=”符号作为代码中的运算符插入,这将产生语法错误。

因此,请使用<?= '...' ?><?php echo '...' ?>

答案 3 :(得分:1)

你试过

吗?
<input type="text" name="subject" value="<?php echo urldecode($_GET['subject']) ?>" />

仅在启用短标签时

<input type="text" name="subject" value="<?= urldecode($_GET['subject']) ?>" />