我已覆蓋getParams()
,mEmail
,mUsername
等全局聲明。Android Volley getParams()方法沒有被調用JsonObjectRequest
@Override
public Map<String, String> getParams() throws AuthFailureError {
Map<String,String> params = new Hashtable<String, String>();
params.put("Email", mEmail.getText().toString().trim());
params.put("Username",mUsername.getText().toString().trim());
params.put("Password",mPassword.getText().toString().trim());
params.put("BirthDay",mBirthday.getText().toString().replaceAll("\\s","-"));
params.put("Sex",SelectedRadio());
params.put("Bitmap",getEncodedBitmap());
return params;
}
這是我的服務器端代碼:
<?php
require "init1.php";
$email = $_POST["Email"];
$password = $_POST["Password"];
$Username = $_POST["Username"];
$Sex = $_POST["Sex"];
$ProfilePicture = $_POST["Bitmap"];
$timestamp = strtotime($_POST["BirthDay"]);
$BirthDay = date('Y-m-d',$timestamp);
$sql = "select * from Registered_Users where Username='$Username'";
$sqle = "select * from Registered_Users where Email='$email'";
try{
$result1 = mysqli_query($con, $sqle) or die(mysqli_error($con));;
$result = mysqli_query($con, $sql) or die(mysqli_error($con));;
} catch(Exception $e) {
echo $e->getMessage();
}
if (mysqli_num_rows($result) > 0){
$myclass = new stdClass();
$myclass->status="Not Ok";
echo json_encode($myclass);
} else if(mysqli_num_rows($result1) > 0) {
$myclass = new stdClass();
$myclass->status="Not Ok";
echo json_encode($myclass);
} else{
try{
$sql_query = "insert into Registered_Users (Email, Password, BirthDay, Sex, Username, ProfilePicture) values('$email', '$password', '$BirthDay', '$Sex', '$Username', '$ProfilePicture')";
if(mysqli_query($con,$sql_query)){
$obj1 = new stdClass();
$obj1->status="Ok";
echo json_encode($obj1);
} else {
$obj1 = new stdClass();
$obj1->status="Not Ok ";
}
} catch(Exception $e) {
echo $e->getMessage();
}
}
?>
我得到的迴應總是not ok
,具有因我已經有一個空行,在我的數據庫,我試圖再次上傳一個空行。有人可以告訴我爲什麼無法獲取數據嗎?爲什麼我會收到空的數據?
你能夠在服務器上接收這些參數嗎? –
我認爲不行!這就是爲什麼它是空的!因爲我嘗試用敬酒來檢查mEmail.getText()中的內容,它向我展示了價值。你知道這個解決方案嗎? – Jois