在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的电子邮件表单,它有3种可能的外观

首先,当提交按钮没有被使用时,我希望它显示为标准

第二,当单击submit时,其中没有设置任何数据

第三,当输入的数据可以接受时,我想显示输入的内容

然而,我是一个完全的php新手,我似乎无法正确地使用它

<?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缺少一个。我尝试了一个类似的解决方案,这两个方案都是先前提出的,但这似乎不是问题所在。验证特殊字符非常有用,谢谢!