wildanfuady

Untitled

Nov 9th, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.99 KB | None | 0 0
  1. <?php
  2. // memanggil file koneksi ke database
  3. require_once('db.php');
  4. // membuat fungsi validasi
  5. function validate($field, $message, &$errors) {
  6. if(empty($field)){
  7. $errors[] = $message;
  8. }
  9. }
  10. // mengecek apakah ada input dari form
  11. $nama_depan = isset($_REQUEST['nama_depan']) ? $_REQUEST['nama_depan']: '';
  12. $nama_belakang = isset($_REQUEST['nama_belakang']) ? $_REQUEST['nama_belakang']: '';
  13. $npm = isset($_REQUEST['npm']) ? $_REQUEST['npm']: '';
  14. $password = isset($_REQUEST['password']) ? $_REQUEST['password']: '';
  15. $tempat = isset($_REQUEST['tempat']) ? $_REQUEST['tempat']: '';
  16. $tanggal_lahir = isset($_REQUEST['tanggal_lahir']) ? $_REQUEST['tanggal_lahir']: '';
  17. $jurusan = isset($_REQUEST['jurusan']) ? $_REQUEST['jurusan']: '';
  18. $alamat = isset($_REQUEST['alamat']) ? $_REQUEST['alamat']: '';
  19. $motivasi = isset($_REQUEST['motivasi']) ? $_REQUEST['motivasi']: '';
  20. $foto = isset($_FILES['foto']['name']) ? $_FILES['foto']['name']: '';
  21. $siot = isset($_FILES['siot']['name']) ? $_FILES['siot']['name']: '';
  22. $skd = isset($_FILES['skd']['name']) ? $_FILES['skd']['name']: '';
  23. $ktp = isset($_FILES['ktp']['name']) ? $_FILES['ktp']['name']: '';
  24. $submit = isset($_REQUEST['submit']) ? $_REQUEST['submit']: '';
  25.  
  26. // array untuk menampung error
  27. $errors = [];
  28.  
  29. // cek form jika klik submit
  30. if(!empty($submit)){
  31.  
  32. validate($nama_depan, "Nama depan tidak boleh kosong", $errors);
  33. validate($nama_belakang, "Nama belakang tidak boleh kosong", $errors);
  34. validate($npm, "NPM tidak boleh kosong", $errors);
  35. validate($password, "Password tidak boleh kosong", $errors);
  36. validate($tempat, "Tempat tidak boleh kosong", $errors);
  37. validate($tanggal_lahir, "Tanggal Lahir tidak boleh kosong", $errors);
  38. validate($jurusan, "Jurusan tidak boleh kosong", $errors);
  39. validate($alamat, "Alamat tidak boleh kosong", $errors);
  40. validate($motivasi, "Motivasi tidak boleh kosong", $errors);
  41. validate($foto, "Pas Foto tidak boleh kosong", $errors);
  42. validate($ktp, "Fotocopy KTP tidak boleh kosong", $errors);
  43. validate($siot, "Surat Izin Orang Tua tidak boleh kosong", $errors);
  44. validate($skd, "Surat Keterangan Sehat dari Dokter tidak boleh kosong", $errors);
  45.  
  46. if(!empty($foto)){
  47.  
  48. $ekstensi_diperbolehkan = array('png','jpg', 'jpeg', 'gif');
  49. $nama_foto = $_FILES['foto']['name'];
  50. $x = explode('.', $nama_foto);
  51. $ekstensi = strtolower(end($x));
  52. $ukuran = $_FILES['foto']['size'];
  53. $file_tmp = $_FILES['foto']['tmp_name'];
  54.  
  55. if(in_array($ekstensi, $ekstensi_diperbolehkan) === true){
  56. if($ukuran < 1044070){
  57. move_uploaded_file($file_tmp, 'uploads/'.$nama_foto);
  58. } else {
  59. $errors[] = "Ukuran file foto yang diupload terlalu besar. Maksimal 1.5 mb";
  60. }
  61. } else {
  62. $errors[] = "Foto yang diupload harus bertipe .png, .jpg, .jpeg atau .gif";
  63. }
  64. }
  65.  
  66. if(!empty($ktp)){
  67.  
  68. $ekstensi_diperbolehkan = array('png','jpg', 'jpeg', 'gif');
  69. $nama_ktp = $_FILES['ktp']['name'];
  70. $x = explode('.', $nama_ktp);
  71. $ekstensi = strtolower(end($x));
  72. $ukuran = $_FILES['ktp']['size'];
  73. $file_tmp = $_FILES['ktp']['tmp_name'];
  74.  
  75. if(in_array($ekstensi, $ekstensi_diperbolehkan) === true){
  76. if($ukuran < 1044070){
  77. move_uploaded_file($file_tmp, 'uploads/'.$nama_ktp);
  78. } else {
  79. $errors[] = "Ukuran file ktp yang diupload terlalu besar. Maksimal 1.5 mb";
  80. }
  81. } else {
  82. $errors[] = "KTP yang diupload harus bertipe .png, .jpg, .jpeg atau .gif";
  83. }
  84. }
  85.  
  86. if(!empty($siot)){
  87.  
  88. $ekstensi_diperbolehkan = array('doc','docx', 'pdf');
  89. $nama_siot = $_FILES['siot']['name'];
  90. $x = explode('.', $nama_siot);
  91. $ekstensi = strtolower(end($x));
  92. $ukuran = $_FILES['siot']['size'];
  93. $file_tmp = $_FILES['siot']['tmp_name'];
  94.  
  95. if(in_array($ekstensi, $ekstensi_diperbolehkan) === true){
  96. if($ukuran < 1044070){
  97. move_uploaded_file($file_tmp, 'uploads/'.$nama_siot);
  98. } else {
  99. $errors[] = "Ukuran file surat keterangan izin dari orang tua yang diupload terlalu besar. Maksimal 1.5 mb";
  100. }
  101. } else {
  102. $errors[] = "Surat keterangan izin dari orang tua yang diupload harus bertipe .doc, .docx, atau .pdf";
  103. }
  104. }
  105.  
  106. if(!empty($skd)){
  107.  
  108. $ekstensi_diperbolehkan = array('doc','docx', 'pdf');
  109. $nama_skd = $_FILES['skd']['name'];
  110. $x = explode('.', $nama_skd);
  111. $ekstensi = strtolower(end($x));
  112. $ukuran = $_FILES['skd']['size'];
  113. $file_tmp = $_FILES['skd']['tmp_name'];
  114.  
  115. if(in_array($ekstensi, $ekstensi_diperbolehkan) === true){
  116. if($ukuran < 1044070){
  117. move_uploaded_file($file_tmp, 'uploads/'.$nama_skd);
  118. } else {
  119. $errors[] = "Ukuran file surat keterangan sehat dari dari dokter yang diupload terlalu besar. Maksimal 1.5 mb";
  120. }
  121. } else {
  122. $errors[] = "Surat keterangan sehat dari dari dokter yang diupload harus bertipe .doc, .docx, atau .pdf";
  123. }
  124. }
  125.  
  126. if(empty($errors)){
  127.  
  128.  
  129. $nama = $nama_depan." ".$nama_belakang;
  130. $pass = md5($password);
  131. $sql = "INSERT INTO pendaftaran VALUES(
  132. NULL,
  133. '{$npm}',
  134. '{$nama}',
  135. '{$pass}',
  136. '{$tempat}',
  137. '{$tanggal_lahir}',
  138. '{$jurusan}',
  139. '{$alamat}',
  140. '{$motivasi}',
  141. '{$ktp}',
  142. '{$skd}',
  143. '{$siot}',
  144. '{$foto}')";
  145.  
  146. if($conn->query($sql)){
  147.  
  148. echo "<div class='alert alert-success'><strong>Sukses!</strong> Anda berhasil melakukan pendaftaran. Kami akan memvalidasi data yang akan mengumumkan kelulusan di website ini. Terima kasih.</div>";
  149.  
  150. } else {
  151.  
  152. echo "<div class='alert alert-danger'><strong>Error:</strong> ".$conn->error;
  153.  
  154. }
  155.  
  156. }
  157. }
  158. ?>
  159.  
  160. <!DOCTYPE html>
  161. <html lang="en">
  162. <head>
  163. <meta charset="UTF-8">
  164. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  165. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  166. <title>Form Pendaftaran Calon Anggota Mapala Raflesia Unindra</title>
  167. <link rel="stylesheet"
  168. href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
  169. </head>
  170. <body>
  171. <div class="container-fluid">
  172. <h3>Form Tambah Anggota</h3>
  173. <div class="row <?= sizeof($errors)==0?'d-none':''?>">
  174. <div class="col-md-4">
  175. <div class="alert alert-danger">
  176. <ul>
  177. <?php foreach($errors as $error) { ?>
  178. <li><?= $error ?></li>
  179. <?php } ?>
  180. </ul>
  181. </div>
  182. </div>
  183. </div>
  184. <div class="row">
  185. <div class="col-md-6">
  186. <form id="myForm" method="POST" action="form_pendaftaran.php" enctype="multipart/form-data">
  187. <div class="form-group">
  188. <label><strong>Nama Lengkap</strong></label>
  189. <div class="input-group mb-3">
  190. <input name="nama_depan" type="text" class="form-control" placeholder="Nama Depan" />
  191. <input name="nama_belakang" type="text" class="form-control" placeholder="Nama Belakang" />
  192. </div>
  193. </div>
  194. <div class="form-group">
  195. <label><strong>NPM</strong></label>
  196. <div class="input-group mb-3">
  197. <input name="npm" type="text" class="form-control" placeholder="Nomor Pokok Mahasiswa" />
  198. </div>
  199. </div>
  200. <div class="form-group">
  201. <label><strong>Password</strong></label>
  202. <div class="input-group mb-3">
  203. <input name="password" type="password" class="form-control" placeholder="Masukan Password" />
  204. </div>
  205. </div>
  206. <div class="form-group">
  207. <label><strong>TTL</strong></label>
  208. <div class="input-group mb-3">
  209. <input name="tempat" type="text" class="form-control" placeholder="Tempat" />
  210. <input name="tanggal_lahir" type="date" class="form-control"/>
  211. </div>
  212. </div>
  213. <div class="form-group">
  214. <label><strong>Jurusan</strong></label>
  215. <div class="input-group mb-3">
  216. <select class="custom-select" name="jurusan" id="jurusan">
  217. <option value="S1 - Bahasa Indonesia">S1 - Bahasa Indonesia</option>
  218. <option value="S1 - Bahasa Inggris">S1 - Bahasa Inggris</option>
  219. <option value="S1 - Desain Komunikasi Visual">S1 - Desain Komunikasi Visual</option>
  220. </select>
  221. </div>
  222. </div>
  223. <div class="form-group">
  224. <label><strong>Alamat</strong></label>
  225. <div class="input-group mb-3">
  226. <textarea name="alamat" type="text" class="form-control" placeholder="Masukan Alamat" rows="4"></textarea>
  227. </div>
  228. </div>
  229. <div class="form-group">
  230. <label><strong>Motivasi Masuk Mapala</strong></label>
  231. <div class="input-group mb-3">
  232. <textarea name="motivasi" type="text" class="form-control" placeholder="Motivasi Masuk Mapala" rows="4"></textarea>
  233. </div>
  234. </div>
  235. <div class="form-group">
  236. <label><strong>Pas Foto</strong></label>
  237. <div class="input-group mb-3">
  238. <input name="foto" type="file" class="form-control"/>
  239. </div>
  240. </div>
  241. <div class="form-group">
  242. <label><strong>Scan / Foto KTP</strong></label>
  243. <div class="input-group mb-3">
  244. <input name="ktp" type="file" class="form-control"/>
  245. </div>
  246. </div>
  247. <div class="form-group">
  248. <label><strong>Surat Izin Orang Tua</strong></label>
  249. <div class="input-group mb-3">
  250. <input name="siot" type="file" class="form-control"/>
  251. </div>
  252. </div>
  253. <div class="form-group">
  254. <label><strong>Surat Keterangan Sehat dari Dokter</strong></label>
  255. <div class="input-group mb-3">
  256. <input name="skd" type="file" class="form-control"/>
  257. </div>
  258. </div>
  259. <div class="form-group">
  260. <input class="btn btn-primary btn-block" type="submit" value="Submit" name="submit" id="submit">
  261. </div>
  262. </form>
  263. </div>
  264. </div>
  265. </div>
  266. </body>
  267. </html>
  268. <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
  269. <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
  270. <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
Advertisement
Add Comment
Please, Sign In to add comment