2011-02-09 2 views
2

투표 시스템으로 사이트를 운영하고 있습니다. 내가 원하는 것은 사용자가 로그인하지 않은 경우 (즉, 세션이 존재하지 않는 경우) 모든 입력 버튼 (투표 기능)을 비활성화하는 것입니다. 페이지 상단의 PHP로 체크를 한 다음 입력 버튼을 허용/금지하는 방법은 무엇입니까? CSS 또는 jQuery를 사용합니까?PHP 세션이 없으면 페이지의 모든 입력 버튼을 비활성화하십시오.

+0

나는 세션 관리를 위해 지금하고있는 일과 그 버튼을 출력하는 방법에 전적으로 달려 있다고 말하고 싶습니다. 어쩌면 몇 가지 코드를 보여줄 수 있습니다. –

답변

3

어딘가에 :

<?php if(isset($_SESSION['logged'])): ?> 
    <form> voting form </form> 
<?php else: ?> 
    <p><a href="...">Sign in</a> to vote</p> 
<?php endif ?> 

또한 당신이 양식을 처리하기 전에 사용자가 로그인되어 있는지 여부를 확인해야합니다

if(!isset($_SESSION['some_key'])){ 
    $disable = true; 
}else{ 
    $disable = false; 
} 

그런 다음, HTML에서 :

<input type="radio" name="" value=""<?=($disable ? " disabled=\"disabled\"" : "");?>/> Vote 1 
<input type="radio" name="" value=""<?=($disable ? " disabled=\"disabled\"" : "");?>/> Vote 2 
<input type="radio" name="" value=""<?=($disable ? " disabled=\"disabled\"" : "");?>/> Vote 3 

하지만이 양식을 쉽게 편집하여 데이터를 계속 게시 할 수 있기 때문에 투표를하기 전에 투표를 수락하기 전에 서버 측에서 확인해야합니다.

0

올바른 HTML 코드를 동적으로 생성해야합니다. 이런 식으로 뭔가 : 세션이 설정되지 않은 경우 코드 검사에서

if (isset($_SESSION['logged']) && isset($_POST['vote'])) { 
    // process form 
} 
+0

hmmm..the는 약 30 개의 텍스트 스 니펫을 가지고 있으며 각 아래에 투표가 있고 투표 버튼이 아래로 있습니다. 활성화/비활성화 할 수있는 버튼입니다. – benhowdle89

1
 

<?php if(!isset($_SESSION['logged'])) 
{ 
    echo "<script language=\"javascript\">"; 
    echo "$(document).ready(function() 
    { 
     $('input[type=submit]').each(function() { this.attr('disabled', 'disabled') }); 
    });</script>" 

} 
?> 
 
관련 문제