Form input data bisa masuk ke database tetapi isinya sama seperti judul kolom table database

berikut ini coding form input saya:

<!DOCTYPE html> <html> <head> <title>Reprint Check</title> </head> <body> <form method="post" action="simpan.php"> <table width=450 border=1>

&lt;table width = 400 border = 1&gt;
	&lt;tr&gt;&lt;td colspan = 2&gt;&lt;b&gt;Reprint Check&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;paying_company_code&lt;/td&gt;&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;paying_company_code&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;house_bank&lt;/td&gt;&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;house_bank&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;account_id&lt;/td&gt;&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;account_id&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
	&lt;/td&gt;&lt;/td&gt;
	&lt;tr&gt;&lt;td colspan = 2&gt;&lt;Left&gt;&lt;b&gt;Output Control&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;printer_for_forms&lt;/td&gt;&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;printer_for_forms&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;print_advice_printer&lt;/td&gt;&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;print_advice_printer&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
	&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt; &lt;/td&gt;
	&lt;td valign=&quot;top&quot;&gt;
	&lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;output_control[]&quot; value=&quot;print_immediately&quot;&gt;Print Immediately&lt;label/&gt;&lt;br&gt;
	&lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;output_control[]&quot; value=&quot;recipient&#039;s_lang&quot;&gt;Recipient&#039;s Lang&lt;label/&gt;&lt;br&gt;
	&lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;output_control[]&quot; value=&quot;currency_in_ISO_code&quot;&gt;Currency In ISO Code&lt;label/&gt;&lt;br&gt;
	&lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;output_control[]&quot; value=&quot;test_printout&quot;&gt;Test Printout&lt;label/&gt;&lt;br&gt;
	&lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;output_control[]&quot; value=&quot;do_not_void_any_checks&quot;&gt;Do Not Void Any Checks&lt;label/&gt;&lt;br&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;center&gt;&lt;button type=&quot;submit&quot; value=&quot;submit&quot;&gt;submit&lt;/button&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/center&gt;

</table> </body> </html>

dan Ini untuk coding koneksi ke database mysql: <?php //Koneksi ke MySQL $koneksi=mysqli_connect("localhost","root","","kuliah") or die ("Koneksi Gagal");

//memilih database database mysqli_select_db($koneksi,"kuliah");

//menyimpan data kedalam variabel $paying_company_code = $_POST['paying_company_code']; $house_bank = $_POST['house_bank']; $account_id = $_POST['account_id']; $printer_for_forms = $_POST['printer_for_forms']; $print_advice_printer = $_POST['print_advice_printer']; $output_control_array = $_POST['output_control']; //query SQL untuk insert data $query = "INSERT INTO reprintcheck (paying_company_code, house_bank, account_id, printer_for_forms, print_advice_printer, output_control) VALUES ('paying_company_code','house_bank','account_id','printer_for_forms','print_advice_printer','output_control')"; mysqli_query($koneksi, $query); //mengalihkan ke halaman index.php header("location:index.php"); ?>

jadi di database itu isinya misal untuk kolom paying_company_code adalah paying_company_code juga (maaf belum ngerti menysisipkan screenshot database)

mohon bantuannya terima kasih

avatar pemrogramanbisnis
@pemrogramanbisnis

1 Kontribusi 0 Poin

Diperbarui 1 tahun yang lalu

Tanggapan

coba perbaiki kode di atas ya. Masukkan di tag kode ``` ````

1 Jawaban:

Masalah yang Anda alami terjadi karena dalam query SQL Anda, Anda menggunakan string konstan ('paying_company_code', 'house_bank', 'account_id', 'printer_for_forms', 'print_advice_printer', 'output_control') sebagai nilai yang akan dimasukkan ke dalam kolom tabel, bukan mengambil nilai dari input form yang dikirimkan melalui metode POST. Untuk memperbaikinya, Anda perlu mengubah query SQL Anda agar mengambil nilai dari input form yang sesuai. Berikut perbaikan dalam query SQL Anda:

//query SQL untuk insert data
$query = "INSERT INTO reprintcheck (paying_company_code, house_bank, account_id, printer_for_forms, print_advice_printer, output_control) VALUES ('$paying_company_code', '$house_bank', '$account_id', '$printer_for_forms', '$print_advice_printer', '" . implode(",", $output_control_array) . "')";
mysqli_query($koneksi, $query);

Perubahan yang dilakukan adalah menggantikan nilai konstan dengan variabel yang mewakili nilai dari input form, seperti '$paying_company_code' diganti dengan '$paying_company_code'. Selain itu, untuk kolom 'output_control', kita menggunakan fungsi implode untuk menggabungkan nilai-nilai dari checkbox yang mungkin telah dipilih dalam bentuk string yang dipisahkan koma.

Dengan perubahan ini, data yang dikirim dari form akan dimasukkan dengan benar ke dalam tabel database sesuai dengan nilai yang diinputkan oleh pengguna.

Selain itu, pastikan bahwa koneksi ke database dan pemilihan database telah diatur dengan benar seperti yang Anda lakukan dalam kode Anda.

Harap diingat bahwa Anda juga perlu melakukan validasi dan pembersihan data yang diterima dari input form untuk menghindari potensi masalah keamanan seperti SQL Injection.

avatar adamajalah27
@adamajalah27

119 Kontribusi 40 Poin

Dipost 1 tahun yang lalu

Login untuk ikut Jawaban