SMAMUGAPAY/app/Controllers/Siswa/Akun.php

69 lines
2.2 KiB
PHP

<?php
namespace App\Controllers\Siswa;
use CodeIgniter\Controller;
use App\Models\Siswa_model;
class Akun extends BaseController
{
public function index()
{
// Ambil id_siswa dari session
$id_siswa = session()->get('id_siswa');
// Jika session id_siswa tidak ada, redirect ke login
if (!$id_siswa) {
return redirect()->to(base_url('signin'))->with('error', 'Silakan login terlebih dahulu');
}
// Ambil data akun siswa dari database
$m_siswa = new Siswa_model();
$akun = $m_siswa->detail($id_siswa);
// Jika data akun tidak ditemukan
if (!$akun) {
return redirect()->to(base_url('signin'))->with('error', 'Data akun tidak ditemukan');
}
// Validasi form untuk update akun
if ($this->request->getMethod() === 'post' && $this->validate([
'nama_siswa' => 'required',
'email' => 'required|valid_email',
'telepon' => 'required',
'password' => 'permit_empty|min_length[6]|max_length[32]',
])) {
$data = [
'id_siswa' => $id_siswa,
'status_siswa' => $akun->status_siswa,
'nama_siswa' => $this->request->getVar('nama_siswa'),
'email' => $this->request->getVar('email'),
'username' => $this->request->getVar('email'),
'telepon' => $this->request->getVar('telepon'),
'password' => password_hash($this->request->getVar('password'), PASSWORD_BCRYPT),
'nama_ayah' => $this->request->getVar('nama_ayah') ?: $akun->nama_ayah,
'telepon_ayah' => $this->request->getVar('telepon_ayah') ?: $akun->telepon_ayah,
'nama_ibu' => $this->request->getVar('nama_ibu') ?: $akun->nama_ibu,
'telepon_ibu' => $this->request->getVar('telepon_ibu') ?: $akun->telepon_ibu,
'tanggal_update' => date('Y-m-d H:i:s'),
];
$m_siswa->update($id_siswa, $data);
return redirect()->to(base_url('siswa/akun'))->with('sukses', 'Akun berhasil diperbarui');
}
// Menampilkan halaman dengan data akun siswa
$data = [
'title' => 'Data Akun Siswa',
'description' => 'Halaman untuk melihat dan memperbarui data akun siswa',
'keywords' => 'Akun Siswa',
'siswa' => $akun, // Menyertakan data siswa
'content' => 'siswa/akun/index'
];
return view('siswa/layout/wrapper', $data); // Menampilkan halaman dengan layout
}
}