2015-04-04 18 views
-1

我使用jquery進行註冊表單。但是,在輸入電子郵件和密碼並按下提交按鈕後,控制按照我的預期不會轉移到php。我不完全知道與jquery,只是想在註冊頁面上添加此功能。 這怎麼能做到。將控件從jquery轉移到php

<?php 
include "config.php"; 

if(isset($_POST['submit'])){ 
$email = $_POST['email']; 
      $pass = $_POST['password']; 


      if($email=="" || $pass==''){ 
       echo "Fields Left Blank","Some Fields were left blank. Please fill up all fields."; 
       exit; 
      } 
      if(!$LS->validEmail($email)){ 
       echo "E-Mail Is Not Valid", "The E-Mail you gave is not valid"; 
       exit; 
      } 


     $createAccount = $LS->register($email, $pass); 


      if($createAccount === "exists"){ 
       echo "User Exists."; 
      }elseif($createAccount === true){ 

       header("Location: /rootTesting/dashboardInitial.php", true, 302); 
      die(); 
      } 
    } 

?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript" src="js/jquery.easing.1.3.js.js"> </script> 

<script type="text/javascript"> 
$(function() 
{ 
$("ul li:first").show(); 


var ck_email = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i 
var ck_password = /^[[email protected]#$%^&*()_]{3,20}$/; 


$('#email').keyup(function() 
{ 
var email=$(this).val(); 
if (!ck_email.test(email)) 
{ 
$(this).next().show().html("Enter valid email"); 
} 
else 
{ 
$(this).next().hide(); 
$("li").next("li.password").slideDown({duration: 'slow',easing: 'easeOutElastic'}); 
} 

}); 



$('#password').keyup(function() 
{ 
var password=$(this).val(); 
if (!ck_password.test(password)) 
{ 
$(this).next().show().html(""); 
} 
else 
{ 
$(this).next().hide(); 
$("li").next("li.submit").slideDown({duration: 'slow',easing: 'easeOutElastic'}); 
} 
}); 

$('#submit').click(function() 
{ 
var email=$("#email").val(); 
var password=$("#password").val(); 
if(ck_email.test(email) && ck_password.test(password)) 
{ 
$("#form").show().html("<h1>Thank you!</h1>"); 
} 
else 
{ 

} 
return false; 

}); 
}) 
</script> 
</head> 

<body> 
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
<ul> 
<li class="email"> 
<label>Email: </label><br/> 
<input type="text" name="email" id="email" /> 
    </li> 

<li class="password"> 
<label>Password: </label><br/> 
<input type="password" name="password" id="password" /> 
</li> 

<li class="submit"> 
<input type="submit" value=" Register " id='submit'/> 
</li> 
</ul> 
</form> 
</body> 
</html> 
+0

嘗試在源看到的頁面顯示的是什麼打印表單的action屬性.. – 2015-04-04 15:57:58

+0

我已經使用$ _SERVER [「PHP_SELF」]。 – 2015-04-04 15:59:40

+0

是在瀏覽器的源代碼(html)中看到action屬性中正在打印的內容。 – 2015-04-04 16:00:33

回答

1

嘗試只給一個name屬性您的提交按鈕,並確保使它的價值submit。因此,它變成了:

<input type="submit" value=" Register " id='submit' name='submit'/> 

PHP通過name發送數據不會被id

+0

thanx很多朋友..這是一個愚蠢的錯誤,我做了。 – 2015-04-04 16:14:13

+0

@AnkitaSansarwal如果它幫助你,你可以upvote噸所以其他可能會受益。 ;) – 2015-04-04 16:17:29

0

$('form[name=foo]').submit(function(){ 
    var email=$("#email").val(); 
    var password=$("#password").val(); 
    if(!ck_email.test(email) || !ck_password.test(password)) { 
     return false; 
     // errors found 
    } 
}); 

<form method="post" name="foo"> 
<ul> 
<li class="email"> 
<label>Email: </label><br/> 
<input type="text" name="email" id="email" /> 
</li> 
<li class="password"> 
<label>Password: </label><br/> 
<input type="password" name="password" id="password" /> 
</li> 
<li class="submit"> 
<input type="submit" value=" Register " id='submit'/> 
</li> 
</ul> 
</form> 
0

您錯過了該按鈕的名稱。

既然你正在檢查的$ _POST [「提交」],您需要修改按鈕的HTML作爲

<input type="submit" name="submit" value="Register" id="submit"/>