Pelajari modul ini dan ikuti sesuai dengan prosedur penulisan program!
edit.php
<!DOCTYPE html>
<html>
<head>
<title>Edit Data Siswa</title>
</head>
<body>
<h2>Edit Data Siswa</h2>
<?php
// Ambil nilai NIS dari parameter URL
$nis = $_GET['nis'];
// Koneksi ke database (sama seperti modul 2)
include 'dbkonek.php';
// Query untuk mengambil data siswa berdasarkan NIS
$sql = "SELECT * FROM siswa WHERE NIS='$nis'";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
?>
<form action="proses_edit.php" method="post">
<input type="hidden" name="nis" value="<?php echo $row['NIS']; ?>">
Nama: <input type="text" name="nama" value="<?php echo $row['Nama']; ?>"><br>
Kelas:
<select name="kelas">
<option value="10" <?php if ($row['Kelas'] == '10') echo 'selected'; ?>>10</option>
<option value="11" <?php if ($row['Kelas'] == '11') echo 'selected'; ?>>11</option>
<option value="12" <?php if ($row['Kelas'] == '12') echo 'selected'; ?>>12</option>
</select><br>
<input type="submit" value="Simpan">
</form>
</body>
</html>
hapus.php
<?php
// Koneksi ke database (sama seperti modul 2)
include 'dbkonek.php';
// Ambil NIS dari parameter URL
$nis = $_GET['nis'];
// Query untuk menghapus data
$sql = "DELETE FROM siswa WHERE NIS='$nis'";
if (mysqli_query($conn, $sql)) {
header("Location: input.php");
exit();
} else {
echo "Error deleting record: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Berikut ini adalah kode output.php
<?php
// Koneksi ke database (sama seperti modul 2)
include 'dbkonek.php';
// Query untuk mengambil semua data siswa
$sql = "SELECT * FROM siswa";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
echo "<table border=1><tr><th>NIS</th><th>Nama</th><th>Kelas</th><th>Aksi</th></tr>";
while($row = mysqli_fetch_assoc($result)) {
echo "<tr><td>" . $row["NIS"] . "</td><td>" . $row["Nama"] . "</td><td>" . $row["Kelas"] . "</td><td>
<a href='edit.php?nis=" . $row["NIS"] . "'>Edit</a> |
<a href='hapus.php?nis=" . $row["NIS"] . "' onclick='return confirm(\"Apakah Anda yakin ingin menghapus data ini?\")'>Hapus</a>
</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
mysqli_close($conn);
?>
Level Tingkat Lanjut
Memberi NOTIFIKASI dan VALIDASI
Modifikasi input,php
Menambahkan fasilitas cari.php
<?php
// Koneksi ke database (sesuaikan dengan konfigurasi Anda)
include 'dbkonek.php';
// Ambil kata kunci pencarian dari URL
$nama = $_GET['nama'];
// Query pencarian
$sql = "SELECT * FROM siswa WHERE nama LIKE '%$nama%'";
$result = mysqli_query($conn, $sql);
// Tampilkan hasil pencarian
if (mysqli_num_rows($result) > 0) {
echo "<h2>Hasil Pencarian</h2>";
echo "<table border='1'>
<tr>
<th>NIS</th>
<th>Nama</th>
</tr>";
while($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>" . (isset($row['NIS']) ? $row['NIS'] : "NIS tidak ditemukan") . "</td>";
echo "<td>" . (isset($row['Nama']) ? $row['Nama'] : "Nama tidak ditemukan") . "</td>";
// Tambahkan kolom lain sesuai dengan tabel siswa Anda
echo "</tr>";
}
echo "</table>";
} else {
echo "Data siswa tidak ditemukan.";
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Form Pencarian Siswa</title>
</head>
<body>
<h1>Pencarian Siswa</h1>
<form action="cari.php" method="GET">
<input type="text" name="nama" placeholder="Masukkan nama siswa">
<button type="submit">Cari</button>
</form>
</body>
</html>
MEMBUAT PENAMBAHAN FASILITAS PEMBAYARAN
Sebelum membuat file pembayaran.php kita harus menambahkan terlebih dahulu tabel yang ada di mysql dengan cara:
CREATE TABLE pembayaran (
id_pembayaran INT AUTO_INCREMENT PRIMARY KEY,
nis INT,
bulan INT,
tahun INT,
jumlah DECIMAL(10,2),
tanggal_bayar DATE,
keterangan TEXT,
id_petugas INT,
status_pembayaran ENUM('Belum Lunas', 'Lunas', 'Tertunda', 'Dibatalkan'),
bukti_pembayaran VARCHAR(255),
tanggal_input TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Kemudian membuat file pembayaran.php seperti di bawah ini:
<?php
// Koneksi ke database (sesuaikan dengan konfigurasi Anda)
include 'dbkonek.php';
// Cek apakah form sudah disubmit
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Ambil data dari form
$nis = $_POST['nis'];
$bulan = $_POST['bulan'];
$tahun = $_POST['tahun'];
$jumlah = $_POST['jumlah'];
$tanggal_bayar = $_POST['tanggal_bayar'];
$keterangan = $_POST['keterangan'];
$id_petugas = $_SESSION['id_petugas']; // Asumsikan id_petugas sudah ada di session
// Siapkan query INSERT
$sql = "INSERT INTO pembayaran (nis, bulan, tahun, jumlah, tanggal_bayar, keterangan, id_petugas)
VALUES (?, ?, ?, ?, ?, ?, ?)";
// Prepare statement
$stmt = $conn->prepare($sql);
$stmt->bind_param("iissssi", $nis, $bulan, $tahun, $jumlah, $tanggal_bayar, $keterangan, $id_petugas);
// Eksekusi query
if ($stmt->execute()) {
echo "Data pembayaran berhasil ditambahkan";
} else {
echo "Error: " . $stmt->error;
}
$stmt->close();
}
// Tampilkan form pembayaran jika belum disubmit
?>
<!DOCTYPE html>
<html>
<head>
<title>Form Pembayaran</title>
</head>
<body>
<h2>Form Pembayaran SPP</h2>
<form action="" method="post">
NIS: <input type="text" name="nis" required><br>
Bulan: <input type="text" name="bulan" required><br>
Tahun: <input type="text" name="tahun" required><br>
Jumlah: <input type="number" name="jumlah" required><br>
Tanggal Bayar: <input type="date" name="tanggal_bayar" required><br>
Keterangan: <textarea name="keterangan"></textarea><br>
<input type="submit" value="Simpan">
</form>
</body>
</html>
<?php
include 'lihat_pembayaran.php';
?>
Tambahkan file lihat_pembayaran.php
<?php
include 'dbkonek.php';
// Query untuk mengambil semua data pembayaran
$sql = "SELECT * FROM pembayaran";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<h2>Daftar Pembayaran</h2>";
echo "<table><tr><th>NIS</th><th>Bulan</th><th>Tahun</th><th>Jumlah</th><th>Tanggal Bayar</th><th>Keterangan</th></tr>";
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["nis"] . "</td><td>" . $row["bulan"] . "</td><td>" . $row["tahun"] . "</td><td>" . $row["jumlah"] . "</td><td>" . $row["tanggal_bayar"] . "</td><td>" . $row["keterangan"] . "</td></tr>";
}
echo "</table>";
} else {
echo "Tidak ada data pembayaran.";
}
$conn->close();
?>
MEMBUAT PENAMBAHAN FASILITAS LOGIN
Masukkan pada SQL phpmyadmin :
CREATE TABLE petugas (
id_petugas INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100),
username VARCHAR(50) UNIQUE,
password VARCHAR(255),
level ENUM('admin', 'petugas')
);
Buat file index.php
<?php
session_start();
// Koneksi ke database (sesuaikan dengan konfigurasi Anda)
include 'dbkonek.php';
// Cek apakah form sudah disubmit
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Ambil data dari form
$username = $_POST['username'];
$password = $_POST['password'];
// Query untuk mencari pengguna
$sql = "SELECT * FROM petugas WHERE username = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($password, $row['password'])) {
// Login berhasil, simpan data pengguna ke session
$_SESSION['id_petugas'] = $row['id_petugas'];
$_SESSION['level'] = $row['level'];
header("Location: menu.php"); // Ganti dengan halaman dashboard Anda
} else {
echo "Password salah";
}
} else {
echo "Username tidak ditemukan";
}
$stmt->close();
}
// Tampilkan form login jika belum disubmit
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="" method="post">
<table align='center'>
<tr><th colspan='2' width='250'><h2>Selamat Datang di Sistem Pendataan Siswa Seminari Garum.<br><h3> <font color='red'>Silakan masuk menggunakan akun Admin atau Petugas!</th></tr>
<tr><td><img src='img\user.png' width='25'></td> <td><input type="text" name="username" required></td></tr>
<tr><td><img src='img\pass.png' width='25'></td> <td><input type="password" name="password" required></td></tr>
<tr><td colspan='2' align='center'><input type="submit" value="LOGIN"></td></tr>
</table>
</form>
</body>
</html>
Buat file logout.php
<?php
session_start();
session_destroy();
header("Location: index.php");
exit();
Tambahkan kode pada menu.php
<?php
session_start();
// Periksa apakah ada sesi pengguna
if (!isset($_SESSION['id_petugas'])) {
header("Location: index.php");
exit();
}
?>
============================================
Update kode proses.php
<?php
include 'dbkonek.php';
// Ambil data dari form
$nis = $_POST['nis'];
$nama = $_POST['nama'];
$kelas = $_POST['kelas'];
// Upload gambar
$target_dir = "foto/";
$target_file = $target_dir . basename($_FILES["foto"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Cek apakah file yang diunggah adalah gambar
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["foto"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
// Cek ukuran file (sesuaikan dengan kebutuhan Anda)
if ($_FILES["foto"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Hanya file JPG, JPEG, PNG, dan GIF yang diizinkan
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// Jika $uploadOk masih 1, maka upload file
if ($uploadOk == 1) {
if (move_uploaded_file($_FILES["foto"]["tmp_name"], $target_file)) {
echo "The file ". htmlspecialchars( basename( $_FILES["foto"]["name"])). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
// Cek apakah NIS sudah ada di database
$sql = "SELECT * FROM siswa WHERE NIS='$nis'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Jika NIS sudah ada, tampilkan pesan error dan arahkan kembali ke halaman input
echo "<script>alert('NIS sudah ada!'); window.location.href='input.php';</script>";
} else {
// Insert data ke database
$sql = "INSERT INTO siswa (NIS, Nama, Kelas, Foto) VALUES ('$nis', '$nama', '$kelas', '$target_file')";
if (mysqli_query($conn, $sql)) {
// Jika data berhasil ditambahkan, alihkan ke halaman index.php
header("Location: input.php");
//echo "<script>alert('Data berhasil ditambahkan'); window.location.href='input.php';</script>";
exit();
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
}
mysqli_close($conn);
?>
Link pengumpulan umpan balik peserta didik: