public static function account_validate($username, $firstname, $lastname, $email) { $user = new Access(); if (empty($username)) { validate::$er_message = '<i style="color: red;">Username field cannot be left empty</i><br/>'; return false; } if (empty($email)) { validate::$er_message .= '<i style="color: red;">Email field cannot be left empty</i><br/>'; return false; } if (empty($firstname)) { return true; } if (strlen($firstname) > 10 || strlen($firstname) < 2) { validate::$er_message = '<i style="color: red;">First name must be greater the 2 characters and less the 10 characters long! </i><br/>'; return false; } if (is_numeric($firstname)) { validate::$er_message = '<i style="color: red;">First name must be letters only!</i><br/>'; return false; } if (empty($lastname)) { return true; } if (strlen($lastname) > 10 || strlen($lastname) < 2) { validate::$er_message = '<i style="color: red;">Last name must be greater the 2 characters and less the 10 characters long! </i><br/>'; return false; } if (is_numeric($lastname)) { validate::$er_message = '<i style="color: red;">Last name must be letters only!</i><br/>'; return false; } if (User::ifUserExist($email) == true && $email == $user->get_email($_SESSION['uid'])) { return true; } elseif (User::ifUserExist($email) == true && $email !== $user->get_email($_SESSION['uid'])) { validate::$er_message = '<i style="color: red;">Someone else is already using that email address!</i><br/>'; return false; } if (Validate::is_valid_email($email) == false) { validate::$er_message .= '<i style="color: red;">Please enter a valid email address!</i><br/>'; return false; } else { return true; } }
public function postIndex() { $this->params = $_POST; $validate = new Validate(); #validate no_ijazah $no_ijazah_exist = $this->pdo->select('SELECT COUNT(1) AS `count` FROM `siswa` WHERE `no_ijazah` = ?', [$this->params['no_ijazah']], false); $validate->isTrue('No Ijazah', $no_ijazah_exist['count'] == 0, 'No ijazah sudah terdaftar'); #validate nama $validate->is_length('Nama Lengkap', $this->params['nama'], 3); #validate Nama Ayah $validate->is_length('Nama Ayah', $this->params['nama_ayah'], 3); #validate Nama Ibu $validate->is_length('Nama Ibu', $this->params['nama_ibu'], 3); #validate Nama Wali $validate->is_length('Nama Wali', $this->params['nama_wali'], 3); #validate Alamat Lengkap Orang Tua $validate->is_length('Alamat Lengkap Orangtua', $this->params['alamat_orangtua'], 3); #validate Pekerjaan Ayah $validate->is_length('Pekerjaan Ayah', $this->params['pekerjaan_ayah'], 5); #validate tanggal lahir $validate->is_valid_tanggal_lahir('Tanggal Lahir', $this->params['tanggal_lahir']); $validate->is_valid_tanggal_lahir('Tanggal Lahir', $this->params['tanggal_lahir']); #validate jenis kelamin $validate->isTrue('Jenis Kelamin', !empty($this->params['jenis_kelamin']) && in_array($this->params['jenis_kelamin'], ['pria', 'wanita']), 'Pilihan jenis kelamin antara pria atau wanita'); #validate email $validate->is_valid_email('Email', $this->params['email']); $email_exist = $this->pdo->select('SELECT COUNT(1) AS `count` FROM `siswa` WHERE `email` = ?', [$this->params['email']], false); $validate->isTrue('Email', $email_exist['count'] == 0, 'Email sudah terdaftar'); #validate tanggal lahir $validate->is_valid_tanggal_lahir('Tanggal Lahir', $this->params['tanggal_lahir']); #validate no handphone $validate->is_valid_nohandphone('No Handphone', $this->params['no_handphone']); #Alamat $validate->is_length('Alamat', $this->params['alamat'], 10); #Agama $validate->is_valid_agama('Agama', $this->params['agama']); #Asal Sekolah $validate->is_length('Asal Sekolah', $this->params['asal_sekolah'], 10); #Tahun Lulus $validate->is_length('Tahun Lulus', $this->params['tahun_lulus_ijazah'], 4); #Username $validate->is_length('Username', $this->params['username'], 5); $username_exist = $this->pdo->select('SELECT COUNT(1) AS `count` FROM `siswa` WHERE `username` = ?', [$this->params['username']], false); $validate->isTrue('Username', $username_exist['count'] == 0, 'Username sudah terdaftar, silahkan coba gunakan username yang lain'); #Password $validate->is_length('Password', $this->params['password'], 5); #Confirm Password $validate->is_equal('Confirm Password', $this->params['confirm_password'], 'Password', $this->params['password']); #cek jika ada error validasi $this->params['error_message'] = $validate->show_errors(); #validasi error if (!empty($this->params['error_message'])) { $this->getIndex(); } else { // var_dump($this->params); die; #validasi sukses $this->pdo->insert('INSERT INTO `siswa` (`username`, `password`, `status`, `nama`, `alamat`, `no_ijazah`, `tanggal_lahir`, `jenis_kelamin`, `email`, `no_handphone`, `agama`, `tahun_lulus_ijazah`, `nama_ayah`, `nama_ibu`, `nama_wali`, `alamat_orangtua`, `pekerjaan_ayah`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', [$this->params['username'], hashpassword($this->params['password']), 'baru', $this->params['nama'], $this->params['alamat'], $this->params['no_ijazah'], date('Y-m-d', strtotime($this->params['tanggal_lahir'])), $this->params['jenis_kelamin'], $this->params['email'], $this->params['no_handphone'], $this->params['agama'], $this->params['tahun_lulus_ijazah'], $this->params['nama_ayah'], $this->params['nama_ibu'], $this->params['nama_wali'], $this->params['alamat_orangtua'], $this->params['pekerjaan_ayah']]); #set sukses msg to session flashdata $this->user_logged->set_flashdata('register_sukses', $validate->show_success_message('Anda sudah berhasil register, silahkan login')); #redirect ke halaman login redirect_to("login"); } }