2012-04-16 81 views
0

好球員一整頁,用下面的代碼:

$(document).ready(function() { 
    $(".list-book-description").css("display", "none"); 
    $("#user-panel-login").css("display", "none"); 
    $('#login-form').submit(function(e) { 
     e.preventDefault(); 
     var formUsername=$("#login-form #username").val(); 
     var formPassword=$("#login-form #password").val(); 
     if((formUsername.length<6)) 
     { 
     $("#ajax-output").html("<div class='error'>Attenzione username troppo breve!</div>"); 
     } 
     else if((formPassword.length<6)) 
     { 
      $("#ajax-output").html("<div class='error'>Attenzione password troppo breve!</div>"); 
     } 
    else 
    { 
     $.post(
      'index.php?module=login', 
      { 
       "username": formUsername, 
       "password": formPassword, 
      }, 
      function(data){ 
       $("#ajax-output").html(data); 
      } 
     ); 
    } 
}); 
}); 

我試圖傳遞給?index.php&module=login&function=1用戶名和密碼通過#login-form領域得到#username & #passwordlogin() php函數使用setLogin();函數,如果數據進入數據庫設置登錄會話。

function Login() 
{ 
if(!checkLogin()) 
    { 
    [email protected]($_GET['function']); 

    if($function==1) 
    { 
     $username=stringEscape($_POST['username']); 
     $password=sha1(stringCrypt($_POST['password'], 'sha1').stringCrypt(DB_CRYPT, 'sha1')); 
     if(setLogin($username, $password)) 
     { 
      echo "<div class='ok'>Login effettuato con successo, tra pochi secondi verrai riportato alla homepage!</div>"; 
     } 
    } 
} 
else notfound(); 
} 

function setLogin($username, $password, $time="") 
{ 
if(!checkLogin()) 
{ 
    if((isset($username)) && (isset($password))) 
    { 
     $query=mysql_query("SELECT * FROM ".DB_PREF."users WHERE user_username='".$username."' AND user_password='".$password."'"); 
     if(mysql_num_rows($query)) 
     { 
      $fetch=mysql_fetch_assoc($query); 
      $_SESSION['logged_user_id']=$fetch['user_id']; 
      $_SESSION['logged_user_username']=$fetch['user_username']; 
      return true; 
     } 
     else 
     { 
      echo "<div class='error'>Dati non validi, ripeti la procedura di login o <a href='?index.php&module=registration'>registrati</a>!</div>"; 
     } 
    } 
} 
else notfound(); 
} 

現在我一個問題,當我得到$.post()結果在我#ajax-input DIV提交登錄表單,它不會返回登錄功能而造成的,但該指數頁面+登錄功能的結果。

如果我嘗試在php函數中設置「json」參數爲$.post函數,並且echo json_encode()根本不起作用。那麼,這可能是什麼問題?

回答

2

你在這裏提出一個完整的頁面請求,我想你可以設置參數,發佈或獲取,你決定,如果這是例如真的,那麼你返回整個頁面,而他是錯誤的你只返回一個JSON字符串或類似的東西。我相信甚至可以確定請求是否來自ajax!這可能是你的第二選擇。我想,只需添加一個簡單的if語句即可。

+0

好,我試圖設置登錄功能,如: 功能登錄() { 回波json_encode( 「回覆」=> 「一些文本」); } 沒有什麼更多,但它不會返回任何東西... – 2012-04-16 19:56:12

+0

明天我會幫你的,現在我在我的手機上,這是非常討厭的嘗試寫一個例子:s @Antonio – 11684 2012-04-16 20:02:07

+0

好的,謝謝:) – 2012-04-16 20:02:42

相關問題