Ошибка синтаксического анализа данных org.json.jsonexception: значение <br типа java.lang.string не может быть преобразовано в jsonarray
Я пытаюсь зарегистрировать пользователя на странице регистрации, но получаю ошибку,я преобразовал все детали, которые мне нужны, в строку, но все еще не работает, возможно, проблема в php-коде.вставка не работает.
Что я уже пробовал:
это и есть регистрационная деятельность
public class Register extends AppCompatActivity { EditText name1, etpolicyNumber, etPassword; Button bRegister; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.register); name1 = (EditText) findViewById(R.id.name); etpolicyNumber = (EditText) findViewById(R.id.policy_number1); etPassword = (EditText) findViewById(R.id.password1); bRegister = (Button) findViewById(R.id.btnregister); bRegister.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name = name1.getText().toString(); String policyNumber = etpolicyNumber.getText().toString(); String password = etPassword.getText().toString(); Response.Listener<String> responseListener = new Response.Listener<String>() { @Override public void onResponse(String response) { try { JSONObject jsonResponse = new JSONObject(response); boolean success = jsonResponse.getBoolean("success"); if (success) { Intent intent = new Intent(Register.this, MainActivity.class); startActivity(intent); Toast.makeText(Register.this, "Registration Successful", Toast.LENGTH_SHORT).show(); } else { AlertDialog.Builder builder = new AlertDialog.Builder(Register.this); builder.setMessage("Register Failed") .setNegativeButton("Retry", null) .create() .show(); } } catch (JSONException e) { e.printStackTrace(); } } }; RegisterRequest registerRequest = new RegisterRequest(name, policyNumber, password, responseListener); RequestQueue queue = Volley.newRequestQueue(Register.this); queue.add(registerRequest); } }); } }
это RegisterRequest java
public class RegisterRequest extends StringRequest { private static final String REGISTER_REQUEST_URL = "http://beigecare.ga/Register.php"; private Map<String, String> params; public RegisterRequest(String name, String policyNumber, String password, Response.Listener<String> listener){ super(Method.POST, REGISTER_REQUEST_URL, listener, null); params = new HashMap<>(); params.put("name", name); params.put("policyNumber", policyNumber); params.put("password", password); } @Override public Map<String, String> getParams(){ return params; } }
это регистр кода PHP
<?php $con = mysqli_connect("mysql.hostinger.in", "u608965245_user", "Engmann1", "u608965245_data"); $name = $_POST["name"]; $policynumber = $_POST["policyNumber"]; $password = $_POST["password"]; $statement = mysqli_prepare($con, "INSERT INTO user (name, policynumber, password) VALUES (?, ?, ?)"); mysqli_stmt_bind_param($statement, "siss", $name, $policynumber, $password); mysqli_stmt_execute($statement); $response = array(); $response["success"] = true; echo json_encode($response); ?>
Пожалуйста, помогите мне исправить это
Richard MacCutchan
Где же ошибка и в чем она заключается?
Member 13053943
я решил эту проблему,это был php-файл,я делал int строкой.я изменил его на строку
mysqli_stmt_bind_param($statement, "siss", $name, $policynumber, $password);
я сменил siss на sss
Richard Deeming
Никогда храните пароли в виде обычного текста!
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]
Member 13053943
ладно, братан,я буду следить за тобой.