-1

如何从提交中发布值并检查它们是否存在于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

4 回答 4

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";
    }
}
于 2013-04-22T13:12:15.177 回答
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);
}
于 2013-04-22T14:33:52.667 回答
0

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

在该页面上,您可以编写如下内容:

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

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

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

于 2013-04-22T12:57:10.890 回答
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";

}

于 2013-04-22T13:00:26.723 回答