반응형
말랑Cow
IT
말랑Cow
전체 방문자
오늘
어제
  • 분류 전체보기 (165)
    • Linux (33)
    • Windows (6)
    • Network (7)
    • Hardware (10)
    • Zabbix (13)
    • python (9)
    • script (0)
    • docker (16)
    • NAS (1)
    • DB (3)
    • php (33)
    • jQuery (1)
    • 정보보안기사 (0)
    • Ajax (1)
    • Javascript (21)
    • DELL (0)
    • HPE (0)
    • Secui (0)
    • AWS (2)
    • Elastic (0)
    • 보안 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • php 객체
  • 네트워크
  • ZABBIX
  • 도커
  • Shell
  • 모니터링
  • 리눅스
  • bash
  • jQuery
  • Python
  • 자빅스
  • Linux
  • docker
  • php 클래스
  • JavaScript
  • 서버
  • CentOS
  • php
  • 파이썬
  • 자바스크립트
hELLO · Designed By 정상우.
말랑Cow

IT

[HTML Form을 통한 데이터 전송] input 태그
php

[HTML Form을 통한 데이터 전송] input 태그

2021. 8. 28. 00:00
반응형

HTML의 input 태그는 입력부분과 전송기능을 제공해주는 태그입니다.

type="" 속성을 통해 입력하는 내용이 어떤 정보인지를 지정 가능합니다.

 

보통의 사용법은 이렇습니다.

<input type="유형" name="속성" value="데이터">

 

1. hidden 속성으로 데이터 전송

 

hidden 속성은 화면에 입력부분이 출력되지는 않지만 데이터를 보낼 때 숨겨서 보낼 수 있습니다.

화면상 form에는 보이지 않지만, form을 서버로 전송할 때 함께 전송되는 요소를 보내는데 사용합니다.

 

# hidden.php

<?php

$name = "sjh";
$id = "test";
$email = "test@test.com";

?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hidden</title>
</head>
<body>
    <h1>Hidden Example</h1>
    <form action="./post_result.php" method="post">
        <input type="hidden" name="name" value="<?php echo $name; ?>">
        <input type="hidden" name="id" value="<?php echo $id; ?>">
        <input type="hidden" name="email" value="<?php echo $email; ?>">
        <input type="submit" value="전송">
    </form>
</body>
</html>

input 태그를 사용했지만 속성이 hidden 이므로 브라우저에서 보이지 않습니다.

내부적으로만 데이터를 전달하는 기능으로 이해하면 됩니다.

 

hidden 속성은 사용자가 직접 입력할 수 없고 숨겨져 있기 때문에 미리 어떤 특정 값을 넣어두어 사용할 수 있도록 구현해야 합니다.

하지만 소스보기를 통해 hidden 속성의 데이터들이 노출될 수 있기에 보안상 사용해도 되는 정보만 넣토록 합니다.

 

2. 체크박스 태그로 데이터 전달

 

input 태그의 속상값 중에는 checkbox 라는 속성이 있는데 여러 항목 중 여러 값을 선택하여 데이터를 전달할 수 있습니다.

 

# checkbox.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CheckBox</title>
</head>
<body>
    <h1> EPL checkbox Example </h1>
    <form action="./checkbox_result.php" method="post">
        <input type="checkbox" name="EPL[]" value="맨유">맨유
        <input type="checkbox" name="EPL[]" value="첼시">첼시
        <input type="checkbox" name="EPL[]" value="토트넘">토트넘
        <input type="checkbox" name="EPL[]" value="리버풀">리버풀
        <br/>
        <input type="submit" value="전송">
    </form>
</body>
</html>
# checkbox_result.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>EPL Checkbox Example</title>
</head>
<body>
    <h1>EPL Checkbox Example</h1>
    <?php
    if(isset($_POST['EPL'])){
        echo "선택한 팀은<br/><br/>";
        for($i=0; $i<count($_POST['EPL']); $i++){
            $epl = $_POST['EPL'][$i];
            echo $epl."<br/>";
        }
        echo "<br/>입니다.";
    }else {
        echo "선택한 팀이 없습니다.";
    }
    ?>
</body>
</html>

isset() 함수는 배열이 설정되어 있는지를 확인하여 bool data를 리턴합니다.(true, false)

for 문을 이용하여 post로 전송받은 배열 EPL의 개수만큼 반복문을 실행합니다.

count()함수는 배열에 몇 개의 값이 있는지 개수를 체크합니다.

 

3. 라디오버튼 태그로 데이터 전달

 

radio는 여러 개의 항목 중에서 한 가지만 선택하여 데이터를 전달할 수 있습니다.

이미 선택된 항목이 있을 때는 다른 항목을 선택하면 기존 항목이 취소됩니다.

 

<input type="radio" name="속성값" value="데이터">

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Radio Example</title>
</head>
<body>
    <h1>Radio Example</h1>
    <h3> 토트넘에서 제일 좋아하는 선수는? </h3>
    <form action="./post_result.php" method="post">
    선수 :
    <input type="radio" name="name" value="son"> Heung-min Son
    <input type="radio" name="name" value="kane"> Harry Kane
    <input type="radio" name="name" value="bale"> Gareth Bale
    <input type="radio" name="name" value="lamela"> Erik Lamela
    <input type="submit" value="제출">
    <br/>
    </form>
</body>
</html>

name="" 값이 같으면 하나의 그룹으로 묶여 선택이 하나밖에 되지 않습니다.

반응형

'php' 카테고리의 다른 글

[php/mysql 연동] 웹서버 연결  (0) 2021.08.30
[HTML Form을 통한 데이터 전송] select 태그  (0) 2021.08.29
[HTML Form을 통한 데이터 전송] POST, GET  (0) 2021.08.27
[php 내장함수] 네트워크 관련 함수  (0) 2021.08.26
[php 내장함수] 파일 관련 함수  (0) 2021.08.25
    'php' 카테고리의 다른 글
    • [php/mysql 연동] 웹서버 연결
    • [HTML Form을 통한 데이터 전송] select 태그
    • [HTML Form을 통한 데이터 전송] POST, GET
    • [php 내장함수] 네트워크 관련 함수
    말랑Cow
    말랑Cow

    티스토리툴바