Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
Tambah Data Berhasil Namun Tidak Tampil Pada Database
Mohon bantuannya teman - teman
tidak ditemukan error namun ketika tombol submit/tambah data ditekan data tidak masuk pada database maupun tampil pada halaman index.
Screenshot (20).png
Screenshot (21).png
Screenshot (22).png
functions.php
<?php
// koneksi ke database
$conn = mysqli_connect("localhost","root","", "phpdasar");
function query ($query){
global $conn;
$result = mysqli_query ($conn, $query);
$rows = [];
while ($row = mysqli_fetch_assoc($result)) {
$rows[] = $row;
}
return $rows;
function tambah ($data) {
global $conn;
// ambil data dari stiap elemen form
$nim = htmlspecialchars($data ["nim"]);
$nama = htmlspecialchars($data ["nama"]);
$email = htmlspecialchars($data ["email"]);
$jurusan = htmlspecialchars($data ["jurusan"]);
$gambar = htmlentities($data ["gambar"]);
// query insert data
$query = "INSERT INTO mahasiswa
VALUES
('','$nim','$nama','$email','$jurusan','$gambar')";
mysqli_query ($conn, $query);
return mysqli_affected_rows ($conn);
}
}
?>
<h1>Daftar Mahasiswa</h1>
<a href="tambah.php">Tambah Data Mahasiswa</a>
<br><br>
<table border="1" cellpadding="10" cellspacing="0">
<tr>
<th>No.</th>
<th>Aksi</th>
<th>Gambar</th>
<th>NIM</th>
<th>Nama</th>
<th>Email</th>
<th>Jurusan</th>
</tr>
<?php $i = 1; ?>
<?php foreach ($mahasiswa as $row) :
?>
<tr>
<td><?php echo $i; ?></td>
<td>
<a href="">ubah</a> |
<a href="">hapus</a>
</td>
<td><img src="img/<?php echo $row ["gambar"];?>" width="50"></td>
<td><?php echo $row ["nim"]; ?></td>
<td><?php echo $row ["nama"]; ?></td>
<td><?php echo $row ["email"]; ?></td>
<td><?php echo $row ["jurusan"]; ?></td>
</tr>
<?php $i++; ?>
<?php endforeach; ?>
</table>
</body>
</html>
tambah.php
<?php
require 'functions.php';
// cek apakah tombil submit sudah ditekan atau blm
if ( isset($_POST["submit"])) {
// cek apakah data berhasil ditambahkan atau tidak
if ( tambah($_POST) > 0 ) {
echo
"<script>
alert ('data berhasil ditambahkan !');
document.location.href = 'index.php';
</script>";
} else {
echo
"<script>
alert ('data gagal ditambahkan !');
document.location.href = 'index.php' ;
</script>";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Tambah Data Mahasiswa</title>
</head>
<body>
<h1>Tambah Data</h1>
<form action="" method="post">
<ul>
<li>
<label for="nim">NIM :</label>
<input type="text" name="nim" id="nim">
</li>
<li>
<label for="nama">Nama :</label>
<input type="text" name="nama" id="nama">
</li>
<li>
<label for="email">Email :</label>
<input type="text" name="email" id="email">
</li>
<li>
<label for="jurusan">Jurusan :</label>
<input type="text" name="jurusan" id="jurusan">
</li>
<li>
<label for="gambar">Gambar :</label>
<input type="text" name="gambar" id="gambar">
</li>
<li>
<button type="submit">Tambah Data !</button>
</li>
</ul>
</form>
</body>
</html>
index.php
<?php
$conn = mysqli_connect("localhost", "root", "", "phpdasar");
require 'functions.php';
$mahasiswa = query ("SELECT * FROM mahasiswa");
?>
<!DOCTYPE html>
<html>
<head>
<title>Halaman Admin</title>
</head>
<body>
<h1>Daftar Mahasiswa</h1>
<a href="tambah.php">Tambah Data Mahasiswa</a>
<br><br>
<table border="1" cellpadding="10" cellspacing="0">
<tr>
<th>No.</th>
<th>Aksi</th>
<th>Gambar</th>
<th>NIM</th>
<th>Nama</th>
<th>Email</th>
<th>Jurusan</th>
</tr>
<?php $i = 1; ?>
<?php foreach ($mahasiswa as $row) :
?>
<tr>
<td><?php echo $i; ?></td>
<td>
<a href="">ubah</a> |
<a href="">hapus</a>
</td>
<td><img src="img/<?php echo $row ["gambar"];?>" width="50"></td>
<td><?php echo $row ["nim"]; ?></td>
<td><?php echo $row ["nama"]; ?></td>
<td><?php echo $row ["email"]; ?></td>
<td><?php echo $row ["jurusan"]; ?></td>
</tr>
<?php $i++; ?>
<?php endforeach; ?>
</table>
</body>
</html>
1 Jawaban:
Jawaban Terpilih
<div>Saya coba bantu jawab :<br>Coba bagian button type submit ini dikasih attribute name,<br> </div><pre>Dari ini : <button type="submit">Tambah Data !</button>
diubah menjadi : <button name="submit" type="submit">Tambah Data !</button></pre><div><br>Nilai atribute name pada buttton/input type submit, harus sama dengan pengujian IF pada saat form-nya mau diproses.<br>Ketika button/input type submit punya atribut name dengan nilai "submit", maka di IF-nya pun harus pakai "submit" juga, seperti ini :</div><pre><?php if(isset($_POST['submit'])) { // <--Jadi dibacanya, ketika button/input type submit dengan name='submit' ditekan, maka .... //Do action }</pre><div><br>Kemudian, saran saya coba dibagian fungsi mysqli_query, berikan juga opsi untuk menangkap error yang datang dari database (pada saat proses insert/update/delete data).</div><pre>Bagian ini : mysqli_query ($conn, $query);
Silahkan diubah menjadi: mysqli_query ($conn, $query) or die(mysqli_error($conn));</pre><div> <br>Kode di atas, artinya ketika terdapat kesalahan pada penulisan query, maka script akan berhenti dengan fungsi die, dan menampilkan pesan errornya.<br><br>Semoga berhasil ya.</div>
Tanggapan
terimakasih banyak kak.