我想生成一个简单的html表单并添加一些文本框,然后我想定义一些php变量并将它们用作文本框的值但是当我尝试使用它们时它不起作用且值不会为文本框设置变量。您能否告诉我正确的语法和执行此操作的方式
<?php
$foo = 123;
?>
<html>
<head>
</head>
<body>
<form Id='Form' Method='post' Action='http://example.com'>
fooElement<input type='text' name='fooElement' value='<?= $foo ?>'/>
</form>
</body>
</html>
如何将foo变量的值设置为foo元素的值?
答案 0 :(得分:2)
您确定short_open_tag
吗?
如果没有尝试使用<php echo $foo;?>
您缺少?
符号。
<?php
$foo="sample"
?>
我的建议:在编写代码时要注意。在询问SO之前,请尝试再次检查您的代码是否存在拼写错误等。并学习这些基础知识
答案 1 :(得分:2)
标签丢失
<?php
$foo = 123;
?>
答案 2 :(得分:1)
这取决于您的服务器配置。有时允许使用<?php=$foo?>
等短标签,有时则不允许。{1}}。通常只需要<?php echo $foo; ?>
更安全。
答案 3 :(得分:1)
echo $foo
不安全。它包含'
,之后的任何内容都不会被看到,并将为跨站点脚本打开大门。
我建议做的是小清理,例如$foo = preg_replace("/'/", "'", $foo)
,如上所述输入值。 e.g。
<input name='bar' value='<?=$foo?>'>
我个人不喜欢这种方法而宁愿使用模板,或者如果你必须在php中使用html代码:
echo "<input name='bar' value='$foo'>";
对于文字区域,请不要忘记将<
和>
翻译为<
和>
以保证安全。