2011-11-30 27 views
2

這可能是一個非常基本的東西,但我已經在它一段時間,它不會跳出來,我想我累了...請幫助。PHP不會迴應

我想創建一個簡單的登錄html頁面,使用jquery/ajax閱讀它並讓php驗證它。這裏是2件JavaScript/jQuery和PHP。雖然螢火蟲似乎正確地報告「消息」正在設置,但沒有迴應作爲迴應......我做錯了什麼?如果php報告了錯誤,我在哪裏尋找它?


login.js

$(document).ready(function(){ 
    $('#loginForm').submit(function(){ 
     var usern=$('#username').val(); 
     var pword=$('#password').val(); 
     $.ajax({ 
      url: 'mylogin.php', 
      data: 'action=login&usern='+usern+'&pword='+pword, 
      dataType: 'json', 
      type: 'post', 
      success: function (j) { 
       $('#loginmessage').html(j.msg); 
      }, 
     }); 
    }); 
});`  

mylogin.php

<?php 
    $username=$_POST['username']; 
    $password=$_POST['password']; 
    $retval['msg']="in mylogin.php"; 
    fb($retval,"return output from login"); 
    echo json_encode($retval); 
?> 
+2

訪問它們確保您的[使用error_reporting(http://php.net/manual/en/function。 error-reporting.php)級別在PHP中足夠高,因此所有可能的錯誤都會輸出,您可以在Firebug XHR請求中找到它們。 – ChrisR

回答

8

它非常簡單,你都可以發佈您的用戶名作爲usern,密碼爲pword

所以它應該是

<?php 
    $username=$_POST['usern']; 
    $password=$_POST['pword']; 
+0

aaaaargh ...我應該抓住那個。但是,即使我修正後,似乎沒有任何迴應從PHP發送。雖然它看起來像PHP代碼發回$ retval,成功的標準似乎並沒有履行...... – user1072910

1

您正在使用的用戶名和密碼,在PHP代碼後變量的名稱,當你通過爲用戶N和PWORD傳遞變量名在你的jQuery職務。

它應該是這個樣子

<?php 
    $username=$_POST['usern']; 
    $password=$_POST['pword']; 
?> 

傳遞變量使用標準的命名約定時,這是非常重要的,這將有助於減少這些問題存在的機會。

+0

我知道 - 不小心我!我一直在弄弄變量名,以防萬一「用戶名」「密碼」被某種方式保留,然後忘記了它,因爲我決定查看是否可以將一條消息從PHP傳回到Javascript。沒有喜悅 - 即使我修正了用戶名/密碼問題。任何線索? – user1072910

2

你設置後的變量,名稱分別usernpword然後試圖用usernamepassword