Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP提交Jquery登录_Php_Jquery_Ajax_Forms_Ldap - Fatal编程技术网

使用PHP提交Jquery登录

使用PHP提交Jquery登录,php,jquery,ajax,forms,ldap,Php,Jquery,Ajax,Forms,Ldap,我正在尝试用PHP添加Jquery登录提交。我能够在没有JQuery和登录的情况下绑定到LDAP-OK。但一旦我添加JQuery代码,它就会发送错误: ldap_bind()[function.ldap bind]:无法绑定到服务器:凭据无效 我做了很多搜索,仍然遗漏了一些东西,但不太确定是什么…:( 以下是我到目前为止的情况: <script type"text/javascript"> var username = $("input#username").va

我正在尝试用PHP添加Jquery登录提交。我能够在没有JQuery和登录的情况下绑定到LDAP-OK。但一旦我添加JQuery代码,它就会发送错误:

ldap_bind()[function.ldap bind]:无法绑定到服务器:凭据无效

我做了很多搜索,仍然遗漏了一些东西,但不太确定是什么…:(

以下是我到目前为止的情况:

    <script type"text/javascript"> 

    var username = $("input#username").val();  
    var password = $("input#password").val();  
    var dataString = 'username='+ username + '&password=' + password;  
$(document).ready(function(){
$("form#memberlogin").submit(function() {

$.ajax({
type: "POST",
url: "verification.php",
data: dataString,
success: function(data){
if(data.success) {
$('form#memberlogin').hide()
$('div.success').fadeIn();

}
else {
    alert(data); 
  }
}
});
return false;
});
}); 

</script>
以下是表格:

    <form id="memberlogin" method="POST">

<fieldset>
<legend>Please login:</legent>

<label for="username">Username:</label>
<input id="username" class="text_inputs" type="text" name="username" size="20"  class="imputbox">

<label for="username">Password:</label>
<input name="password" class="text_input" type="password" name="password" size="20"  class="imputbox">
<input type="submit" name="submit" value="access"  />
</fieldset>
</form>

请登录:
用户名:
密码:

您的问题在HTML中:您的
密码
字段有2个
名称
属性,但没有
id
,这就是为什么您发送的密码总是空的

我建议您重写代码以避免重复

$(document).ready(function() {
    $("form#memberlogin").submit(function(e) {
        // instead of creating data string by hand just .serialize your form
        dataString = $(this).serialize();
        $.post("verification.php", dataString, function(data) {
            $('form#memberlogin').hide();
            $('div.success').fadeIn();
        });
        e.preventDefault(); // this is better than "return false"
    });
});

为什么
e.preventDefault();
比“return false”更好?谢谢您的快速响应!我做了更改。但是在这种情况下,只要我提交,无论我键入什么,它都会让我登录?
.preventDefault()
明确说明处理程序中正在发生的事情,并且可以在处理程序中的任何地方使用,而
return false
结束处理程序的执行。假设您的处理程序是一个共享函数
formSubmit()
(类似于
$('a')。单击(formSubmit);
)在别处定义-
return false
不会清楚地指示正在发生的事情(为什么成功返回
false
),而
event.preventDefault()
清楚地显示“停止默认事件处理程序”
$(document).ready(function() {
    $("form#memberlogin").submit(function(e) {
        // instead of creating data string by hand just .serialize your form
        dataString = $(this).serialize();
        $.post("verification.php", dataString, function(data) {
            $('form#memberlogin').hide();
            $('div.success').fadeIn();
        });
        e.preventDefault(); // this is better than "return false"
    });
});