PHP中的Javascript表单验证

时间:2014-04-18 05:04:48

标签: javascript php

我用PHP开发了一个登录页面。我使用PHP代码来验证用户名和密码是否为空。出现错误时弹出Javascript警告框,页面将导航回登录页面。现在假设如果用户输入用户名并且没有输入密码并点击登录,则显示密码为空框,现在用户我希望用户导航回登录页面,其用户名填充了他输入的先前值。  我是PHP的初学者,并没有想到如何做到这一点。 这是我的代码

if($myusername == null){
echo '<script language="javascript">';
echo 'alert("Username cannot be empty")';
echo '</script>'; 
echo "<meta http-equiv='refresh' content='1; URL=main_login.php'>";
exit();
}

if($mypassword == null){
echo '<script language="javascript">';
echo 'alert("Password cannot be empty")';
echo '</script>'; 
echo "<meta http-equiv='refresh' content='1; URL=main_login.php'>";
exit();
}

6 个答案:

答案 0 :(得分:1)

如果您使用HTML5,则可以使用此处所述的表单验证:

http://www.sitepoint.com/html5-form-validation/

否则,您可以使用一些jQuery和插件来验证表单。

答案 1 :(得分:0)

如果使用jQuery。 然后你可以使用jQuery插件a http://jqueryvalidation.org/files/demo/

答案 2 :(得分:0)

有很多方法可以实现这一目标 你可以在会话中存储用户名,这可能不是一个好主意 另一种方式是你可以在重定向到登录页面时传递url中的用户名,重定向到 login.php中?我们= usernameEntered 并将用户名的值设置为

<input type="text" name="username" value="<?php echo $_GET['usernameEntered'];?>"/>

OR 你可以在jquery中使用表单验证并避免所有这些重定向

答案 3 :(得分:0)

我相信您可以选择自定义脚本或使用 Jquery Validaor插件。我已经创建了一个示例Jquery Validator示例。

带引导程序的Jquery Validator插件

$(document).ready(function () {

    $('#contact-form').validate({
        rules: {
            name: {
                minlength: 2,
                required: true
            },
            email: {
                required: true,
                email: true
            },
            message: {
                minlength: 2,
                required: true
            }
        },
        highlight: function (element) {
            $(element).closest('.control-group').removeClass('success').addClass('error');
        },
        success: function (element) {
            element.text('OK!').addClass('valid')
                .closest('.control-group').removeClass('error').addClass('success');
        }
    });

});

注意:您也可以在不使用bootstrap More Details

的情况下使用此插件

Demo

答案 4 :(得分:0)

不建议使用PHP内部的Javascript,必须有其他方法来做到这一点,但因为我不知道你为什么这么做。试试这个

    if($myusername == null){
       echo '<script language="javascript">';
       echo 'alert("Username cannot be empty")';
       echo 'window.location = "/main_login.php?un=myusername";'
       echo '</script>';
       exit();
    }

    if($mypassword == null){
       echo '<script language="javascript">';
       echo 'alert("Password cannot be empty")';
                  echo 'window.location = "/main_login.php?un=myusername";'
       echo '</script>'; 

       exit();
      }
<_>在main_login.php里面放了这个

    <input type="text" name="username" value="<?php echo $_GET['usrname'];?>"/>

答案 5 :(得分:0)

很简单。你可以用两种方式做到这一点

  1. 按查询字符串。将用户名放在查询字符串中,并在用户名文本框的value属性中访问该查询字符串。在此方法中,将用户重定向到登录页面。显示alertbox后,因为您无法使用标题(&#39;位置:..&#39;)功能,因为标头已经发送,您需要使用javascript重定向。放置这些警报(&#39; ...&#39;)方法     window.location.href = "Your signup URL?uname=Username which user entered"; 然后在sigin页面上使用value属性中的以下内容     <input tyep="text" name="textbox name" id = "textbox id" value = "<?php if(isset($_GET['uname'])) echo $_GET['uname']; else echo '';?>">

  2. 您可以在会话文本框的值属性中存储会话内的用户名和超出该会话的值。在这种情况下,验证后使用以下代码,如果表单未经过验证

    $ _ SESSION [&#39; uname&#39;] = $ _POST [&#39;您的用户名字段的名称&#39;];

  3. 然后在登录页面上使用以下内容         <input tyep="text" name="textbox name" id = "textbox id" value = "<?php if(isset($_SESSION['uname'])) echo $_SESSION['uname']; else echo '';?>">

    在第二种方法中,不要忘记在代码的最开始时调用session_start();