it-source

POST를 통해 같은 이름의 여러 입력을 php로 입력

criticalcode 2023. 1. 23. 10:08
반응형

POST를 통해 같은 이름의 여러 입력을 php로 입력

PHP에서 같은 이름의 입력을 여러 개 받아 접속할 수 있습니까?아이디어는 다음과 같습니다.저는 다른 정보와 함께 무제한의 물리 주소를 입력할 수 있는 양식을 가지고 있습니다.여러 엔트리에 걸쳐 각 필드에 동일한 이름을 붙이고 PHP에서 해당 데이터를 전송할 수 있습니까?

예를 들어, "xyz"라는 이름의 한 페이지에 5개의 입력이 있으며 PHP를 사용하여 액세스하고 싶다고 가정해 보겠습니다.제가 할 수 있는 일은 다음과 같습니다.

    $_POST['xyz'][0]

그렇다면, "xyz"라는 이름의 아이템을 루프하는 것만으로, 폼을 통해 무제한의 정보를 송신해, 서버에 의해서 처리할 수 있기 때문에, 제 생활이 10배 더 쉬워질 것입니다.

입력의 이름을 변경합니다.

<input name="xyz[]" value="Lorem" />
<input name="xyz[]" value="ipsum"  />
<input name="xyz[]" value="dolor" />
<input name="xyz[]" value="sit" />
<input name="xyz[]" value="amet" />

그 후, 다음과 같이 입력합니다.

$_POST['xyz'][0] == 'Lorem'
$_POST['xyz'][4] == 'amet'

그렇다면, "xyz"라는 이름의 아이템을 루프하는 것만으로, 폼을 통해 무제한의 정보를 송신해, 서버에 의해서 처리할 수 있기 때문에, 제 생활이 10배 더 쉬워질 것입니다.

이는 잘못된 해결책일 수 있습니다.물론 보내는 데이터에 따라 다릅니다.

html에서 이름 배열을 전달할 수 있습니다.

<input type="text" name="address[]" /> 

이렇게 하면 php는 주소 배열을 받습니다.

에릭의 답은 맞지만, 문제는 필드가 그룹화되지 않았다는 것입니다.여러 개의 거리와 도시가 함께 속해 있다고 가정해 보십시오.

<h1>First Address</h1>
<input name="street[]" value="Hauptstr" />
<input name="city[]" value="Berlin"  />

<h2>Second Address</h2>
<input name="street[]" value="Wallstreet" />
<input name="city[]" value="New York" />

그 결과는 다음과 같습니다.

$POST = [ 'street' => [ 'Hauptstr', 'Wallstreet'], 
          'city' => [ 'Berlin' , 'New York'] ];

주소별로 분류하려면 Eric이 댓글 섹션에서 언급한 내용을 사용하는 것이 좋습니다.

<h1>First Address</h1>
<input name="address[1][street]" value="Hauptstr" />
<input name="address[1][city]" value="Berlin"  />

<h2>Second Address</h2>
<input name="address[2][street]" value="Wallstreet" />
<input name="address[2][city]" value="New York" />

그 결과는 다음과 같습니다.

$POST = [ 'address' => [ 
                 1 => ['street' => 'Hauptstr', 'city' => 'Berlin'],
                 2 => ['street' => 'Wallstreet', 'city' => 'New York'],
              ]
        ]

다른 사용자가 이 정보를 찾을 경우 입력 이름에 키 값을 설정할 수 있습니다.이름 속성이 동일한 POSTing 양식 필드의 답변 덕분에 따옴표 없이 문자열 또는 정수를 상호 재생할 수 있습니다.

답변은 PHP에 대한 키 값이 반환되는 것을 개의치 않는 것으로 가정합니다만, 설정할 수 있습니다.name=[yourval](string 또는 int)를 지정하면 기존 레코드를 참조할 수 있습니다.

다음과 같은 경우가 있습니다.

echo "Welcome".$_POST['firstname'].$_POST['lastname'];

언급URL : https://stackoverflow.com/questions/7880619/multiple-inputs-with-same-name-through-post-in-php

반응형