1

PhoneGap アプリ用の簡単なログイン フォームを作成しようとしています。PhoneGap はクライアント側で PHP を使用できないため、AJAX を使用してデータをサーバーに送信する必要があります。簡単な PHP ログイン チュートリアルを見つけましたが、それを ajax で動作させる方法が本当にわかりません。

値を PHP ファイルに投稿する方法は知っていますが、ユーザー名とパスワードが正しい場合にユーザーをページにリダイレクトしたり、情報が無効な場合にサイトへのアクセスを拒否したりするにはどうすればよいですか?

これは私が今持っているコードです:

JS

jQuery.ajax({ 
    type: "POST", 
    url: serviceURL + "login.php", 
    data: 'username='+username+'&password='+password,  
    cache: false,
        }

login.php

<?php
include 'config.php';

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form
$myusername=$_POST['username'];
$mypassword=$_POST['password'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM users WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
//  redirect 
header("location:settings.html");
}
else {
echo "Wrong Username or Password";
}
?>

if($count==1){....では、アプリでアクションを実行する部分を作成するにはどうすればよいですか

4

1 に答える 1

1

最初に、取得する予想される dataType を設定する必要があります (たとえば、html に)。その後、データの取得に成功した後、取得したデータに対して関数を指定する必要もあります...

このようなもの:

jQuery.ajax({ 
    type: "POST", 
    success: function(data) { // After retrieving the data from the php-file
    alert(data);}
    url: serviceURL + "login.php", 
    data: 'username='+username+'&password='+password,  
    cache: false,
    dataType:'html' // Expected return data type...
}

データ変数にはphpファイルからの戻り文字列が含まれているため、「ログイン」などのphpスクリプトで何かをエコーアウトする必要があり、次にこの文字列をjavascriptでフィルタリング/チェックする必要があります...

ルシアン

于 2012-05-31T09:41:07.687 に答える