2011-10-26 3 views
0

$ _POST를 수신 할 때 함수를 트리거하는 방법이 있습니까?POST 수신시 함수 트리거

나는 실행을 완료하고 다른 페이지를 호출하는 PHP 페이지가 있습니다. 다른 페이지는 특정 작업 및 POST 업데이트를이 페이지로 다시 수행합니다. POST가 수신 될 때 div를 업데이트 할 수 있어야합니다.

ajax 요청을 만들고 "success"콜백을 트리거로 사용하면 내 div 만 업데이트되므로 작동하지 않습니다. 문제는이 페이지가 불규칙한 간격으로 POST를 여러 번 수신하고 POST가 수신 될 때마다 작업을 트리거하는 방법이 필요하다는 것입니다.

나는 같은 것을 할 것입니다 일반적으로

답변

1

Ajax (jQuery를 사용)를 사용하고 상태가 변경되었는지 확인하기 위해 시간 간격을 설정하십시오. "다른 페이지"는 첫 번째 페이지로 다시 게시하지 말고 Ajax 요청에 의해이 새로운 정보/상태가 저장되고 주기적으로 검색되는 "요청 가능한"영역 (데이터베이스, 파일 등)에 데이터를 저장해야합니다.

0

, ... 다음

$var_posted=0;

if($_POST['var']){$var_posted=1;}

...

if($var_posted==1){some_function();}

+1

물론 누군가가 이전에 'register_globals'지시문을 켜는 또 다른 매우 나쁜 생각을 갖고 있다면 ** 매우 나쁜 생각이라고 언급해야합니다 ([더 자세히보기] (http://php.net/manual/ ko/security.globals.php) - 특히 오용의 예제 # 1, 실제로 CheeseConQueso의 대답과 거의 동일합니다.). – Tadeck

+0

흥미 롭다. 결코 알지 못했다 ... 고마워. – CheeseConQueso

0

를 사용하여 AJAX 때문에 당신은 할 수 없습니다 방아쇠 $_POST PHP에서 받기 나는 당신이 다만 필요로한다 이해한다

if (!empty($_POST)) { 
    // do whatever you mean by 'updating the div' 
} 

: 게시물을 받았습니다, 당신은 events

0
나는 다음과 같은 방법 (아래 PHP 코드는 단지 참고 인)에서이 작업을 수행 할

jQuery를 함께 할 수 있습니다 후 일부 <div> 내부 HTML을 먹고 그러나 AJAX가 더 적절할 수도 있고 더 유연 할 수도 있습니다.

AJAX 호출은 서버 부하가 적어서 JS 코드를 작성하는 방법에 따라 상자를 한 번 또는 여러 번 업데이트 할 수 있습니다.이 경우 jQuery를 사용하는 것이 좋습니다 (JS에 익숙하지 않은 경우).