PWEB - UAS
Nama : Muh. Shafwatallah Wahid
NRP : 05111740007002
Membuat PPDB dengan fitur sebagai berikut:
- - Login Aplikasi dengan user dan password
- - Mengisi Formulir pendaftaran
- - Edit profil dan biodata calon pendaftar
- - Memilih sekolah tujuan yang dipilih
- - View formulir pendaftaran yang sudah dipermanen
- - Download formulir pendaftaran
1. Buat rancangan Databasenya
2. Buat rancangan interface aplikasi
3. Implementasi
Code view.php
<?php include("config.php"); ?><!DOCTYPE html><html><title>Formulir PPDB KABUPATEN JEMBER</title><head><link rel="icon" type="image/png" href="House_stark.png"><style type="text/css">body {background: url(winteris.png) no-repeat center center fixed;-webkit-background-size: cover;background-size: cover;-moz-background-size: cover;-o-background-size: cover;}font-family: sans-serif;.login {padding: 1em;margin: 2em auto;width: 30em;border-radius: 3px;background: #fff;}label {font-size: 10pt;color: #555;}textarea {padding: 8px;width: 95%;background: #efefef;border: 0;font-size: 10pt;}margin: 6px 0px;.tombol {background: #7A0000;color: #fff;padding: 5px 8px;border: 0;}</head></style><body><header><h2 align="center">FORMULIR PENDAFTARAN SISWA BARU 2119</h2><h3 align="center">SEKOLAH KERAJAAN HOUSE STARK</h3></header><div class="login"><fieldset><p>$sql = "SELECT * FROM pendaftar";<?php$query = mysqli_query($db, $sql);$siswa = mysqli_fetch_array($query);echo "<p align='center'> FORMULIR PENDAFTARAN SISWA BARU 2119</p>";echo " <p align='center'> SEKOLAH KERAJAAN HOUSE STARK </p>";echo "__________________________________________________";echo "<br />";echo "<br />";echo "<strong>Nama</strong><br>";echo $siswa['nama']; echo "<br>";echo "<br />";echo "<strong>Alamat</strong><br>";echo $siswa['alamat']; echo "<br>";echo "<br />";echo "<strong>Jenis Kelamin</strong><br>";echo $siswa['jenis_kelamin']; echo "<br>";echo "<br />";echo "<strong>Agama</strong><br>";echo $siswa['agama']; echo "<br>";echo "<br />";echo "<strong>Rata-Rata UN</strong><br>";echo $siswa['nilaiUNAS']; echo "<br>";echo "<br />";echo "<strong>Sekolah Asal</strong><br>";echo $siswa['sekolah_asal']; echo "<br>";echo "<br />";echo "<strong>Sekolah Tujuan</strong><br>";echo $siswa['sekolah_tujuan']; echo "<br>";echo "<br /></br></br></br>";echo "<p align='right'>House Stark , ... , ...</p>";echo "<p align='right'>Arya Stark</p>";echo "<p align='right'> NIP 0511204000001"?></p></html><p align="right"><a href="download.php"><button type="button" class="btn btn-default">Download</button></a></body></p>
Code server.php
<?phpsession_start();// initializing variables$username = "";$email = "";$errors = array();// connect to the database$db = mysqli_connect('localhost', 'root', '', 'ppdb');// REGISTER USERif (isset($_POST['reg_user'])) {// receive all input values from the form$username = mysqli_real_escape_string($db, $_POST['username']);$email = mysqli_real_escape_string($db, $_POST['email']);$password_1 = mysqli_real_escape_string($db, $_POST['password_1']);$password_2 = mysqli_real_escape_string($db, $_POST['password_2']);// form validation: ensure that the form is correctly filled ...// by adding (array_push()) corresponding error unto $errors arrayif (empty($username)) { array_push($errors, "Username is required"); }if (empty($email)) { array_push($errors, "Email is required"); }if (empty($password_1)) { array_push($errors, "Password is required"); }if ($password_1 != $password_2) {array_push($errors, "The two passwords do not match");}// first check the database to make sure// a user does not already exist with the same username and/or email$user_check_query = "SELECT * FROM pengguna WHERE username='$username' OR email='$email' LIMIT 1";$result = mysqli_query($db, $user_check_query);$user = mysqli_fetch_assoc($result);if ($user) { // if user existsif ($user['username'] === $username) {array_push($errors, "Username already exists");}if ($user['email'] === $email) {array_push($errors, "email already exists");}}// Finally, register user if there are no errors in the formif (count($errors) == 0) {$password = md5($password_1);//encrypt the password before saving in the database$query = "INSERT INTO pengguna (username, email, password)VALUES('$username', '$email', '$password')";mysqli_query($db, $query);$_SESSION['username'] = $username;$_SESSION['success'] = "You are now logged in";header('location: index.php');}}// ...if (isset($_POST['login_user'])) {$username = mysqli_real_escape_string($db, $_POST['username']);$password = mysqli_real_escape_string($db, $_POST['password']);if (empty($username)) {array_push($errors, "Username is required");}if (empty($password)) {array_push($errors, "Password is required");}if (count($errors) == 0) {$password = md5($password);$query = "SELECT * FROM pengguna WHERE username='$username' AND password='$password'";$results = mysqli_query($db, $query);if (mysqli_num_rows($results) == 1) {$_SESSION['username'] = $username;$_SESSION['success'] = "You are now logged in";header('location: index.php');}else {array_push($errors, "Wrong username/password combination");}}}?>
Code register.php
<?php include('server.php') ?><!DOCTYPE html><html><title>PPDB KERAJAAN HOUSE STARK</title><head><link rel="stylesheet" type="text/css" href="style.css"><link rel="icon" type="image/png" href="House_stark.png"></head><body><div class="header"><h2>Register</h2></div><form method="post" action="register.php"><?php include('errors.php'); ?><div class="input-group"><label>Username</label><input type="text" name="username" value="<?php echo $username; ?>"></div><div class="input-group"><label>Email</label><input type="email" name="email" value="<?php echo $email; ?>"></div><div class="input-group"><label>Password</label><input type="password" name="password_1"></div><div class="input-group"><label>Confirm password</label><input type="password" name="password_2"></div><div class="input-group"><button type="submit" class="btn" name="reg_user">Register</button></div>Already a member? <a href="login.php">Sign in</a><p></p></form></html></body>
Code proses-pendaftaran.php
<?phpinclude("config.php");$nama = $_GET['name'];$alamat = $_GET['address'];$jenis_kelamin = $_GET['gender'];$agama = $_GET['religion'];$nilaiUNAS = $_GET['nilai'];$sekolah_asal = $_GET['school'];$sekolah_tujuan = $_GET['tujuan'];$sql = "INSERT INTO pendaftar (nama, alamat, jenis_kelamin, agama, nilaiUNAS, sekolah_asal, sekolah_tujuan) VALUE('$nama', '$alamat', '$jenis_kelamin', '$agama','$nilaiUNAS', '$sekolah_asal','$sekolah_tujuan')";$query = mysqli_query($db,$sql);if($query){// jika berhasilecho "Data berhasil dimasukkan.";}else{//jika gagalecho "Data gagal dimasukkan.";}?>
Code proses-hapus.php
<?php include("config.php"); ?><?phpmysqli_query($db, "DELETE FROM pendaftar WHERE id_daftar= ".$_GET['id']);?>
Code proses-edit.php
<?phpinclude("config.php");$id_daftar = $_GET['id'];$nama_siswa = $_GET['name'];$alamat = $_GET['address'];$jenis_kelamin = $_GET['gender'];$agama = $_GET['religion'];$nilaiUNAS = $_GET['nilai'];$sekolah_asal = $_GET['school'];$sekolah_tujuan = $_GET['tujuan'];// buat query update$sql = "UPDATE pendaftar SET nama='$nama_siswa', alamat='$alamat', jenis_kelamin='$jenis_kelamin', agama='$agama', nilai='$nilaiUNAS',sekolah_asal='$sekolah_asal',sekolah_tujuan='$sekolah_tujuan' WHERE id='$id_daftar'";$query = mysqli_query($db, $sql);//jika query berhasilif( $query ) {// kalau berhasil alihkan ke halaman list-siswa.phpecho "Data berhasil diperbaharui";}else{//jika gagalecho "Data gagal diperbaharui";}?>
Code login.php
<?php include('server.php') ?><!DOCTYPE html><html><title>KERAJAAN HOUSE STARK MASUK</title><head><link rel="stylesheet" type="text/css" href="style.css"><link rel="icon" type="image/png" href="Logo.png"><style type="text/css">body {background: url(winteris.png) no-repeat center center fixed;-webkit-background-size: cover;background-size: cover;-moz-background-size: cover;-o-background-size: cover;<div class="header"></style></head><h2>Login</h2><body> </div><form method="post" action="login.php"><?php include('errors.php'); ?><div class="input-group"><label>Username</label><input type="text" name="username" ></div><div class="input-group"><label>Password</label><input type="password" name="password"></div><div class="input-group"><button type="submit" class="btn" name="login_user">Login</button></div>Not yet a member? <a href="register.php">Sign up</a><p></p></form></html></body>
Code list-siswa.php
<?php include("config.php"); ?><!DOCTYPE html><html><title>PPDB KERAJAAN HOUSE STARK</title><head><link rel="icon" type="image/png" href="House_stark.png"><style type="text/css"></style></head><header><body><h2 align="center">PENDAFTAR PPDB KERAJAAN HOUSE STARK</h2></header><fieldset><div id='data_siswa'></div></fieldset></body><script type="text/javascript"></html>function hapus(id){if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); }else{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }xmlhttp.onreadystatechange=function(){if(this.readyState==4 && this.status==200){alert(this.responseText);listData();}}xmlhttp.open("GET","proses-hapus.php?id=" + id, true);xmlhttp.send();}function listData(){if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); }else{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }xmlhttp.onreadystatechange=function(){if(this.readyState==4 && this.status==200){document.getElementById('data_siswa').innerHTML = this.responseText;}}xmlhttp.open("GET","data-list-siswa.php", true);xmlhttp.send();}listData();</script>
Code index.php
<?phpsession_start();if (!isset($_SESSION['username'])) {$_SESSION['msg'] = "Login duls lahh";header('location: login.php');}if (isset($_GET['logout'])) {session_destroy();unset($_SESSION['username']);header("location: login.php");}?><!DOCTYPE html><html><title>KERAJAAN HOUSE STARK MASUK</title><head><link rel="stylesheet" type="text/css" href="style.css"><link rel="icon" type="image/png" href="House_stark.png"><style type="text/css">body {background: url(winteris.png) no-repeat center center fixed;-webkit-background-size: cover;background-size: cover;-moz-background-size: cover;-o-background-size: cover;}</style></head><div class="header"><body><h2>LOGGED</h2></div><center><div class="content"><!-- notification message --><?php if (isset($_SESSION['success'])) : ?><div class="error success" ><h3><?phpecho $_SESSION['success'];unset($_SESSION['success']);?></h3></div><?php endif ?><!-- logged in user information --><?php if (isset($_SESSION['username'])) : ?><p>Welcome <strong><?php echo $_SESSION['username']; ?></strong></p><br><p> <a href="home.php" style="color: black;">KERAJAAN HOUSE STARK</a> </p><br><p> <a href="index.php?logout='1'" style="color: red;">logout</a> </p><?php endif ?></div></center></html></body>
Code home.php
<!DOCTYPE HTML><html><title>PEMERINTAH KERAJAAN HOUSE STARK</title><head><link rel="icon" type="image/png" href="House_stark.png"><style type="text/css">ul{display:table; margin:0 auto;}body {background-color: white;}</style></head><header><body><h2 align="center">PENERIMAAN PESERTA DIDIK BARU</h2><h2 align="center">KERAJAAN HOUSE STARK</h2><center><img src="House_stark.png" width="300px" height="200px"/></center></header><br><center><br><a href="form-daftar.php"><button type="button" class="btn btn-default">Pendaftaran</button></a><br><a href="list-siswa.php"><button type="button" class="btn btn-default">List Pendaftar</button></a><br><a href="view.php"><button type="button" class="btn btn-default">View Formulir</button></a></center></body></html>
Code hapus.php
<?phpinclude("config.php");if( isset($_GET['id']) ){// mengambil ID dari query$id = $_GET['id'];// menghapus data dari database$sql = "DELETE FROM pendaftar WHERE id=$id_daftar";$query = mysqli_query($db, $sql);//jika query berhasilif( $query ){alert('Data berhasil dihapus');header('Location: list-siswa.php');}else{alert('Data gagal dihapus');}}else{alert('Akses Dilarang');}?>
Code form-edit.php
<?phpinclude("config.php");if( !isset($_GET['id']) ){header('Location: list-siswa.php');}$id_daftar = $_GET['id'];$sql = "SELECT * FROM pendaftar WHERE id=$id_daftar";?><script type="text/javascript">function updateData(){var name = document.getElementById("nama").value;var address = document.getElementById("alamat").value;var gender;if(document.getElementById("pria").checked){gender = "Laki-laki";}else if(document.getElementById("wanita").checked){gender = "Perempuan";}var religion = document.getElementById("agama").value;var nilai = document.getElementById("nilaiUNAS").value;var school = document.getElementById("sekolah_asal").value;var tujuan = document.getElementById("sekolah_tujuan").value;if(window.XMLHttpRequest){xmlhttp = new XMLHttpRequest();}else{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.onreadystatechange=function(){if(this.readyState==4 && this.status==200){alert(this.responseText);if(this.responseText == "sukses"){alert('Perubahan berhasil disimpan');}else {alert('Perubahan gagal disimpan');}}}xmlhttp.open("GET","proses-edit.php?id=" + <?php echo $id;?> + "&name=" + name + "&address=" + address + "&gender=" + gender + "&religion=" + religion + "&nilai=" + nilai + "&school=" + school + "&tujuan=" + tujuan, true);xmlhttp.send();}</script><!DOCTYPE html><html><title>Edit Data Siswa House Stark</title><head><link rel="icon" type="image/png" href="House_stark.png"><style type="text/css">body {background-color: #FF7F50;}fieldset{background-color: #D2691E;}</style></head><header><body><h3 align="center">Formulir Pendaftaran</h3><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script></header><form action="proses-edit.php"><input type="hidden" name="id" value="<?php echo $siswa['id'] ?>" /><p align="center"><label for="nama">Nama: </label><input type="text" id="nama" placeholder="Nama Lengkap" /></p><p align="center"><label for="alamat">Alamat: </label><textarea id="alamat"></textarea></p><p align="center"><label for="jenis_kelamin">Jenis Kelamin: </label><label><input type="radio" name="jenis_kelamin" id="pria" value="laki-laki">Laki-laki</label><label><input type="radio" name="jenis_kelamin" id="wanita" value="perempuan">Perempuan</label></p><p align="center"><label for="agama">Agama: </label><select id="agama"><option>Islam</option><option>Kristen</option><option>Hindu</option><option>Katolik</option><option>Budha</option></select> </p><p align="center"><label for="nilaiUNAS">Rata-Rata UN: </label><input type="number" id="nilaiUNAS" placeholder="skala 0-100"/></p><p align="center"><label for="sekolah_asal">Sekolah Asal: </label><input type="text" id="sekolah_asal" placeholder="nama sekolah"/></p><p align="center"><label for="sekolah_tujuan">Sekolah Tujuan: </label><input type="text" id="sekolah_tujuan" placeholder="nama sekolah"/></p><p align="center"><input type="button" value="Update" name="update" onclick="updateData()" /></p></form></body></html>
Code form-daftar.php
<!DOCTYPE HTML><html><title>PPDB KEARAJAAN HOUSE STARK</title><head><link rel="icon" type="image/png" href="House_stark.png"><style type="text/css">body {background-color: #FF7F50;}</style></style><body></head><script type="text/javascript">function insertData(){var name = document.getElementById("nama").value;var address = document.getElementById("alamat").value;var gender;if(document.getElementById("pria").checked){gender = "Laki-laki";}else if(document.getElementById("wanita").checked){gender = "Perempuan";}var religion = document.getElementById("agama").value;var nilai = document.getElementById("nilaiUNAS").value;var school = document.getElementById("sekolah_asal").value;var tujuan = document.getElementById("sekolah_tujuan").value;if(window.XMLHttpRequest){xmlhttp = new XMLHttpRequest();}else{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.onreadystatechange=function(){if(this.readyState==4 && this.status==200){alert(this.responseText);if(this.responseText == "sukses"){alert('Data berhasil disimpan');}}}xmlhttp.open("GET","proses-pendaftaran.php?name=" + name + "&address=" + address + "&gender=" + gender + "&religion=" + religion + "&nilai=" + nilai + "&school=" + school + "&tujuan=" + tujuan, true);xmlhttp.send();}</script><header><h3 align="center">Formulir Pendaftaran</h3><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script></header><form class="form-horizontal" action="proses-pendaftaran.php"><fieldset><p align="center"><label for="nama">Nama: </label><input type="text" id="nama" placeholder="Nama Lengkap.." /></p><p align="center"><label for="alamat">Alamat: </label><textarea id="alamat"></textarea></p><p align="center"><label for="jenis_kelamin">Jenis Kelamin: </label><label><input type="radio" name="jenis_kelamin" id="pria" value="laki-laki">Laki-laki</label><label><input type="radio" name="jenis_kelamin" id="wanita" value="perempuan">Perempuan</label></p><p align="center"><label for="agama">Agama: </label><select id="agama"><option>Islam</option><option>Kristen</option><option>Hindu</option><option>Katolik</option><option>Budha</option></select> </p><p align="center"><label for="nilaiUNAS">Rata-Rata UN : </label><input type="number" id="nilaiUNAS" placeholder="skala 0-100" /></p><p align="center"><label for="sekolah_asal">Sekolah Asal: </label><input type="text" id="sekolah_asal" placeholder="nama sekolah" /></p><p align="center"><label for="sekolah_tujuan">Sekolah Tujuan: </label><input type="text" id="sekolah_tujuan" placeholder="nama sekolah" /></p><p align="center"><button type="button" class="btn btn-default" onclick="insertData()">Daftar</button><a href="home.php"><button type="button" class="btn btn-default">Menu Utama</button></a></p></body></form></html>
Code export.php
<?php//export.php$connect = mysqli_connect("localhost", "root", "", "ppdb");$output = '';if(isset($_POST["export"])){$query = "SELECT * FROM pendaftar";$result = mysqli_query($connect, $query);if(mysqli_num_rows($result) > 0){$output .= '<table class="table" bordered="1"><tr><th>No</th><th>Alamat</th><th>Nama</th><th>Jenis Kelamin</th><th>Sekolah Asal</th><th>Agama</th><th>Rata-Rata UN</th>';<th>Sekolah Tujuan</th></tr>while($row = mysqli_fetch_array($result)){$output .= '<tr><td>'.$row["id_daftar"].'</td><td>'.$row["nama"].'</td><td>'.$row["alamat"].'</td><td>'.$row["jenis_kelamin"].'</td><td>'.$row["agama"].'</td><td>'.$row["nilaiUNAS"].'</td><td>'.$row["sekolah_asal"].'</td><td>'.$row["sekolah_tujuan"].'</td></tr>';}$output .= '</table>';header('Content-Type: application/xls');header('Content-Disposition: attachment; filename=download.xls');echo $output;}}?>
Code errors.php
<?php if (count($errors) > 0) : ?><div class="error"><?php foreach ($errors as $error) : ?><p><?php echo $error ?></p><?php endif ?><?php endforeach ?></div>
Code download.php
<?php$connect = mysqli_connect("localhost", "root", "", "ppdb");$sql = "SELECT * FROM pendaftar";$result = mysqli_query($connect, $sql);?><html><head><title>Export MySQL data to Excel in PHP</title><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script><style type="text/css">body {background: url(winteris.png) no-repeat center center fixed;-webkit-background-size: cover;background-size: cover;-moz-background-size: cover;-o-background-size: cover;<div class="container"></style></head><body><br /><br /><div class="table-responsive"><br /><h2 align="center">FORMULIR PPDB KABUPATEN JEMBER</h2><br /><table class="table table-bordered"><tr><th>No</th><th>Nama</th><th>Alamat</th><th>Jenis Kelamin</th><th>Agama</th><th>Sekolah Asal</th><th>Rata-Rata UN</th><?php<th>Sekolah Tujuan</th></tr>while($row = mysqli_fetch_array($result)){echo '<tr><td>'.$row["id_daftar"].'</td><td>'.$row["nama"].'</td><td>'.$row["alamat"].'</td><td>'.$row["jenis_kelamin"].'</td><td>'.$row["agama"].'</td><td>'.$row["nilaiUNAS"].'</td><td>'.$row["sekolah_asal"].'</td><td>'.$row["sekolah_tujuan"].'</td></tr>';}?></table><br /><form method="post" action="export.php"><input type="submit" name="export" class="btn btn-success" value="Export" /></form></div></body></div></html>
Code data-list-siswa.php
<?php include("config.php"); ?><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script><table class="table table-hover" align="center"><thead><tr><th>No</th><th>Nama</th><th>Jenis Kelamin</th><th>Alamat</th><th>Rata-Rata UN</th><th>Agama</th><th>Sekolah Tujuan</th><th>Sekolah Asal</th></thead><th>Tindakan</th></tr>$sql = "SELECT * FROM pendaftar";<tbody> <?php$query = mysqli_query($db, $sql);$no = 0;while($siswa = mysqli_fetch_array($query)){echo "<tr>";$no++;echo "<td>".$no."</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['nilaiUNAS']."</td>";echo "<td>".$siswa['sekolah_asal']."</td>";echo "<td>".$siswa['sekolah_tujuan']."</td>";echo "<td>";echo "<a href='form-edit.php?id=".$siswa['id_daftar']."'>Edit</a> | ";echo "<input type='button' onclick=hapus('".$siswa['id_daftar']."') value='Hapus'>";echo "</td>";echo "</tr>";}?></tbody></table><p align="center">Total: <?php echo mysqli_num_rows($query) ?> <a href="home.php"><button type="button">Menu Utama</button></a><a href="form-daftar.php"><button type="button">Tambah Data</button></a></p>
Code config.php
<?php$server = "localhost";$user = "root";$password = "";$nama_database = "ppdb";$db = mysqli_connect($server, $user, $password, $nama_database);if( !$db ){die("Gagal terhubung dengan database: " . mysqli_connect_error());}?>
VIDEO
Komentar
Posting Komentar