채택완료

array post로 보내는방법 질문

Copy
print_r($test);

출력 : [0]=>hong,[1]=>kim

이런식인데

Copy
<form ~~>

1. <input type="hidden" name="name1" value="$test">

2. <input type="hidden" name="name1[]" value="$test">

 

</form>

$test는 array인데 이 array를 보내려면

name에 []를 붙여야하나요? 

그리고 value에 저런식으로 보내면 Array라는 글자 자체가 가버리던데

string으로 변환하고 보내야하나요?

받는쪽:

Copy
$_POST['name1];

$_POST['name1[]'];

만약 보내는쪽에서 []로 보낸다면 받는쪽에서도 name1[] 이렇게 받아야하나요?

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트
Copy
<form ~~>
1. <input type="hidden" name="name[]" value="$test">
2. <input type="hidden" name="name[]" value="$test"> 
</form>

로 보내시면

Copy
$arr = $_POST['name'];

var_dump($arr);

답변에 대한 댓글 2개

위에 form은 array만큼 hidden으로 보내야하나요?
form을 array만큼 보낸다는게 무슨 말인지 모르겠는데요.
form 내에서 input을 몇개든 name="name[]" 식으로 이름을 주면 $_POST['name'] 이렇게 배열로 전달 됩니다. 그냥 배열로 사용하시면 됩니다.

코드가 조금 이상한 부분이 있어 수정하려니 코멘트가 달리면 수정이 안되나보네요.
$test가 php에서 받은 변수인거 같으니
[code]
<form ~~>
<input type="hidden" name="name[]" value="<?php echo $test[0]?>">
<input type="hidden" name="name[]" value="<?php echo $test[1]?>">
</form>
[/code]
이런 식으로 되겠네요.

질문을 다시 읽어 보니 A.php에서 B.php로 배열값($test)을 넘기고 싶으신 모양이네요.(아무런 처리 없이 그대로)

여러 방법이 있는데.

1.질문에서 처럼 html input 만들어서 보내기

2.serialize/unserialize 를 이용해서 배열이 아닌 변수로 만들어서 보내기

3.implode/explode 를 이용해서 보내기 

4.세션에 담아 보내기

5.쿠키에 담아 보내기

정도 되겠네요. 

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