2013-03-05 2 views
0

이미지 맵을 처리하는 중에 $_POST을 통해 좌표를 검색하려고하면 오류가 발생합니다. 나는 이유를 이해하지 못한다. 다음 form를 들어

:

<?php 
echo "Coordinates : {$_POST['coordinates_x']} and {$_POST['coordinates_y']} "; 

는이 스크립트는 coordinates_xcoordinates_y가 정의되지 말, 오류가 발생합니다 :

<form method='post' action='action_script.php'> 
    <input name='coordinates' type='image' src='./rabbits.jpg' /> 
</form> 

이가 action_script.php 스크립트입니다. 하지만 $_POST$_REQUEST으로 바꾸면 제대로 작동하고 좌표가 표시됩니다. $_POST을 사용할 때 오류가 발생하는 이유는 무엇입니까?

다음 스크립트 오류가 발생하지 않습니다 전체 코드 것을

<?php 
echo "Coordinates: {$_REQUEST['coordinates_x']} and {$_REQUEST['coordinates_y']}"; 
+0

당신은'method = "post"'가 있습니까? 양식에 텍스트 입력을 추가하고 제출하면 '$ _POST'에 표시됩니까? –

+0

'$ _POST [ 'coordinates']'를 사용합니다. 입력에 대한 이름이 coordinates_x가 아니기 때문에 그 말은 정의되지 않았습니다. –

+0

@ColinMorelli yes. 그것은 텍스트를 표시하지 않습니다 –

답변

0

인가를? 제출 버튼 등을 표시하지 않는 것 같습니다.

하지만 모든 것이 잘되었다고 가정하고, 아무 것도 생각지 말고, 임의의 연산자를 사용하여 게시 된 것이 있는지 실제로 확인하십시오. 지적처럼

$xCord = isset($_POST['coordinates_x']) ? $_POST['coordinates_x'] : false; 
$yCord = isset($_POST['coordinates_x']) ? $_POST['coordinates_x'] : false; 

그리고, 당신은 정말

$xCord = isset($_POST['coordinates']) ? $_POST['coordinates'] : false; 

같은 일을하고 그리고해야 그것은 당신이 다음이 데이터를 파괴하지 말아야 아래로 제거 할 수있는 무언가가 정말 있다면.

이제 실제로 게시되었는지 여부를 확인할 수 있습니다. 잘못된 것이라면 잘못된 것입니다.

지금 내가 양식이 약간 펑키 찾고, 의미는 다음 다시

echo "Coordinates: $xCord and $yCord"; 

하지만 에코 할 수 있습니다. 이 새로운 접근 방식을 시도하고 우리에게 전체 코드를 제공하십시오.