如何弹出PHP错误消息而不是新页面?

时间:2011-10-20 17:41:21

标签: php html popup contact contact-form

目前在我的网站上我有一个表单,一旦提交,您将被带到一个空白屏幕,并带有赞赏消息。

我希望将用户放在同一页面上,而不是移动到新页面。我如何创建弹出窗口并将用户保持在同一页面中?

2 个答案:

答案 0 :(得分:2)

您可以使用javascript验证或HTML5。 如果你不想要这些方法,你可以打开一个弹出窗口并将表单的目标设置为它。像这样:

<form method="post" action="anything.php" onsubmit="window.open('','my_form_target', 'width=300,height=200', true); this.target='my_form_target';" >
...

答案 1 :(得分:-1)

尝试此验证

<?php
    if($_SERVER['REQUEST_METHOD']=='POST'){
        $name = $_POST['uname'];
        $email = $_POST['email'];

        $valid_arr = array();
        $error_arr = array();

            if($name == ''){
                $error_arr['name'] = 'Required';
            }
            else if(!preg_match('/^[a-zA-A]+$/',$name)){
                $error_arr['name'] = 'Please put correct value';
            }
            else{
                $valid_arr['name'] = $name;
            }

            if($email == ''){
                    $error_arr['email'] = 'Required';
                }
                else if(!preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$/',$email)){
                    $error_arr['email'] = 'Exm.- john@gmail.com';
                }
                else{
                    $valid_arr['email'] = $email;
                }

                if(count($error_arr) == 0){
                    header('location: success.php');
                }
                else{
                    echo 'Error in Loading';
                }
    }
    ?>
    <html>
    <head>
    </head>
    <body>
    <form action="<?php $_SERVER['PHP_SELF'];?>" method="POST">
        <table>
        <tr>
            <td><label>User Name :</label></td>
            <td><input type="text" name="uname" value="<?php echo $valid_arr['name'];?>"/></td>
            <td class="error"><?php echo $error_arr['name'];?></td>
        </tr>
        <tr>
            <td><label>Email :</label></td>
            <td><input type="text" name="email" value="<?php echo $valid_arr['email'];?>"/></td>
            <td class="error"><?php echo $error_arr['email'];?></td>
        </tr>
        <tr>
            <td><input type="submit" name="save" value="Submit"/></td>
        </tr>
        </table>
    </form>
    </body>
    </html>