Codeigniter에서 모든 스크립트를 view에서만 처리하는데는 한계가 있다.
작업을 하다보니 컨트롤러단에서 alert창을 띄울일 많아 alert helper를 만들어 보았다.
/helper/alert_helper.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
// alert만
function alert_only($msg, $exit=TRUE){
echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=\"utf-8\">";
echo "<script type='text/javascript' charset='utf-8'> alert( decodeURI('". $msg."')); </script>";
if($exit) exit;
}
// alert 띄우고 창닫기
function alert_close($msg){
echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=\"utf-8\">";
echo "<script type='text/javascript' charset='utf-8'> alert( decodeURI('".$msg."')); window.close(); </script>";
exit;
}
// alert 띄우고 이동
function alert_move($msg, $geturl, $exit=TRUE){
echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=\"utf-8\">";
echo "<script type='text/javascript' charset='utf-8'> alert( decodeURI('".$msg."'));location.href='".$geturl."'; </script>";
if($exit) exit;
}
// alert 띄우고 뒤로 이동
function alert_back($msg, $exit=TRUE){
echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=\"utf-8\">";
echo "<script type='text/javascript' charset='utf-8'> alert( decodeURI('".$msg."'));history.back();</script>";
if ($exit) exit;
}
컨트롤러에서 사용 예시
function check_post(){
$this->load->helper('alert');
$post_chk = $this->input->post('post_chk', TRUE);
if(!$post_chk){
alert_move('전송된 값이 없습니다.', '/error');
}else{
alert_close('확인되었습니다.');
// alert_back('뒤로 이동합니다');
}
}
alert_only는 컨트롤 단에서 모든 DOM이 로드 되지 않은 상태에서 exit되기 때문에 특수한 경우 아니면 사용을 추천하지 않는다. alert창을 띄우고 페이지 이동이 된다던가 (팝업)창을 닫는다던가 history.back을 하는 것이 좋다.
위의 alert helper 하나 미리 만들어 놓으면 어느 상황에서도 매우 유용하게 쓰일 수 있다.
keywords: codeigniter alert, codeigniter alert helper, CI alert, codeigniter 경고창, codeigniter 경고창 띄우기, codeigniter alert 띄우기, 코드이그나이터 alert
반응형
'PHP, Codeigniter' 카테고리의 다른 글
php stdclass to array, array to stdclass 배열<->객체 변환 (0) | 2021.04.02 |
---|---|
PHP 2차원 배열 값으로 키 찾기 array_search, array_column (2) | 2021.03.22 |
PHP 엑셀 숫자0 사라짐 방지 / PHP excel 문자열 (0) | 2021.03.22 |
Codeigniter htaccess https 적용 (0) | 2021.03.19 |
PHP preg_replace을 이용한 숫자만 추출, 특수문자 제거, 스크립트 제거 (0) | 2021.03.16 |
댓글