문제

buy.php양식 당신이 입력 항목,수량,운송 데이터,등등.

를 클릭할 때 제출 버튼, 게시 돌아 buy.php ($_SERVER['PHP_SELF']) 가 어떤 데이터 유효성 검사를 수행합니다.

이 있는 경우는 필드가 없거나 오류가,그들은 강조됩니다.모든 것이 올바른 경우,저장 $_POST 데이터 $_SESSION 변수,다음 header('Location: check.php'), 내가 데이터를 표시합니다 그래서 구매자가 확인할 수 있는 정보나 마지막 시간 전에 실제로 구입.

이제,언제 어디서나 스 check.php 고 다시 버튼을 누르면 buy.php 그래서 내가 물건을 변경할 수 있습 브라우저 묻고 싶은 경우 다시 보내 POST data.난을 피하려고 노력하는 것.

사람이 어떤 좋은 조언이나 좋은 사례에 대한 PHP 다양한 검증?

또한,if I had n 페이지에 대한 사용자를 채우기 buy.php, buy2.php, ... buyn.php 기 check.php 을 것 같은 아이디어가 여전히 유효한가?

도움이 되었습니까?

해결책

당신이 할 수 있는 리디렉션 buy.php 후 절약하여 세션 객체는 다음 서버로 리디렉션 check.php 그는 것을 의미를 클릭할 때,다시 그들은 다시 얻을 요청하지 않은 POST 요청

다른 팁

예.동의합니다.제가 항상 수행 redir 텔에서 마지막 게시물을 클릭하면 다시 그들에게 반송하지 않고 다시는 오류 또는 재 submissions.그것은 또한 피할 수 합병증이 있습니다.u 상에 태그 redir 링크된 페이지 ?m&m (예:: page.php?m 다)및 이에 최고의 페이지:(사용 elseif 후가)

if (isset($_GET['m'])) {
  echo 'order placed.';
}
else {
  //...
}

당신은 모든 것을 할 수 있습니다 한 페이지에 너무입니다.단지의 이름을 제출 버튼 submit1, submit2, 처럼:(곰 마음에 이미지를 사용하는 경우를 제출,그것은 $_POST['submit1_x'] :)

if (isset($_POST[submit1]) {
  //validate + save session data from form1
  //display form 2
} else if(isset($_POST[submit2])) {
  //validate + save session data from form2
  //display form 3
} else {
  //display first form
  //<input type="submit" name="submit1" value="Continue">
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top