在php中解析回音
我有一个php的电子邮件表单,它有3种可能的外观 首先,当提交按钮没有被使用时,我希望它显示为标准 第二,当单击submit时,其中没有设置任何数据 第三,当输入的数据可以接受时,我想显示输入的内容 然而,我是一个完全的php新手,我似乎无法正确地使用它在php中解析回音,php,parsing,echo,isset,Php,Parsing,Echo,Isset,我有一个php的电子邮件表单,它有3种可能的外观 首先,当提交按钮没有被使用时,我希望它显示为标准 第二,当单击submit时,其中没有设置任何数据 第三,当输入的数据可以接受时,我想显示输入的内容 然而,我是一个完全的php新手,我似乎无法正确地使用它 <?php if(isset(sent)) { if(isset($_POST['forename']) && !empty($_POST['forename']) { ec
<?php
if(isset(sent)) {
if(isset($_POST['forename']) && !empty($_POST['forename']) {
echo('<input class="tbox" type="text" name="forename" value="$POST['forename']" /><br>');
} else {
echo('<input class="tbox bad" type="text" name="forename" value=""/><br>');
}
} else {
echo('<input class="tbox" type="text" name="forename" value="" /><br>') ;
}
?>
此行导致错误:
echo('<input class="tbox" type="text" name="forename" value="$POST['forename']" /><br>');
您还应至少对输入不会破坏HTML的值使用htmlentities
:
htmlentities($_POST['forename'], ENT_QUOTES, "UTF-8")
此行导致错误:
echo('<input class="tbox" type="text" name="forename" value="$POST['forename']" /><br>');
您还应至少对输入不会破坏HTML的值使用htmlentities
:
htmlentities($_POST['forename'], ENT_QUOTES, "UTF-8")
这就是你的问题:
echo('<input class="tbox" type="text" name="forename" value="$POST['forename']" /><br>');
echo(“
”);
变量不会在单引号内解析,只能在双引号内解析
一个简单的解决办法是:
echo '<input class="tbox" type="text" name="forename" value="' . htmlspecialchars($POST['forename']) . '" /><br>';
echo'
';
请注意,我使用了htmlspecialchars
来避免变量破坏html。当您使用echo时,您也不需要使用括号(不过这对您无害)。这是您的问题:
echo('<input class="tbox" type="text" name="forename" value="$POST['forename']" /><br>');
echo(“
”);
变量不会在单引号内解析,只能在双引号内解析
一个简单的解决办法是:
echo '<input class="tbox" type="text" name="forename" value="' . htmlspecialchars($POST['forename']) . '" /><br>';
echo'
';
请注意,我使用了htmlspecialchars
来避免变量破坏html。当您使用echo时,也不需要使用括号(不过这并不有害……。嵌套的if缺少a)。我尝试了一个类似的解决方案,这两个方案都是先前提出的,但这似乎不是问题所在。验证特殊字符非常有用,谢谢!嵌套的if缺少一个。我尝试了一个类似的解决方案,这两个方案都是先前提出的,但这似乎不是问题所在。验证特殊字符非常有用,谢谢!