2013-04-22 34 views
-1

如何POST提交值並檢查它們是否存在於mysql中? 而我必須鍵入我的.php文件?如何:在php /數據庫中檢查Ajax值

document.addEventListener("deviceready", onDeviceReady, false); 

function onDeviceReady() { 
    $('#login').submit(function(){ 
     var username = document.getElementById("username").value; 
     var password = document.getElementById("password").value; 
    }); 
} 

function getData(sendData) { 
    $.ajax({ 
     type: 'POST', 
     url: 'http://www.url.php', 
     data: { 'username': username, 'password': password }, 
     success: afhandeling, 
    }); 

} 

回答

1

呼叫阿賈克斯這樣的:

jQuery.ajax({ 
    type: "POST", 
    url: "http://www.url.php", 
    data: { username:username,password:password }, 
    success: function(data) 
    { 
    } 
}); 

和AJAX文件:

if (isset($_POST['username']) && isset($_Post['password'])) 
{ 
    $query = "SELECT * FROM users WHERE username='".$_POST['username']."' AND password=".$_POST['password']; 
    $result = mysql_query($query); 
    $row = mysql_fetch_assoc($result); 

    if($row) 
    { 
     echo 'login'; 
    } 
    else 
    { 
     echo "error"; 
    } 
} 
0

我認爲URL必須是本地的,即「/projects/blindchat/login.php」。

在該頁面中你可以寫這樣的事情:

if (isset($_POST['username']) && isset($_POST['password'])) { 
    // MYSQL query: 

    SELECT 1 FROM users WHERE username = ? AND password = ? 
} 

記住,你必須先躲避變量來防止SQL注入。

0

在login.php中頁,你需要做這樣的事情:

if(isset($_POST['username']) && isset($_Post['password'])) { 
    $q = "SELECT * FROM users WHERE username=$_POST['username'] AND password=$_POST['password']" 
$r = mysql_query($q); 
if(mysql_num_rows($r)==1) //Do Login 
else echo "ERROR"; 

}

0

您提交表單通過將您的ajax腳本發送給處理輸入的PHP文件並給出答案。

使用PDO或MySqLi。 Mysql被取消並不再受支持。我的下面的例子使用PDO方法。

你的PHP應該是這個樣子(這是未經測試的代碼,所以可能有錯別字):

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

if (!empty($username) && !empty($password)) { 
    // We create a PDO connection to our database 
    $con = new PDO("mysql:host=yourhost;dbname=yourdatabase", "username", "password"); 
    // We prepare our query, this effectively prevents sql injection 
    $query = $con->prepare("SELECT * FROM table WHERE username=:username AND password=:password LIMIT 1"); 
    // We bind our $_POST values to the placeholders in our query 
    $query->bindValue(":username", $username, PDO::PARAM_STR); 
    $query->bindValue(":password", $password, PDO::PARAM_STR); 
    // We execute our query 
    $query->execute(); 

    $result = $query->fetch(); // Grab the matches our query produced 

    // Here we check if we found a match in our DB 
    if (!empty($result)) { 
    echo "Matches were found"; 
    } else { 
    echo "No matches found"; 
    } 
} else { 
    echo "Please fill out all fields"; 
} 
?> 

至於從AJAX腳本得到一個答覆,你可以簡單地提醒響應或顯示其作爲你先請。

success: function(data) { 
    alert(data); 
}