なぜそれが起こっているのかわからない奇妙な問題があります。実際、私は PHP に非常に単純なログイン API を持っています。これは、where 句のユーザー名とパスワードで 2 つのパラメーターを取り、特定の結果を検索します。投稿要求を処理するために Android Volley ライブラリを使用しています。POSTリクエストを送信し、APIがJSONデータを返すと思ったので、すべてが完璧に機能します。そして今、奇妙な部分は、私のすべてのAndroidデバイスで見えるように、このプロセス全体がスムーズに機能することですが、私のクライアントは英国にあり、彼がログインしようとすると、驚いたことに私のPHPコードはレコードが見つかりません!!!
これは私のPHPスクリプトです:
function ShowDriverRecord($userName, $password) {
global $connect;
$query = "SELECT drv_id,drv_firstname,drv_surname FROM wp_booking_drivers WHERE drv_username = '$userName' AND drv_password = '$password'";
$result = mysqli_query($connect,$query);
$no_of_rows = mysqli_num_rows($result);
$status = false;
$driverId = null;
$driverName = null;
if ($no_of_rows > 0) {
$driverRecord = mysqli_fetch_assoc($result);
$status = true;
$driverId = $driverRecord['drv_id'];
$driverName = $driverRecord['drv_firstname']." ".$driverRecord['drv_surname'];
}
header('Content-Type: application/json');
echo json_encode(array("Status"=>$status,"DriverId"=>$driverId,"DriverName"=>$driverName));
}
Java (Android ボレー):
Map<String,String> params = new HashMap<>();
params.put("userName",username);
params.put("password",password);
CustomJsonRequest jsonRequest = new CustomJsonRequest(Request.Method.POST, WebUrls.DRIVER_LOGIN_URL, params, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
boolean status = response.getBoolean("Status");
if (status){
callbacks.onSuccess(response);
}else {
callbacks.onFailure("Wrong username or password.");
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
requestQueue.add(jsonRequest);
123-reg.com で Web ホスティングを行っています。そこで何が起こっているのか教えてください。私はパキスタンにいて、ログインしようとすると機能しますが、英国にいるクライアントが同じ資格情報でログインしようとすると、記録が見つかりませんでした...ありがとう。