2016-10-20 5 views
0

버튼을 클릭 할 때마다이 코드가 $ 클릭 수의 값을 1 씩 증가 시키려고 시도하지만 작동하지 않는 것 같습니다. 어떤 입력?버튼 클릭시 값이 1 씩 증가합니다.

<form action="" method="post"> 
<input type="submit" name="click_button" value="Click.."> 
</form> 
<?php 
$clicks = 0; 
echo $clicks; 

if (isset($_POST['click_button'])) { 
    $clicks = $clicks + (1); 
} 
+0

POST가 올바르게 사용되지 않습니다. PHP를 다른 페이지로 POST해야합니다. –

+1

'$ clicks'는 항상 '0'입니다. 당신의 임무에 따라,'$ clicks = 0;'. 사용 세션을 저장하게하려면 모든 사용자에게 전역 적으로 사용하고 있습니까? – chris85

+1

@EliSadoff 'POST'가 올바르게 사용되고 있습니다. 처리 논리가 올바르지 않습니다. 이것은 /에있는 페이지에 제출합니다. – chris85

답변

3

페이지를 새로 고침하자마자 클릭 수가 사라지기 때문입니다. $ _SESSION 수퍼 글로벌에 $ 클릭을 저장해야합니다. 그런 다음 페이지를 다시로드 할 때마다 $ 클릭의 가치가 사라지지 않습니다.

<form action="" method="post"> 
<input type="submit" name="click_button" value="Click.."> 
</form> 
<?php 
session_start(); 

if (isset($_POST['click_button'])) { 
    $_SESSION['clicks'] += 1 ; 
} else { 
    $_SESSION['clicks'] = 0; 
} 

echo($_SESSION['clicks']); 

참고 : 스크립트의 맨 앞에 session_start();을 포함시켜야합니다. 그렇지 않으면 스크립트가 $ _SESSION에 액세스 할 수 없습니다.

관련 문제