728x90

<form> 태그

- <form>태그는 사용자의 데이터를 서버로 전송해 줄 수 있는 기능의 태그이다.

- 입력양식의 모든 태그들은 반드시 <form>~ </form>사이에 기록되어져야 한다.

- <form>태그의 구조

   Action:  폼의 데이터를 처리해주는 화일명이 온다.
   enctype: 폼의 데이터를 전송 시 암호화 방법 지정
   method: 폼의 데이터를 전송하는 방법 지정(get,post)
   name: 폼의 이름, 자바스크립트에서 사용


<input type="submit" name="" value="전송">

- submit : 입력된 내용을 서버측으로 보냄


<input type="reset" name="" value="취소">

- reset : 입력된 내용을 공백으로 만듬



여러개의 체크 박스에서 $_POST 가져오기
체크박스 name뒤에 배열형태로 []를 붙여주면 된다.
여러개의 name 이 존재한다면 check_list[] 처럼 배열형태로 보내주면 받을 때도 배열형태로 받을 수 있다.


checkbox 부분에서 value 부분은 예시라서 for 문 또는 foreach 문으로 값을 넣어야 하는 것은 생략했다.


<script>
function checkForm(frm){
    var chkbox = frm['check_list[]'];
    var cnt = 0;

    for (var i = 0 ; i < chkbox.length; i++) {
        if (chkbox[i].checked) {
           cnt++;
        }
    }

    if(cnt == 0){
        alert('선택된 체크박스가 없습니다');
        return false;
    }

    document.frm.action = "delete.php";
    document.frm.submit();
}
</script>
<form name="frm" method="POST" action="javascript:checkForm(document.frm);">
    <input type="checkbox" name="check_list[]" value="<?=$R[$i]?>" />
    <input type="checkbox" name="check_list[]" value="<?=$R[$i]?>" />
    <input type="checkbox" name="check_list[]" value="<?=$R[$i]?>" />
</form>



=== delete.php ===

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['check_list'])){
    $flag = false;
    foreach($_POST['check_list'] as $item){
        $sql ="delete from test where item='".$item."'";
        if(!mysqli_query($dbconn,$sql)){
            die('Error:'.mysql_error());
        } else {
            $flag = true;
        }
    }

    if($flag == true){
        echo "<script>location.href='index.php';</script>";
    }
}
?>


블로그 이미지

Link2Me

,