2009-10-15 4 views
8

Help!

나를 위해 일하는 AJAX 씨름에 어려움을 겪고 있습니다. 각 이미지 아래에 확인란이있는 페이지 넘김 갤러리가 있으며 사용자가 페이지 간을 이동하면 확인란 변수 값을 세션 변수에 저장해야하므로 언제든지 양식을 제출할 때 모든 페이지에 걸쳐 모든 확인 값이 포함됩니다.

내가이 jQuery 코드 사용하고 있습니다 : -

1

<?php 

    $_SESSION['saved'] = "true"; 

    foreach ($_POST as $key=>$value) { 
     if ($key !== "submit") { 
      $value = htmlentities(stripslashes(strip_tags($value))); 
      $_SESSION[$key] = $value; 
     } 
    } 

?> 

나는 두 가지 문제가 있습니다

$(document).ready(function() { 
    $(".gal-nav").click(function() { 
     $.post("form-data-holder.php", $("#gallery-form").serialize()); 
    }); 
}); 

양식 - 데이터 holder.php 파일은이 말한다) serialize() 함수에서 체크 상자 값을 어떻게 가져 옵니까? 나는 그 배열을 꺼내기 위해 value []와 같은 것을 더해야한다고 생각합니다. 그리고 $ _SESSION 변수로 배열을 저장할 수 없다면 각각을 별도의 세션 변수로 저장하는 것이 좋습니다.

2) 나는 그 중 어떤 것을 사용하기도 전에 $ _SESSION [ 'saved'] = "true"라고 덧붙였다. PHP 스크립트에 연결하고 AJAX 요청이 작동하는지 확인하기 위해 $ _SESSION 키와 값을 내 갤러리 페이지에 표시합니다. 그렇지 않습니다. 그 $ _SESSION [ 'saved']은 내가 페이지로 돌아 왔을 때 echo 된 $ _SESSION 변수 목록에 추가되지 않습니다.

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

답변

6

form-data-holder.php 파일에서 session_start()를 호출해야합니다.

ajax 호출을 할 때마다 원본 페이지에 설정된 변수를 인식하지 못하는 새롭고 신선한 페이지를 서버에서 요청하고 있습니다.

+0

죄송합니다. 세션이 이미 시작되어 갤러리를 보러 로그인해야합니다. – rhodesjason

+0

네,하지만 아약스 전화를 걸면 새로운 PHP 페이지가로드되기 때문에 새로 시작하기 때문에 전화를해야합니다. – jeroen

+0

흠, 확인해 보았습니다. 를 form-data-holder.php 파일의 상단으로 이동하십시오. 그 세션을 어떻게 든 다른 세션과 연관시켜야합니까? – rhodesjason

관련 문제