Postingan lainnya
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).pngScreenshot (21).pngScreenshot (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.