채택완료

form 값 받을때 이런경우 어떻게 처리 하는게 나을까요?

2023-05-31 (수) 10:57:56 1,617

안녕하세요

게시판 리스트 각 행들에서 바로 input type=text를 넣어서 폼 submit 하는게 있는데요.

예를들어 행마다 for문 돌아갈때 input name을 name_$i 로 하여 각 행의 input 박스 name을 만들었습니다.

이런 경우 submit 을 하면 받을때는 어떻게 처리를 해야 할까요?

전송한 name_$i 가 예를들어 10행이어서 name_10 인경우

$name = $_POST['name_XX'];

이 포스트 변수에 처리를 어떻게 해주어야 할지 모르겠네요..ㅠㅠ

|

답변 6개 / 댓글 3개

채택된 답변
+20 포인트
2023-06-01 (목) 05:13:18

basic 스킨 list.skin.php에

선택? 삭제 기능을 검토해 보세요.

이름을 배열로 하면 간단 한데요

하여튼 아래처럼 하세요

for($i=0; $i<10; $i++){

$name = 'name_'.$i;

echo $_POST[$name];

echo "<br>';

}

2023-05-31 (수) 11:58:14

$name= ${name_.$i};

답변에 대한 댓글 1개

2023-05-31 (수) 12:47:30
답변 감사드립니다.

받을때 이렇게 표현하라는 말씀이신가요?

그대로 해도 작동이 안되는듯 합니다.ㅠㅜ

보통은 input name = test[] 와 같이,

배열로 처리를하고

뒷단에서

$_POST['test'] 배열을 받아서

루프처리하시면 됩니다.

// $i=10;

<input type="text" name="name[<?php echo $i?>]" value="홍길동" />

$name= $_POST['name'][10];

답변에 대한 댓글 1개

2023-05-31 (수) 11:25:36
답변 감사드립니다.

name[] 은 배열로 넘기라는 말씀이신가요?


$i=10 은 예를 들어서 말씀을 드린것이구요.

7번째 행에서 submit 할수도 , 15번째 행에서 submit 할수도 있거든요.

즉 name_7 , name_10 , name_15 를 넘길수도 있습니다.

이 경우 $name = $_POST['name'][$i] 이렇게 해도 되나요? ㅎ

그렇게 해주면 됩니다.

서버에 요청들어오는 값을 체크해보십시오.

var_dump($_POST);

그러면 여러개의 input 태그의 값들이 어떤 형태로 서버에 전송되는지를 한눈에 볼수 있습니다.

답변에 대한 댓글 1개

2023-05-31 (수) 11:21:47
답변 감사드립니다.

그렇게 해주면 된다는 말씀이 $name = $_POST['name_XX']; 이 부분 말씀하신게 아닐까 싶은데요.

XX 부분이 어떤 행에서 submit을 한지 알수 없어 뒤 XX를 어떻게 처리해야 할지...ㅠ

답변을 작성하려면 로그인이 필요합니다.