如何:Ajax检查php /数据库中的值

时间:2013-04-22 12:54:17

标签: php ajax jquery

如何从提交中发布值并检查它们是否存在于mysql中? 我有什么要输入我的.php文件?

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,
    });

}

4 个答案:

答案 0 :(得分:1)

像这样调用ajax:

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";
    }
}

答案 1 :(得分:0)

我认为网址必须是本地网址,即“/projects/blindchat/login.php”。

在该页面上你可以这样写:

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

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

请记住,您必须首先转义变量以防止SQL注入。

答案 2 :(得分: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";

}

答案 3 :(得分: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);
}