제목 | Form-post으로 값을 보내서 파일 삭제를 하는데요. 취소를 눌러도 삭제가 됩니다. | ||
---|---|---|---|
글쓴이 | 룰루쭈쭈 | 작성시각 | 2015/10/17 11:19:31 |
|
|||
//View 파일 <!-- begin panel --> <div class="panel panel-inverse"> <div class="panel-heading"> <h4 class="panel-title"><?php echo lang('fileshow')?></h4> </div> <div class="panel-body"> <?php $default_dir = "./uploads/"; if (!$dh = @opendir($default_dir)) { return false; } echo "<table class=\"table\">"; echo "<thead>"; echo "<tr>"; echo "<th>"; echo "Number"; echo "</th>"; echo "<th>"; echo "File name"; echo "</th>"; echo "<th>"; echo "Time"; echo "</th>"; echo "<th>"; echo "Size"; echo "</th>"; echo "<th>"; echo "Update"; echo "</th>"; echo "<th>"; echo "Delete"; echo "</th>"; echo "</tr>"; echo "</thead>"; echo ("<tbody>"); $count = -2; while (($file = readdir($dh)) !== false) { $count++; if ($file == "." || $file == "..") continue; // . 과 .. 디렉토리는 무시 echo ("<tr>"); echo ("<td>"); echo ("$count"); echo ("</td>"); echo ("<td>"); echo ("$file"); // echo nl2br("$file\n"); echo ("</td>"); echo ("<td>"); echo date('Y-m-d H:i:s', filemtime("./uploads/$file")); echo ("</td>"); // $filename = '$file'; echo ("<td>"); // echo sizeof($file); echo filesize("./uploads/$file").' byte'; // echo $filename . ': ' . filesize($filename) . ' bytes'; echo ("</td>"); echo ("<td>"); echo "<button class=\"btn btn-warning m-r-5 m-b-5\">Update</button>"; echo ("</td>"); echo ("<td>"); echo ("<form id=\"form1\" name=\"form1\" method=\"post\" action=\"do_delete\" >"); //echo ("<form id=\"form1\" name=\"form1\" method=\"post\" action=\"do_delete\" onsubmit=\"return false\">"); //echo ("<form method=\"post\" action=\"\">"); // 모달을 켜고 끄는 버튼 //echo "<button class=\"btn btn-danger delete\" data-target=\"#layerpop\" data-toggle=\"modal\" value=\"./uploads/$file\" name=\"filelocation\" onclick=\"button_event();\">Delete</button>"; //echo "<input type=\"button\" value=\"삭제하기\" value=\"./uploads/$file\" name=\"filelocation\" onclick=\"button_event();\" >"; echo "<button class=\"btn btn-danger m-r-5 m-b-5\" id=\"filelocation\" value=\"./uploads/$file\" name=\"filelocation\" onclick=\"button_event();\" >Delete</button>"; //echo "<button class=\"btn btn-danger delete\" value=\"./uploads/$file\" name=\"filelocation\" onclick=\"button_event();\" >Delete</button>"; echo "</form>"; echo ("</td>"); echo ("</tr>"); // echo "<INPUT type="checkbox" name="chk[]" value="">"; } echo ("</tbody>"); echo "</table>"; closedir($dh); ?> </div> </div> <!-- end row --> <!-- end panel --> </div> <script type="text/javascript"> $(document).ready(function() { // UI init App.init(); }); function button_event(){ if (confirm("정말 삭제하시겠습니까??") == true){ //확인 //document.form.submit(); }else{ //취소 document.form1.filelocation.value="none"; // document.form1.filelocation.value="none"; //document.form1.filelocation.innerHTML="none"; return; } } </script> //Controller 파일 <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Update extends CI_Controller { function __construct() { parent::__construct(); $this->load->helper(array('form', 'url')); $currentSession = $this -> session; if (!$currentSession->userdata['user']) { // 세션에 사용자 정보 없을시 로그인 페이지로 이동 header("Location: " . '/login'); } else { // 세션에 권한 없을시 이전페이지로 이동 $user = $currentSession->userdata['user']; if ($user['role_system_update'] != 'Y') { redirect_back(); } } } public function index() { header("Location: " . '/update/upload'); } public function upload() { // 세션에서 사용자 정보 가져오기 $data['user'] = $this->session->userdata('user'); $this->load->view('update/upload_form', $data); } public function do_upload() { $config['upload_path'] = './uploads/'; //$config['allowed_types'] = 'gif|jpg|png|gz|tar|tgz'; $config['allowed_types'] = '*'; $this->load->library('upload', $config); if ( ! $this->upload->do_upload()) { $data['error'] = array('error' => $this->upload->display_errors()); $data['user'] = $this->session->userdata('user'); $this->load->view('update/upload_form', $data); } else { $data = array('upload_data' => $this->upload->data()); $data['user'] = $this->session->userdata('user'); $this->load->view('update/upload_success', $data); } } public function do_delete() { $file_loc = $this -> input -> post('filelocation'); $data['user'] = $this->session->userdata('user'); if($file_loc=="none"){ $this->load->view('update/upload_form', $data); } else { unlink($file_loc); $this->load->view('update/upload_form', $data); } } } 1. 알림 확인/ 취소 에서 취소를 선택해서 submit이 안되고, value 값을 none으로 주었는데도 파일이 삭제가 실행이 되어서 삭제가 됩니다. 어떤 문제일가요? 그리고 echo ("<form id=\"form1\" name=\"form1\" method=\"post\" action=\"do_delete\" >"); // 모달을 켜고 끄는 버튼 //echo "<button class=\"btn btn-danger delete\" data-target=\"#layerpop\" data-toggle=\"modal\" value=\"./uploads/$file\" name=\"filelocation\" onclick=\"button_event();\">Delete</button>"; echo "<button class=\"btn btn-danger m-r-5 m-b-5\" id=\"filelocation\" value=\"./uploads/$file\" name=\"filelocation\" onclick=\"button_event();\" >Delete</button>"; echo "</form>"; 2. 원래 여기서 모달창을 오픈 할려고했는데 form 안에 modal창 키는 버튼을 넣으니 모달창이 켜지자마자 리로드 되어버립니다. form 문안에서 뺴니깐 또 되더라구요 이건 무슨 문제일까요? |
|||
다음글 | mysql 한글 인서트 시 한글만 빼고 들어갑니다 (2) | ||
이전글 | 정규식 질문입니다. (1) | ||
닉
/
2015/10/19 10:41:54 /
추천
0
1.
요렇게 바꿔보시면 될거같아요. 버튼은 클릭하면 기본적으로 폼 서브밋이 되는데 리턴펄스를 넣어서 서브밋 되는걸 막아주시면 될거 같습니다.
|
룰루쭈쭈
/
2015/10/22 09:14:15 /
추천
0
감사합니다 !
바꾸고 확인누르니 안되고 취소 누르니 삭제되길래 밑에 이벤트함수에서 확인쪽에 서브밋 집어넣고, else에는 없게끔했더니 정상적으로 됩니다.ㅎ 고맙습니다. |