-1

サブミットから値を POST し、それらが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

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

入力を処理して回答を返す PHP ファイルにデータを送信する ajax スクリプトを起動するフォームを送信します。

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 に答える