2010-11-30 34 views
0

我想在HTML頁面上創建一個登錄腳本。我讀到我需要使用中間腳本,以便我可以讓我的HTML使用數據庫。所以,我寫了一個PHP頁面來檢查關於數據庫的用戶名/密碼。與MySQL的HTML連接

我也讀過,我應該使用AJAX連接到數據庫。

我想知道如何編寫AJAX代碼來返回登錄的值是true還是false。

+0

這不是必要的,你應該只使用AJAX來連接數據庫 – Vjy 2010-11-30 17:12:33

+0

你可以嘗試jQuery的,如果你想http://api.jquery.com/jQuery.ajax。/ – Vjy 2010-11-30 17:13:11

+0

HTML無法連接到MySQL - 它需要一個編程語言,例如PHP或JavaScript可以訪問的面向Web的API。另外,AJAX是一種使用JavaScript以XML(或其他)格式發送和接收來自服務器(通常是後端的Ruby/PHP腳本) – Xeoncross 2010-11-30 17:15:39

回答

1

AJAX實際上只不過是連接到服務器端資源(如PHP支持的頁面)的JavaScript,接收結果,並且可能會對HTML進行一些UI操作以作爲對結果的響應。一個好的開始是the jQuery ajax method。使用jQuery JavaScript庫將使過程更簡單。但最終它會連接到服務器上的PHP代碼以執行實際的數據庫交互。

除此之外,這聽起來像你在這個項目中缺乏一點設計監督。聲明「我也讀過我應該使用AJAX連接到數據庫。」尤其令人不安。你從哪裏讀到的?你爲什麼讀到這個?除了某個人認爲「AJAX很酷,人們應該用它來做東西」之外,似乎沒有什麼價值。

是否有一個特定的設計問題使用AJAX與只發布表單到一些PHP代碼?

0

如果我正確理解你的問題,有兩種方法可以處理這個問題。第一個(最常見)的方式就是設置PHP腳本作爲HTML表單的動作:

<form method="post" action="folder/phpfile.php"> 
    <input type="text" name="username" /> 
    <input type="password" name="password" /> 
</form> 

這樣做了以後,請確保您的PHP腳本在後的變量需要爲$_POST['input_name'],其中input_name是您在HTML表單的輸入中使用的名稱(如上面使用的「用戶名」和「密碼」)。

在我看來,使用AJAX進行身份驗證並不總是最好的方式來處理事情,但它是可行的。如果你打算去AJAX路線,我建議你嘗試在你的JavaScript後面使用JQuery。他們有一個非常方便的框架來處理AJAX查詢和事件。

0

儘管這不是必要使用AJAX對於這一點,你可以用類似下面。

考慮您具有一個用戶名和密碼,像下面的元素:

<div id="login"> 
    <label for="txtUsername">Username:</label> 
    <input type="text" id="txtUsername" /> 
    <label for="txtPassword">Password:</label> 
    <input type="password" id="txtPassword" /> 
    <button id="btnLogin">Log In</buton> 
</div> 
<div id="logout" style="display: none;"> 
    <a href="logout.php">Log Out</a> 
</div> 

然後,將具有的jQuery已經引用調用你的PHP頁面(「登錄。PHP」中的例子):

<script type="text/javascript"> 
$(function() { 
    $("#btnLogin").click(function() { 
    $.ajax({ 
     url: "login.php", 
     data: {username: $("#txtUsername").val(), password: $("#txtPassword").val()}, 
     success: function(data){ 
     $("#login").toggle(); 
     $("#logout").toggle(); 
     } 
    }); 
    }); 
}); 
</script>