Sunday, October 26, 2025

Pertemuan 9 | Form pendaftaran php

 

Naufal Daffa Alfa Zain

5025241066

Pemrograman Web - B

 

Pada pertemuan kali ini saya diminta untuk membuat form pendaftaran siswa menggunakan bahasa pemrograman PHP dan database MySQL.
Tujuannya adalah agar data siswa yang diinput dari form web dapat disimpan, ditampilkan, diedit, dan dihapus melalui koneksi database mysqli. Di sini saya menggunakan  Apache, MariaDB (MySQL server), dan PHP untuk menyimpan database. 

untuk setupnya:

sudo mysql

CREATE DATABASE pendaftaran_siswa CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'pert9'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON pendaftaran_siswa.* TO 'pert9'@'localhost';
FLUSH PRIVILEGES;

USE pendaftaran_siswa;

CREATE TABLE calon_siswa (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100) NOT NULL,
alamat TEXT,
jenis_kelamin ENUM('laki-laki','perempuan') NOT NULL,
agama VARCHAR(30),
sekolah_asal VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

exit

 Kemudian tinggal dijalankan phpnya di localhost. Dan seperti ini tampilannya





 

Dan untuk source codenya, dapat dilihat dibawah sini

Config.php

<?php

$server = "localhost";
$user = "pert9";
$password = "password";
$db_name = "pendaftaran_siswa";

$db = mysqli_connect($server, $user, $password, $db_name);

if(!$db){
die("Error connecting to databse :" . mysqli_connect_error());
}
?>

 form-daftar.php

<!DOCTYPE html>
<html>
<head>
<title>Formulir Pendaftaran Siswa Baru | SMAN 5 Surabaya</title>
</head>

<body>
<header>
<h3>Formulir Pendaftaran Siswa Baru</h3>
</header>

<form action="proses-pendaftaran.php" method="POST">

<fieldset>

<p>
<label for="nama">Nama: </label>
<input type="text" name="nama" placeholder="nama lengkap" />
</p>
<p>
<label for="alamat">Alamat: </label>
<textarea name="alamat"></textarea>
</p>
<p>
<label for="jenis_kelamin">Jenis Kelamin: </label>
<label><input type="radio" name="jenis_kelamin" value="laki-laki"> Laki-laki</label>
<label><input type="radio" name="jenis_kelamin" value="perempuan"> Perempuan</label>
</p>
<p>
<label for="agama">Agama: </label>
<select name="agama">
<option>Islam</option>
<option>Kristen</option>
<option>Hindu</option>
<option>Budha</option>
<option>Atheis</option>
</select>
</p>
<p>
<label for="sekolah_asal">Sekolah Asal: </label>
<input type="text" name="sekolah_asal" placeholder="nama sekolah" />
</p>
<p>
<input type="submit" value="Daftar" name="daftar" />
</p>

</fieldset>

</form>

</body>
</html>

 form-edit.php

<?php

include("config.php");

if( !isset($_GET['id']) ){
header('Location: list-siswa.php');
}

$id = $_GET['id'];

$sql = "SELECT * FROM calon_siswa WHERE id=$id";
$query = mysqli_query($db, $sql);
$siswa = mysqli_fetch_assoc($query);

if( mysqli_num_rows($query) < 1 ){
die("data tidak ditemukan...");
}

?>

<!DOCTYPE html>
<html>
<head>
<title>Formulir Edit Siswa | SMAN 5 Surabaya</title>
</head>

<body>
<header>
<h3>Formulir Edit Siswa</h3>
</header>

<form action="proses-edit.php" method="POST">

<fieldset>

<input type="hidden" name="id" value="<?php echo $siswa['id'] ?>" />

<p>
<label for="nama">Nama: </label>
<input type="text" name="nama" placeholder="nama lengkap" value="<?php echo $siswa['nama'] ?>" />
</p>
<p>
<label for="alamat">Alamat: </label>
<textarea name="alamat"><?php echo $siswa['alamat'] ?></textarea>
</p>
<p>
<label for="jenis_kelamin">Jenis Kelamin: </label>
<?php $jk = $siswa['jenis_kelamin']; ?>
<label><input type="radio" name="jenis_kelamin" value="laki-laki" <?php echo ($jk == 'laki-laki') ? "checked": "" ?>> Laki-laki</label>
<label><input type="radio" name="jenis_kelamin" value="perempuan" <?php echo ($jk == 'perempuan') ? "checked": "" ?>> Perempuan</label>
</p>
<p>
<label for="agama">Agama: </label>
<?php $agama = $siswa['agama']; ?>
<select name="agama">
<option <?php echo ($agama == 'Islam') ? "selected": "" ?>>Islam</option>
<option <?php echo ($agama == 'Kristen') ? "selected": "" ?>>Kristen</option>
<option <?php echo ($agama == 'Hindu') ? "selected": "" ?>>Hindu</option>
<option <?php echo ($agama == 'Budha') ? "selected": "" ?>>Budha</option>
<option <?php echo ($agama == 'Atheis') ? "selected": "" ?>>Atheis</option>
</select>
</p>
<p>
<label for="sekolah_asal">Sekolah Asal: </label>
<input type="text" name="sekolah_asal" placeholder="nama sekolah" value="<?php echo $siswa['sekolah_asal'] ?>" />
</p>
<p>
<input type="submit" value="Simpan" name="simpan" />
</p>

</fieldset>


</form>

</body>
</html>

 hapus.php

<?php

include("config.php");

if( isset($_GET['id']) ){
$id = $_GET['id'];
$sql = "DELETE FROM calon_siswa WHERE id=$id";
$query = mysqli_query($db, $sql);
if( $query ){
header('Location: list-siswa.php');
} else {
die("gagal menghapus...");
}

} else {
die("akses dilarang...");
}

?>

 index.php

<!DOCTYPE html>
<html>
<head>
<title>Pendaftaran Siswa Baru | SMAN 5 Surabaya</title>
</head>

<body>
<header>
<h3>Pendaftaran Siswa Baru</h3>
<h1>SMAN 5 Surabaya</h1>
</header>

<h4>Menu</h4>
<nav>
<ul>
<li><a href="form-daftar.php">Daftar Baru</a></li>
<li><a href="list-siswa.php">Pendaftar</a></li>
</ul>
</nav>

<?php if(isset($_GET['status'])): ?>
<p>
<?php
if($_GET['status'] == 'sukses'){
echo "Pendaftaran siswa baru berhasil!";
} else {
echo "Pendaftaran gagal!";
}
?>
</p>
<?php endif; ?>


</body>
</html>

 list-siswa.php

<?php include("config.php"); ?>

<!DOCTYPE html>
<html>
<head>
<title>Pendaftaran Siswa Baru | SMAN 5 Surabaya</title>
</head>

<body>
<header>
<h3>Siswa yang sudah mendaftar</h3>
</header>

<nav>
<a href="form-daftar.php">[+] Tambah Baru</a>
</nav>

<br>

<table border="1">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Alamat</th>
<th>Jenis Kelamin</th>
<th>Agama</th>
<th>Sekolah Asal</th>
<th>Tindakan</th>
</tr>
</thead>
<tbody>

<?php
$sql = "SELECT * FROM calon_siswa";
$query = mysqli_query($db, $sql);

while($siswa = mysqli_fetch_array($query)){
echo "<tr>";

echo "<td>".$siswa['id']."</td>";
echo "<td>".$siswa['nama']."</td>";
echo "<td>".$siswa['alamat']."</td>";
echo "<td>".$siswa['jenis_kelamin']."</td>";
echo "<td>".$siswa['agama']."</td>";
echo "<td>".$siswa['sekolah_asal']."</td>";

echo "<td>";
echo "<a href='form-edit.php?id=".$siswa['id']."'>Edit</a> | ";
echo "<a href='hapus.php?id=".$siswa['id']."'>Hapus</a>";
echo "</td>";

echo "</tr>";
}
?>

</tbody>
</table>

<p>Total: <?php echo mysqli_num_rows($query) ?></p>

</body>
</html>

 proses-edit.php

<?php

include("config.php");
if(isset($_POST['simpan'])){
$id = $_POST['id'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jk = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah = $_POST['sekolah_asal'];

$sql = "UPDATE calon_siswa SET nama='$nama', alamat='$alamat', jenis_kelamin='$jk', agama='$agama', sekolah_asal='$sekolah' WHERE id=$id";
$query = mysqli_query($db, $sql);

if( $query ) {
header('Location: list-siswa.php');
} else{
die("Gagal menyimpan perubahan");
}

} else {
die("Not Permitted");
}

?>

 proses-pendaftaran.php

<?php

include("config.php");

if(isset($_POST['daftar'])){

$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jk = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah = $_POST['sekolah_asal'];
$sql = "INSERT INTO calon_siswa (nama, alamat, jenis_kelamin, agama, sekolah_asal) VALUE ('$nama', '$alamat', '$jk', '$agama', '$sekolah')";
$query = mysqli_query($db, $sql);

if( $query ) {
header('Location: index.php?status=sukses');
} else {
header('Location: index.php?status=gagal');
}

} else {
die("Not permitted");
}

?>

 

 

 

No comments:

Post a Comment

Pertemuan 13 | Abstract Class

 Nama     : Naufal Daffa Alfa Zain  Nrp         : 5025241066  Kelas      : Pemrograman Web A2 Pada pertemuan ke‑13 kami mendapat dua tugas. ...