我正在開發Android項目的PhoneGap。我設計了一個登錄頁面,我想在其中顯示有效和無效用戶的警告框。我正在使用PHP進行數據庫驗證。如何在phonegap中處理jsonp的輸出?
這是我的PHP頁面:
<?php
header('Content-type: application/json');
$server = "localhost";
$username = "root";
$password = "";
$database = "mymusic";
$con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);
$id=$_GET["id"];
$pass=$_GET["password"];
//$id='ram';
//$pass='ram';
$sql = "SELECT id, name,password FROM login where userid='$id' and password='$pass'";
$result = mysql_query($sql) or die ("Query error: " . mysql_error());
$records = array();
while($row = mysql_fetch_assoc($result)) {
$records[] = $row;
}
mysql_close($con);
echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
?>
這是我的Java腳本函數:
function onDeviceReady(){
var output = $('#output');
var id = document.getElementById('userid').value;
var pass = document.getElementById('password').value;
// webcam.set_api_url('test.php?filename=' + escape(filename));
$.ajax({
url: 'http://192.168.1.214/sample/dologin.php?id='+id+'&password='+pass,
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status){
console.log('entered success============');
$.each(data, function(i,item){
var logi=item.id;
if(logi!=null)
alert("valid user");
else
alert("invalid user");
});
},
error: function(){
console.log('entered success====================');
output.text('There was an error loading the data.');
}
});
}
這不是一個無效的用戶正常工作。每當我輸入有效的用戶名和密碼時,它就會顯示有效的用戶消息框。當我輸入無效的用戶名和密碼時,它不顯示任何內容。
預先感謝您...
只是一個評論 - 你不應該通過密碼作爲查詢字符串參數,因爲你的密碼透露給任何人誰想要嗅出他們。這些條目也存儲在Web服務器日誌文件中。如果要將密碼傳遞到服務器端,請發送密碼。 –
耶先生,我想將密碼傳遞給服務器。感謝您的回覆。請告訴我,我應該適用什麼條件來使有效和無效用戶的警報框..? –
@Kuntal,以及在服務器端,您是否對這樣的用戶這樣的密碼是正確的,那麼它是你的選擇中你怎麼換行的數據 - 畢竟,你可以發送到任何你想要的客戶端和在JavaScript中,你可以訪問數據。 –