2013-03-21 1 views
0

나는 다음과 같은 링크가 내 웹 페이지에 <a href> 있습니다. I는 다음에 의해이를 참조 :

if(isset($_REQUEST['remove']))

이 설정되었는지 확인하고 상대 동작 (어레이로부터 값을 제거)를 수행한다. 내가 method='POST'로 설정되어 내 PHP 페이지에 다른 형태를 클릭 할 때

는하지만, 물가, $_GET 값은 URL 표시 줄에 남아 그래서 그러므로 어떤 이유로 다시을 을 전달하고 내 프로그램을 망치고있다.

의견이 있으십니까?

+0

페이지에서 두 번째 양식의 URL을 어떻게 생성합니까? – andrewsi

+0

오, 안돼, 난 단순히'

' – Chud37

답변

5

양식에 action= 소품이 누락 된 것 같습니다. 양식을 게시 할 위치를 지정하지 않으면 현재 URL에 쿼리 문자열이 포함됩니다. 현재 URL에

게시물 :

<form method="post"> 

게시물은 사용자가 지정한 URL에 : 위험한 작업 같은

<form method="post" action="mypage.php"> 
+0

나는 .. 이것을 몰랐다. 제가 처음으로 행동 부분을 빠뜨린 것은 이번이 처음입니다. – Chud37

+0

나는 할 것이다! 시간 제한. – Chud37

0

제거 소리. GET 요청에 대한 응답으로 수행해서는 안됩니다. 사용자가 페이지를 다시로드하거나, 실수로 다시 제거하거나, 검색 로봇이 해당 링크를 따라 가서 제거 할 수 있습니다 (물론 권한이 있다고 가정 할 경우). 심지어 브라우저도 프리 페치를 수행합니다. 프리 페치 된 링크 중 하나가 제거 링크 일 경우 어떻게됩니까?

그래서,

if (isset($_POST['remove'])) 

을 확인하고 폼에 제거 링크를 변환하는 것이 현명 할 것이다.

+0

나는 그 점을 고려하고 있었다. – Chud37