post로 조건에 따라 A 또는 B 페이지로 값을 유지한채 이동하려면
본문
<form name="frm" action = "survey_2page.php" method="post">
<input type="text" name="wr_1" value="<?=$wr_1;?>">
<input type="text" name="wr_2" value="<?=$wr_2;?>">
<input type="text" name="wr_3" value="<?=$wr_3;?>">
<input type="text" name="wr_4" value="<?=$wr_4;?>">
<input type="text" name="wr_5" value="<?=$wr_5;?>">
</form>
설문조사를 만들고 있는데요.
이런식으로 1page에서 2로, 2에서 3으로 넘어갑니다.
그냥 순서대로 넘기기만 하면 값을 그대로 잘 가져가는데 중간에 조건이 생깁니다.
만약 1page 에서 선택한 숫자가 7 이하이면 2page로,
8 이상이면 3page로 넘거가게 해야하는데요.
form에 php if문을 줘도 적용이 안되고 (form 밖에 줘도 안되고, action 안에서도 안되더라구요.),
goto_url이나 meta로 리다이렉팅을 주면 값이 초기화가 됩니다.
post로 조건에 따라 A 또는 B페이지로 이동하려면 어떻게 해야할까요..?
아니면 리다이렉팅이 되고도 값을 가져가는 방법이 따로 있을까요?
답변 3
이런건 스크립트로 처리해야합니다
form단에서 넘기기전에 값을 체크하고 이동할 페이지를 (action)선택해주는것이지요
<form name="frm" onsubmit="return survey_submit(this);" method="post">
function survey_submit(f){
if(f.wr_1.value <= 7) f.action = "2page.php";
else f.action = "3page.php";
return true;
}
<?php
if (조건) {
$url = "/2page.php";
} else {
$url = "/3page.php";
}
?>
<form name="frm" action = "<?php echo $url?>" method="post">
이런식으로 처리하면 되지않으실까요?
값을 브라우저에서 저장하는 거면 쿠키 값이나 세션으로 저장하면서 넘어 가도 됩니다.
로그인을 하고 값을 넘기는 거면 정말 편한 거고 그게 아니라면 아이피나 브라우저를 특징을 잡고 하는 편이 나을거 같습니다.
보안적으로 좋지 않다고 판단 하시면 디비에다가 첨에 insert 하고 나서 먼가 클릭 하면 update 문으로 처리 하는 식으로 하셔도 비슷하게 만들수 있을거 같습니다.