Я создал систему, в которой у меня есть несколько CheckBox, и я сохраняю проверенное значение в базе данных MySQL с помощью залп, однако в базе данных значение не отображается.
ниже мой код для флажка:
if (checkBoxBus.isChecked()){
checkbus = checkBoxBus.getText().toString();
}
if (checkBoxTrain.isChecked()){
checktrain = checkBoxTrain.getText().toString();
}
if (checkBoxPrivateRickshaw.isChecked()){
checkrickshaw = checkBoxPrivateRickshaw.getText().toString();
}
if (inputfrom.getEditText().equals("") || inputTo.getEditText().equals("") ||
inputdescription.getEditText().equals("")){
builder.setMessage("Please fill the information");
}
Ниже мой код для залп:
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> params = new HashMap<String, String>();
params.put("from",from);
params.put("to",to);
params.put("travel_type",traveltype);
params.put("workdescription",workdescription);
params.put("passcheckbox",checktrain);
params.put("trainpass",trainpass);
params.put("passimage",passimage);
params.put("transportmode",transportmode);
params.put("payment",payment);
params.put("finalamount",totalpayment);
params.put("remaining_amount",remainingamount);
return params;
}
};
Singleton.getInstance(MainActivity.this).addToREquestQueue(stringRequest);
}
Все сохраняется, кроме значения флажка, поэтому, пожалуйста, кто-нибудь может помочь мне, где я ошибаюсь
Код PHP
<?php
include("conn.php");
$from = $_POST['from'];
$to = $_POST['to'];
$travel_type = $_POST['travel_type'];
$workdescription = $_POST['workdescription'];
$passcheckbox = $_POST['passcheckbox'];
$trainpass = $_POST['trainpass'];
$buscheck = $_POST['buscheck'];
$image = $_POST['image'];
$name = $_POST['name'];
$rickshawcheck = $_POST['rickshawcheck'];
$transportmode = $_POST['transportmode'];
$payment = $_POST['payment'];
$finalamount = $_POST['finalamount'];
$remaining_amount = $_POST['remaining_amount'];
$response = array();
$sql = "INSERT INTO users2
(arrival,destination,travel_type,work_description,'passcheckbox',train_pass,
'buscheck',pass_image,'rickshawcheck',transport_mode,payment,total_amount,remaining_amount)
VALUES
('$from','$to','$travel_type','$workdescription',$passcheckbox,'$trainpass','$buscheck','$name','$rickshawcheck','$transportmode','$payment','$finalamount','$remaining_amount');";
$upload_path = "uploads/$name.jpg";
file_put_contents($upload_path, base64_decode($image));
if (mysqli_query($conn,$sql)){
$code = "Your_data_has_been_submitted";
array_push($response,array("code"=>$code));
echo json_encode($response);
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method = "post">
<input type = "text" name = "from">
<input type = "text" name = "to">
<input type = "text" name = "workdescription">
<input type = "checkbox" name = "passcheckbox">
<input type = "text" name = "trainpass">
<input type = "checkbox" name = "buscheck">
<input type = "text" name = "name">
<input type = "file" name = "image">
<input type = "text" name = "transportmode">
<input type = "text" name = "payment">
<input type = "text" name = "finalamount">
<input type = "submit" name = "btn_submit">
</form>
</body>
</html>
сначала отобразите значение чека, чтобы застраховать их
проверьте ответ еще раз ... если все в порядке, отметьте его как правильный @Smith






Чтобы прочитать значение флажка - следуйте соответствующему руководству по Android.
https://www.android-examples.com/how-to-get-checkbox-checked-value-in-android/
Привет, на самом деле я вызываю checkbox.isChecked в моей кнопке onclick listener, и я проверил переменную флажка, в которой хранятся данные
//get the value
boolean checkbus = checkBoxBus.isChecked();
// in volley request
params.put("passcheckbox",String.valueOf(checkbus));
//in log
Log.d(TAG,"checkbus" + String.valueOf(checkbus));
в php вы забыли вставить checkvalue$passcheckbox$buscheck$rickshawcheck в БД
привет, сэр, я меняю свой php-код, но теперь он ничего не вставляет. Я обновил свой php-код другими значениями.
Я добавил необходимые значения, но теперь ничего не вставляет
вы должны убедиться, что все параметры существуют в команде вставки ... с их столбцами @Smith
Сэр, если вы уверены, что все данные отправлены с Android правильно, тогда проблема на стороне php, в частности, при вставке
сэр, я проверил имена столбцов mysql, это правильно, и в запросе вставки я передал одинаковое количество параметров, пока он ничего не показывает
Вы проверили контрольные значения в журнале Android, я имею в виду, что значение существует?
Здравствуйте, @AL Тегани, сэр, я исправил свою ошибку, это было на php, спасибо за ваше время и терпение и тысячу голосов за ваш ответ
добро пожаловать .. если ответ был полезен для вас, отметьте как правильный @Smith
Сэр, еще один вопрос: когда я загружаю изображение, щелкнув изображение, изображение либо не отображается в папке загрузок, либо отображается пустая страница, есть ли проблема с моим PHP-кодом
используйте этот код для загрузки изображения ..// Проверьте, является ли файл изображения действительным или поддельным if (isset ($ _ FILES ["file"])) {if (move_uploaded_file ($ _ FILES ["file"] ["tmp_name "], $ target_file_name)) {// готовое изображение загружено} else {// изображение не загружено}}
привет, сэр, я отладил свой код Android, и это строка, которая вызывает проблему params.put ("image", imageToString (bitmap)); частная строка imageToString (растровое изображение) {ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream (); bitmap.compress (Bitmap.CompressFormat.PNG, 100, byteArrayOutpu tStream); byte [] imgbytes = byteArrayOutputStream.toByteArray (); вернуть Base64.encodeToString (imgbytes, Base64.DEFAULT); }
какие-либо предложения
Зарегистрируйте значение params и checktrain = checkBoxTrain.getText (). ToString (); значение. Посмотрите, что печатается в терминале