Member 13053943 Ответов: 2

Ошибка синтаксического анализа данных 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

Member 13053943

ладно, братан,я буду следить за тобой.

2 Ответов

Рейтинг:
17

Member 13053943

mysqli_stmt_bind_param($statement, "siss", $name, $policynumber, $password);

i changed the siss to sss


Рейтинг:
0

Member 14602203

Регистрация публичного класса расширяет возможности AppCompatActivity {
TextView lg;
EditText имя, адрес, станция, штат, телефон, тип, электронная почта, пароль;
Кнопка btn;
частная статические заключительные строки KEY_EMPTY = "";
частная строка register_url = "http://192.168.101.10/mandisoftphp/index.php";
@Ручная коррекция
protected void onCreate(Bundle savedInstanceState) {
супер.метод onCreate(savedInstanceState);
setContentView(R. layout.activity_registration);
имя = (полей EditText) findViewById, чтобы найти(ИД Р..название);
адрес = (полей EditText) findViewById, чтобы найти(ИД Р..адрес);
станции = (полей EditText) findViewById, чтобы найти(ИД Р..станция);
состояние = (полей EditText) findViewById, чтобы найти(ИД Р..государство);
телефон = (полей EditText) findViewById, чтобы найти(ИД Р..телефон);
тип = (полей EditText) findViewById, чтобы найти(ИД Р..тип);
электронная почта = (полей EditText) findViewById, чтобы найти(ИД Р..электронной почты);
пароль = (полей EditText) findViewById, чтобы найти(ИД Р..пароль);
БТН = (кнопка) findViewById, чтобы найти(ИД Р..БТН);
btn.setOnClickListener(новый вид.OnClickListener() {
@Ручная коррекция

общественного недействительными onclick(Посмотреть Посмотреть) {
Строку строка = имя.то gettext().метод toString().отделка();
Строки addressstring = адрес.то gettext().метод toString().отделка();
Строка stationstring = station.getText().toString().trim();
Строки statestring = государство.то gettext().метод toString().отделка();
Строку телефон = телефон.то gettext().метод toString().отделка();
Строки typestring = тип.то gettext().метод toString().отделка();
Строка emailstring = email.getText().toString().trim();
Строка passwordstring = password.getText().toString().trim();

если (validateInputs()) {
зарегистрировать();
}
}
});

}

частная логическое validateInputs ()
{
if (KEY_EMPTY.equals(name)) {
name.setError("полное имя не может быть пустым");
имя.requestFocus();
возвращать false;
}
if (KEY_EMPTY.equals(address)) {
address.setError("полное имя не может быть пустым");
адрес.requestFocus();
возвращать false;
}
если (KEY_EMPTY.равными(ст.)) {
станция.setError("полное имя не может быть пустым");
станции.requestFocus();
возвращать false;
}
если (KEY_EMPTY.равных(состояние)) {
state.setError("полное имя не может быть пустым");
государства.requestFocus();
возвращать false;
}

if (KEY_EMPTY.equals(телефон)) {
phone.setError("полное имя не может быть пустым");
телефоне.requestFocus();
возвращать false;
}
if (KEY_EMPTY.equals(type)) {
type.setError("полное имя не может быть пустым");
тип.requestFocus();
возвращать false;
}
если (KEY_EMPTY.равно(по электронной почте)) {
email.setError("полное имя не может быть пустым");
электронная почта.requestFocus();
возвращать false;
}
if (KEY_EMPTY.equals(password)) {
password.setError("полное имя не может быть пустым");
пароль.requestFocus();
возвращать false;
}
возвращать false;
}
частный реестр недействительных документов() {

btn.setVisibility(View.GONE);
окончательное название строку = в этом.имя.то gettext().метод toString().отделка();
окончательный адрес строки = this.address.getText().toString().trim();
конечная строка station = this.station.getText().toString().trim();
итоговая строка состояния = это.государства.то gettext().метод toString().отделка();
заключительные строки телефон = это.телефоне.то gettext().метод toString().отделка();
итоговую строку написать = это.электронной почте.то gettext().метод toString().отделка();
последней строке пароль = это.пароль.то gettext().метод toString().отделка();
StringRequest stringRequest = новый StringRequest(запрос.Метод.Пост, register_url,
новый ответ.Слушатель<строка>() {
@Ручная коррекция
public void onResponse(строковый ответ) {

пробовать {

JSONObject jsonObject = новый JSONObject(ответ);
String success = jsonObject.getString("успех");
if (success.equals("1")) {
Toast.makeText(Registration.this, "insert success", Toast.LENGTH_SHORT).показать();
}
} catch (JSONException e) {
е.печатные();
Тост.makeText(Регистрация.это, "ошибка вставки" + Эл.метод toString(), тост.LENGTH_SHORT).показать();

}
}
},
новый ответ.ErrorListener() {
@Ручная коррекция
public void onErrorResponse(ошибка VolleyError) {
Тост.makeText(Регистрация.это, "ошибка вставки" + ошибка.метод toString(), тост.LENGTH_SHORT).показать();

btn.setVisibility(вид.ВИДИМЫЙ);
}
}) {
защищенная карта<string, string=""> getParams() выбрасывает AuthFailureError {
Карта И Л;строка, string=""&ГТ; параметры = новый HashMap&ЛТ;&ГТ;();
параметры.пут("имя",имя);
params.put("адрес",адрес);
params.put("станция",Станция);
параметры.пут("государство",государство);
параметры.пут("телефон",телефона);
params.put("электронная почта",электронная почта);
параметры.пут("пароль",пароль);
возвращение супер.метод getparams();
}
};

RequestQueue requestQueue = Volley.newRequestQueue(это);
requestQueue.add(stringRequest);
}
}


Member 14602203

любой вопрос и несколько раз вопрос ans slove

CHill60

Неформатированный, необъяснимый дамп кода-это не решение проблемы!