wildanfuady

Untitled

Nov 9th, 2019
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.21 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($errors)){
  47.  
  48. if(!empty($foto)){
  49.  
  50. $ekstensi_diperbolehkan = array('png','jpg', 'jpeg', 'gif');
  51. $nama_foto = $_FILES['foto']['name'];
  52. $x = explode('.', $nama_foto);
  53. $ekstensi = strtolower(end($x));
  54. $ukuran = $_FILES['foto']['size'];
  55. $file_tmp = $_FILES['foto']['tmp_name'];
  56.  
  57. if(in_array($ekstensi, $ekstensi_diperbolehkan) === true){
  58. if($ukuran < 1044070){
  59. move_uploaded_file($file_tmp, 'uploads/'.$nama_foto);
  60. }
  61. }
  62. }
  63.  
  64. if(!empty($ktp)){
  65.  
  66. $ekstensi_diperbolehkan = array('png','jpg', 'jpeg', 'gif');
  67. $nama_ktp = $_FILES['ktp']['name'];
  68. $x = explode('.', $nama_ktp);
  69. $ekstensi = strtolower(end($x));
  70. $ukuran = $_FILES['ktp']['size'];
  71. $file_tmp = $_FILES['ktp']['tmp_name'];
  72.  
  73. if(in_array($ekstensi, $ekstensi_diperbolehkan) === true){
  74. if($ukuran < 1044070){
  75. move_uploaded_file($file_tmp, 'uploads/'.$nama_ktp);
  76. }
  77. }
  78. }
  79.  
  80. if(!empty($siot)){
  81.  
  82. $ekstensi_diperbolehkan = array('doc','docx', 'pdf');
  83. $nama_siot = $_FILES['siot']['name'];
  84. $x = explode('.', $nama_siot);
  85. $ekstensi = strtolower(end($x));
  86. $ukuran = $_FILES['siot']['size'];
  87. $file_tmp = $_FILES['siot']['tmp_name'];
  88.  
  89. if(in_array($ekstensi, $ekstensi_diperbolehkan) === true){
  90. if($ukuran < 1044070){
  91. move_uploaded_file($file_tmp, 'uploads/'.$nama_siot);
  92. }
  93. }
  94. }
  95.  
  96. if(!empty($skd)){
  97.  
  98. $ekstensi_diperbolehkan = array('doc','docx', 'pdf');
  99. $nama_skd = $_FILES['skd']['name'];
  100. $x = explode('.', $nama_skd);
  101. $ekstensi = strtolower(end($x));
  102. $ukuran = $_FILES['skd']['size'];
  103. $file_tmp = $_FILES['skd']['tmp_name'];
  104.  
  105. if(in_array($ekstensi, $ekstensi_diperbolehkan) === true){
  106. if($ukuran < 1044070){
  107. move_uploaded_file($file_tmp, 'uploads/'.$nama_skd);
  108. }
  109. }
  110. }
  111.  
  112. $nama = $nama_depan." ".$nama_belakang;
  113. $pass = md5($password);
  114. $sql = "INSERT INTO pendaftaran VALUES(
  115. NULL,
  116. '{$npm}',
  117. '{$nama}',
  118. '{$pass}',
  119. '{$tempat}',
  120. '{$tanggal_lahir}',
  121. '{$jurusan}',
  122. '{$alamat}',
  123. '{$motivasi}',
  124. '{$ktp}',
  125. '{$skd}',
  126. '{$siot}',
  127. '{$foto}')";
  128.  
  129. if($conn->query($sql)){
  130.  
  131. 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>";
  132.  
  133. } else {
  134.  
  135. echo "<div class='alert alert-danger'><strong>Error:</strong> ".$conn->error;
  136.  
  137. }
  138.  
  139. }
  140. }
  141. ?>
  142.  
  143. <!DOCTYPE html>
  144. <html lang="en">
  145. <head>
  146. <meta charset="UTF-8">
  147. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  148. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  149. <title>Form Pendaftaran Calon Anggota Mapala Raflesia Unindra</title>
  150. <link rel="stylesheet"
  151. href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
  152. </head>
  153. <body>
  154. <div class="container-fluid">
  155. <h3>Form Tambah Anggota</h3>
  156. <div class="row <?= sizeof($errors)==0?'d-none':''?>">
  157. <div class="col-md-4">
  158. <div class="alert alert-danger">
  159. <ul>
  160. <?php foreach($errors as $error) { ?>
  161. <li><?= $error ?></li>
  162. <?php } ?>
  163. </ul>
  164. </div>
  165. </div>
  166. </div>
  167. <div class="row">
  168. <div class="col-md-6">
  169. <form id="myForm" method="POST" action="form_pendaftaran.php" enctype="multipart/form-data">
  170. <div class="form-group">
  171. <label><strong>Nama Lengkap</strong></label>
  172. <div class="input-group mb-3">
  173. <input name="nama_depan" type="text" class="form-control" placeholder="Nama Depan" />
  174. <input name="nama_belakang" type="text" class="form-control" placeholder="Nama Belakang" />
  175. </div>
  176. </div>
  177. <div class="form-group">
  178. <label><strong>NPM</strong></label>
  179. <div class="input-group mb-3">
  180. <input name="npm" type="text" class="form-control" placeholder="Nomor Pokok Mahasiswa" />
  181. </div>
  182. </div>
  183. <div class="form-group">
  184. <label><strong>Password</strong></label>
  185. <div class="input-group mb-3">
  186. <input name="password" type="password" class="form-control" placeholder="Masukan Password" />
  187. </div>
  188. </div>
  189. <div class="form-group">
  190. <label><strong>TTL</strong></label>
  191. <div class="input-group mb-3">
  192. <input name="tempat" type="text" class="form-control" placeholder="Tempat" />
  193. <input name="tanggal_lahir" type="date" class="form-control"/>
  194. </div>
  195. </div>
  196. <div class="form-group">
  197. <label><strong>Jurusan</strong></label>
  198. <div class="input-group mb-3">
  199. <select class="custom-select" name="jurusan" id="jurusan">
  200. <option value="S1 - Bahasa Indonesia">S1 - Bahasa Indonesia</option>
  201. <option value="S1 - Bahasa Inggris">S1 - Bahasa Inggris</option>
  202. <option value="S1 - Desain Komunikasi Visual">S1 - Desain Komunikasi Visual</option>
  203. </select>
  204. </div>
  205. </div>
  206. <div class="form-group">
  207. <label><strong>Alamat</strong></label>
  208. <div class="input-group mb-3">
  209. <textarea name="alamat" type="text" class="form-control" placeholder="Masukan Alamat" rows="4"></textarea>
  210. </div>
  211. </div>
  212. <div class="form-group">
  213. <label><strong>Motivasi Masuk Mapala</strong></label>
  214. <div class="input-group mb-3">
  215. <textarea name="motivasi" type="text" class="form-control" placeholder="Motivasi Masuk Mapala" rows="4"></textarea>
  216. </div>
  217. </div>
  218. <div class="form-group">
  219. <label><strong>Pas Foto</strong></label>
  220. <div class="input-group mb-3">
  221. <input name="foto" type="file" class="form-control"/>
  222. </div>
  223. </div>
  224. <div class="form-group">
  225. <label><strong>Scan / Foto KTP</strong></label>
  226. <div class="input-group mb-3">
  227. <input name="ktp" type="file" class="form-control"/>
  228. </div>
  229. </div>
  230. <div class="form-group">
  231. <label><strong>Surat Izin Orang Tua</strong></label>
  232. <div class="input-group mb-3">
  233. <input name="siot" type="file" class="form-control"/>
  234. </div>
  235. </div>
  236. <div class="form-group">
  237. <label><strong>Surat Keterangan Sehat dari Dokter</strong></label>
  238. <div class="input-group mb-3">
  239. <input name="skd" type="file" class="form-control"/>
  240. </div>
  241. </div>
  242. <div class="form-group">
  243. <input class="btn btn-primary btn-block" type="submit" value="Submit" name="submit" id="submit">
  244. </div>
  245. </form>
  246. </div>
  247. </div>
  248. </div>
  249. </body>
  250. </html>
  251. <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
  252. <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
  253. <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
Advertisement
Add Comment
Please, Sign In to add comment