모든 HTTP 요청은 서로 독립적입니다. 당신이 액세스 할 데이터가 포함 URL을 통해 전달
- 변수 (
$_GET
)
- 변수는 양식을 통해 게시 (
$_POST
)
- 쿠키
- 세션 데이터
당신 이후 $_GET
요청을 사용하는 것에 반대하고 두 링크가 같은 페이지로 이동하면 클릭 한 링크를 확인하는 다른 방법이 필요합니다. 양식을 사용하고 숨겨진 입력 형식을 통해 데이터를 전달하는 것이 좋습니다.
예 :
<form action='process.php' method='post'>
<input type='hidden' name='action' value='add' />
<button onClick='submit();'>
Add
</button>
</form>
<form action='process.php' method='post'>
<input type='hidden' name='action' value='delete' />
<button onClick='submit();'>
Delete
</button>
</form>
<style type='text/css'>
button {
background:none!important;
border:none;
padding:0!important;
border-bottom:1px solid #444;
cursor: pointer;
}
</style>
당신의 process.php
스크립트에서, 당신은 그때는 "추가"또는 "삭제"를 동일한 있는지 확인 $_POST['action']
에 대해 확인합니다. 내가 추가 한 스타일 태그는 링크처럼 버튼을 스타일링하는 방법에 대해 SO 사용자 adardesign
(*)에서 찾은 것입니다.
편집 :이 작업을 수행하기 위해 세션을 사용할 수 있는지 여부에 대한 질문에 대답하기 위해 가능한 것이지만 그만한 가치는 없을 것이라고 말합니다.
아마이 경로를 선택하지 않을 것입니다.하지만 사용자가 할 수있는 일은 사용자가 해당 링크 중 하나를 클릭 할 때 트리거되는 AJAX 요청입니다. AJAX 요청은 "add"또는 "delete"와 동일한 세션을 설정하는 PHP 스크립트를 호출합니다. success
콜백에서 사용자를 process.php 페이지로 리디렉션하면 $_SESSION
변수의 값을 확인할 수 있습니다. 다시 말하지만, 이렇게하는 것이 좋지는 않지만 은입니다.
링크 인 경우 협박 문자열 변수 사용을 고려해 보셨습니까? – Vector
숨겨진 입력을 사용하고 아마도'POST '와 함께 전달합니까? – loveNoHate
폼 (및 '$ _POST')을 사용하고 버튼의 링크를 변경하는 것이 좋습니다. – RST