【发布时间】:2020-03-01 06:48:12
【问题描述】:
好的,这是我第三次要求相同的程序,我真的很抱歉,因为我不知道如何将 android 应用程序连接到 phpmyadmin。所以,我遇到了这个 SSL 握手失败的问题,我不知道是不是因为它没有经过验证,或者我什至安装了一个。
这是我的安卓代码:
Android Studio MainActvity code
public class MainActivity extends AppCompatActivity {
private EditText UserRegName, UserRegContact, UserRegEmail, UserRegPass;
private Button btUserReg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
UserRegName = findViewById(R.id.UserRegName);
UserRegContact = findViewById(R.id.UserRegContact);
UserRegEmail = findViewById(R.id.UserRegEmail);
UserRegPass = findViewById(R.id.UserRegPass);
btUserReg = findViewById(R.id.btnUserRegister);
btUserReg.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
Regist();
}
});
}
private void Regist(){
btUserReg.setVisibility(View.VISIBLE);
final String UserRegName =this.UserRegName.getText().toString().trim();
final String UserRegContact =this.UserRegContact.getText().toString().trim();
final String UserRegEmail =this.UserRegEmail.getText().toString().trim();
final String UserRegPass =this.UserRegPass.getText().toString().trim();
StringRequest stringRequest = new StringRequest(Request.Method.POST, " http://192.168.254.113/UserRegistration/register.php " ,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try{
JSONObject jsonObject = new JSONObject(response);
String success = jsonObject.getString(" success");
if(success.equals(" 1")){
Toast.makeText(MainActivity.this, "Register Success!", Toast.LENGTH_SHORT).show();
}
} catch (JSONException en) {
en.printStackTrace();
Toast.makeText(MainActivity.this, "Register Failed!"+ en.toString(),
Toast.LENGTH_SHORT).show();
btUserReg.setVisibility(View.GONE);
}
}
},
new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, "Register Error!"+ error.toString(), Toast.LENGTH_SHORT).show();
}
})
{
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> params = new HashMap<>();
params.put("UserRegName",UserRegName);
params.put(" UserRegContact ", UserRegContact);
params.put("UserRegEmail",UserRegEmail);
params.put("UserRegPass",UserRegPass);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
}
另外,这是我的 php 代码,其中包含注册程序
<?php
$con = mysqli_connect("localhost", "root", "", "test");
$Name = $_POST['Name'];
$Email = $_POST['Email'];
$ContactNo = $_POST['ContactNo'];
$Pass = $_POST['Password'];
$Sql_Query = "insert into data (Name,Email,ContactNo,Password) values
('$Name','$Email','$ContactNo',$Pass)";
if(mysqli_query($con,$Sql_Query)){
echo 'Data Inserted Successfully';
}
else{
echo 'Try Again';
}
mysqli_close($con);
?>
【问题讨论】:
-
您在
manifest中添加了这一行吗? -
我已经把它放在清单文件里了
-
所以,同样的错误显示?
-
您是否在服务器上使用自签名证书?
-
您的代码易受 SQL 注入攻击。您应该使用准备好的语句。