Advertisement
fakhrulramadhan

proses_ubah.php

Jul 25th, 2017
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.47 KB | None | 0 0
  1. <?php
  2. // Include / load file koneksi.php
  3. include "koneksi.php";
  4.  
  5. // Ambil data yang dikirim dari form
  6. $nis = $_POST['nis']; // Ambil data nis dan masukkan ke variabel nis
  7. $nama = $_POST['nama']; // Ambil data nama dan masukkan ke variabel nama
  8. $jenis_kelamin = $_POST['jenis_kelamin']; // Ambil data jenis_kelamin dan masukkan ke variabel jenis_kelamin
  9. $telp = $_POST['telp']; // Ambil data telp dan masukkan ke variabel telp
  10. $alamat = $_POST['alamat']; // Ambil data alamat dan masukkan ke variabel alamat
  11.  
  12. // Cek apakah user ingin mengubah fotonya atau tidak
  13. if(isset($_POST['ubah_foto'])){ // Jika user menceklis checkbox yang ada di form ubah, lakukan :
  14.     // Ambil data foto yang dipilih dari form
  15.     $foto = $_FILES['foto']['name'];
  16.     $tmp = $_FILES['foto']['tmp_name'];
  17.    
  18.     // Rename nama fotonya dengan menambahkan tanggal dan jam upload
  19.     $fotobaru = date('dmYHis').$foto;
  20.    
  21.     // Set path folder tempat menyimpan fotonya
  22.     $path = "foto/".$fotobaru;
  23.  
  24.     // Proses upload
  25.     // Cek apakah gambar berhasil diupload atau tidak
  26.     if(move_uploaded_file($tmp, $path)){ // Jika proses upload sukses
  27.         // Query untuk menampilkan data siswa berdasarkan NIS yang dikirim
  28.         $sqlcek = $pdo->prepare("SELECT * FROM siswa WHERE nis=:nis");
  29.         $sqlcek->bindParam(':nis', $nis);
  30.         $sqlcek->execute(); // Eksekusi / Jalankan query
  31.         $data = $sqlcek->fetch(); // Ambil data dari hasil eksekusi $sqlcek
  32.        
  33.         // Cek apakah file foto sebelumnya ada di folder foto
  34.         if(is_file("foto/".$data['foto'])) // Jika foto ada
  35.             unlink("foto/".$data['foto']); // Hapus file foto sebelumnya yang ada di folder foto
  36.        
  37.         // Proses ubah ke Database
  38.         $sql = $pdo->prepare("UPDATE siswa SET nama=:nama, jenis_kelamin=:jk, telp=:telp, alamat=:alamat, foto=:foto WHERE nis=:nis");
  39.         $sql->bindParam(':nama', $nama);
  40.         $sql->bindParam(':jk', $jenis_kelamin);
  41.         $sql->bindParam(':telp', $telp);
  42.         $sql->bindParam(':alamat', $alamat);
  43.         $sql->bindParam(':foto', $fotobaru);
  44.         $sql->bindParam(':nis', $nis);
  45.         $sql->execute(); // Eksekusi query insert
  46.        
  47.         // Load ulang view.php agar data diubah tadi bisa terubah di tabel pada view.php
  48.         ob_start();
  49.         include "view.php";
  50.         $html = ob_get_contents();
  51.         ob_end_clean();
  52.        
  53.         // Buat variabel reponse yang nantinya akan diambil pada proses ajax ketika sukses
  54.         $response = array(
  55.             'status'=>'sukses', // Set status
  56.             'pesan'=>'Data berhasil diubah', // Set pesan
  57.             'html'=>$html // Set html
  58.         );
  59.     }else{ // Jika proses upload gagal
  60.         $response = array(
  61.             'status'=>'gagal', // Set status
  62.             'pesan'=>'Gambar gagal untuk diupload', // Set pesan
  63.         );
  64.     }
  65. }else{ // Jika user tidak menceklis checkbox yang ada di form, lakukan :
  66.     // Proses ubah ke Database
  67.     $sql = $pdo->prepare("UPDATE siswa SET nama=:nama, jenis_kelamin=:jk, telp=:telp, alamat=:alamat WHERE nis=:nis");
  68.     $sql->bindParam(':nama', $nama);
  69.     $sql->bindParam(':jk', $jenis_kelamin);
  70.     $sql->bindParam(':telp', $telp);
  71.     $sql->bindParam(':alamat', $alamat);
  72.     $sql->bindParam(':nis', $nis);
  73.     $sql->execute(); // Eksekusi query insert
  74.    
  75.     // Load ulang view.php agar data diubah tadi bisa terubah di tabel pada view.php
  76.     ob_start();
  77.     include "view.php";
  78.     $html = ob_get_contents();
  79.     ob_end_clean();
  80.    
  81.     // Buat variabel reponse yang nantinya akan diambil pada proses ajax ketika sukses
  82.     $response = array(
  83.         'status'=>'sukses', // Set status
  84.         'pesan'=>'Data berhasil diubah', // Set pesan
  85.         'html'=>$html // Set html
  86.     );
  87. }
  88.  
  89. echo json_encode($response); // konversi variabel response menjadi JSON
  90. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement