Php 在表单验证和提交后回显其他内容

Php 在表单验证和提交后回显其他内容,php,forms,validation,Php,Forms,Validation,如何在我验证并提交表单后清除页面内容并显示其他内容 <?php if(isset($_POST['Confirm'])) { $to = "email@email.com"; $error = 0; $first_name = $_POST['first_name']; //Validation things if(trim($first_name) == '') {$erro

如何在我验证并提交表单后清除页面内容并显示其他内容

    <?php 
    if(isset($_POST['Confirm'])) {
    $to = "email@email.com";
        $error = 0;
        $first_name = $_POST['first_name'];
            //Validation things
            if(trim($first_name) == '')     {$error = 1; $first_namerr = 1;}
    $msg ="
    First Name:$first_name
    -------------------------
    ";
    $sub ="Contact";
    $from = "From: Support form";
    @mail($to, $sub, $msg, $from);

//How to clear actual content and echo other ?

    }
    }
    ?>

        <form name="contact" id="contact" method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">

            <label for="first_name" class="inner_text"><?php if ($error != 0){ if ($first_namerr == 1) {print("<font style='color: Red;'>");} }?>First Name<?php if ($error != 0){if ($first_namerr == 1) {print("</font>");}} ?></label>
            <input id="first_name" name="first_name" size="30" type="text" value="<? echo $first_name; ?>" /><?php if ($error != 0){ if ($first_namerr == 1) {print('<img src="images/error.gif">');} }?>    

      <input type="submit" id="Confirm" name="Confirm" value="Confirm" />
        </form>


您可以使用if/else语句来控制显示的内容,例如:

<?php

if (isset($_POST['Confirm'])) {

    // Your mail code

?>

Thank you, your message has been sent! <!-- This content is shown after form submission -->

<?php } else { ?>

    <!-- Display your email form -->

<?php }; ?>

谢谢,您的信息已经发送!

使用if/else控制结构。我在第81行得到一个错误,找到了这个代码
。错误告诉我:PHP解析错误:语法错误,意外的“}”是的,您还可以嵌套if/else语句。@focusoft-似乎对我有用,可能是您意外修改了代码,或者您有太多的关闭
}
。如果您希望将代码发布到codepad网站,我可以尝试发现错误。我知道我的错误在哪里。我还想问:我可以在表单提交后添加HMTL页面作为内容吗?不管怎样,我都要考试。谢谢。是的,你可以使用focusoft。但是,明智地使用它,应该在两个“页面”中显示的任何代码都应该放在if/else之外。在if/else两种情况下都没有设计/布局代码的意义!