2011-08-25 3 views
0

조각 : 이것은 데이터가 데이터베이스에 삽입됩니다 페이지에 사용자 소요비활성화하려는 여러 링크에 대해 세션을 어떻게 설정합니까? file1.php의

<a href="file2.php?addid=1">Add this to DB</a> 

.

file2.php : 내가 가지고

$clicked = $_GET['addid']; 
$_SESSION['clicked'] = $clicked; 
// data gets inserted 
header("Location: file1.php?id=$clicked"); 

그러나 여러 페이지 (같은 : file1.php ID = 1 | file1.php ID = 2 | file1.php ID = 3 등???) . 세션 변수가 여러 개의 숫자를 처리 할 수 ​​있습니까? 이 일을 할 수있는 방법이 있습니까?

도움을 주시면 감사하겠습니다.

(PS :. 현재 내가 링크를 해제하려면 GET 방식을 사용하고,하지만 난 SESSION 더 안정 생각합니다) 이 (PPS는 :. 나는 투표 스크립트이 필요)

답변

1

하나의 세션 변수에 더 많은 데이터를 저장하려면 $_SESSION['checked']에 대해 복수를 보유 할 수있는 다차원 배열을 만들어야합니다. 이 같은 작업을 수행 할 수 있습니다

$clicked = (int)$_GET['addid']; 
$_SESSION['clicked'][$clicked] = true; 
// data gets inserted 
header("Location: file1.php?id=$clicked"); 

(또한, 당신이 $_GET['addid']을 살균해야 다음

는이 설정되어있는 경우, 당신은 array_key_exists을 사용할 수 있습니다 확인 :. 첫째

if(array_key_exists($clicked,$_SESSION['clicked'])){ 
    echo "this button should be disabled!"; 
} 
1

나는 확실하지 않다 바로 질문을 이해하지만 HTTP 요청을 통해 동일한 ID와 데이터의 배열을 보내는 방법을 경우 당신은 당신은 같은 값에 액세스 할 PHP 코드에서 URL

file.php?arr[]=val1&arr[]=val2&arr[]=val3 

이 구문을 사용할 수 있습니다 정규 배열

세션 변수가 여러 개의 숫자를 처리 할 수 ​​있습니까? 이 일을 할 수있는 방법이 있습니까?

세션 변수 배열

1

에게 $ _SESSION를 저장할 수있는이 세션 변수가 한 번에 하나 개의 값을 저장할 수있다 [ '클릭'].
2 차원 배열을 사용하여 여러 값을 처리하려는 경우

$ clicked = $ _GET [ 'addid'];

예 : $ _SESSION [ 'clicked'] [$ clicked];

1

concatinate 모든 쉼표로 쉼표를 $ var = 1,2,3,4와 같이 입력 한 다음 GET을 사용하여 전달하십시오.

그런 다음 해당 페이지에 쉼표로 구분하여 저장할 수 있습니다 배열 및 foreach 루프에 대한 배열을 당신을 위해 그것을 할 것입니다. 희망이 작동합니다.

관련 문제