【发布时间】:2016-03-24 11:42:32
【问题描述】:
我已经覆盖了getParams(),并且mEmail、mUsername 等都是全局声明的。
@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() 中的内容,它向我展示了价值。你知道有什么解决办法吗?
标签: php android android-volley