首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误“电子邮件已存在”出现在弹出表单后,只有在第二次打开它

问错误“电子邮件已存在”出现在弹出表单后,只有在第二次打开它
EN

Stack Overflow用户
提问于 2017-04-20 13:52:33
回答 1查看 703关注 0票数 0

我有一个弹出式注册表,注册工程很好,但如果用户输入无效的电子邮件和提交它关闭的表单,当用户打开它的另一个时间或刷新页面时,只有错误出现意味着错误消息工作,但没有在适当的时间或我不知道发生了什么。

这是我的PHP注册码:

代码语言:javascript
复制
<?php 

if (isset($_POST['submit'])) {
    $password = md5($_POST["password"]);
    $link = mysqli_connect("localhost","root","mysql");
    mysqli_select_db($link,"myuser");
    $count = 0;
    $res = mysqli_query($link,"select * from register where email='$_POST[email]'") ;
    $count = mysqli_num_rows($res);

if ($count>0) {
        $emailErr = "Email already exists"; 

    }



  else{
    mysqli_query($link,"insert into register values('','$_POST[username]' ,'$_POST[email]' ,'$password')");
    header("location:index.php");
  }
}

    ?>

这是我的html弹出表单代码:

代码语言:javascript
复制
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<div class="modal2">

<div class="modal2_close close2"></div>

<div class="modal2_main">

        <div class="login-screen">
            <div class="app-title">
                <h1>Sign Up</h1>
            </div>


             <div><img src="images/common.png" class="circle"></div>

            <div class="login-form">
                <div class="control-group">
                <input type="text" class="login-field" value="" placeholder="username" name="username" required pattern="^[A-Za-z0-9]+">
                <label class="login-field-icon fui-user" for="login-name"></label>
                </div>

                <div class="control-group2">
                <input type="text" class="login-field" value="" placeholder="Email" name="email" required pattern="^[A-Za-z0-9]+">
                <label class="login-field-icon fui-user" for="login-name"></label>
                <span><?php echo $emailErr;?></span>
                </div>

                <div class="control-group">
                <input type="password" class="login-field" value="" placeholder="password" name="password" required 
                 pattern="^[A-Za-z0-9]+">
                <label class="login-field-icon fui-lock" for="login-pass"></label>

                </div>

                <button name="submit" class="btn btn-primary btn-large btn-block">Register</button>

            </div>
        </div>

</div>
</div>
</form>
EN

回答 1

Stack Overflow用户

发布于 2017-04-20 14:50:15

实际上当你提交表格的时候。它将重新加载页面。并且在提交表单后肯定会关闭弹出窗口。

因此,我建议您使用ajax提交表单,并根据ajax响应显示成功/错误消息。

参考this链接,了解如何使用ajax提交表单

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43511235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档