我在表单中有一个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
是相同的,为什么不是
之后允许的空格 <?
答案 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']) ?>" />