2013-07-27 2 views
-1

메인 페이지를 페이지 A라고 부릅니다. 페이지를 탐색 할 때 항목을 클릭하면 $ .post가 jQuery에서 실행됩니다. 그런 다음 끝내면 몇 개의 div를 숨기고 하나를 보여줍니다.

글쎄, div에는 내용을 부 풀리는 PHP 파일이 있습니다. 이것은로는 $ .post를 전송 같은 PHP 파일이며,이 파일은

그래서 페이지가 탐색 및 숨겨진 된 div를로드 할 때 그것은 또한 $ .post 데이터없이 PHP 파일 을로드 페이지 A.에 포함되어 있습니다 . 여기

는 일부 코드 내가 더

jQuery를 설명 할 것이다

$('#projects').click(function (e) { 
    $.trim(account_id); 
    $.post('core/functions/projects.php', { 
     account_id: account_id      
    }) 
    .done(function(data) {  
     $('#scd').hide(); 
     $('#icd').hide();  
     $('#pcd').fadeIn(1000);  
    }) 
    .fail(function(jqXHR, status, error) { 
     alert(error); 
    }); 

}); 

난에 #project 클릭하면 PHP

<?php 

if(empty($_POST) === false) { 

    $account_id = $_POST['account_id']; 

    try { 
     $query_projectInfo = $db->prepare(" 
      SELECT projects.account_id, 
        projects.project_name,     
        .... //more code, not relevant 
      FROM projects 
      WHERE account_id = ?       
     "); 

     $query_projectInfo->bindValue(1, $account_id, PDO::PARAM_STR); 
     $query_projectInfo->execute(); 
     $count = $query_projectInfo->rowCount(); 

     if ($count > 0) { 
      echo "<table class='contentTable'>"; 
      echo "<th class='content_th'>" . "Job #" . "</th>"; 
      echo "<th class='content_th'>" . "Project Name" . "</th>"; 
      ... //more code, not relevant    
      while ($row = $query_projectInfo->fetch(PDO::FETCH_ASSOC)) {     
       echo "<tr>"; 
       echo "<td class='content_td'>" . "<a href='#'>" . $row['account_id'] . "</a>" . "</td>"; 
       echo "<td class='content_td'>" . $row['project_name'] . "</td>"; 
       .... //more code, not relevant     
      } 
      echo "</table>";    
     }  
    } catch(PDOException $e) { 
     die($e->getMessage()); 
    } 
} else { 
    echo 'could not load projects table'; 
} 
?> 

이제 모두 내가 이제까지 볼 탐색 메뉴는 else의 '프로젝트를로드 할 수 없습니다'테이블입니다. 탐색 항목을 클릭하기 전에 PHP 파일이로드 되었기 때문입니다. 항목을 클릭하고 PHP 페이지에 "이미 친구를로드했습니다. 다시는하지 않습니다."와 같은 게시물을 보내는 것처럼 보입니다.

그럼 내 질문은, PHP 파일로드를 어떻게 대기시킬 수 있습니까? 나는 if else 상태가 그것을 할 것이라고 생각했다. 분명히 틀렸다.

P. 내가 account_id 변수에 값을 주면 게시물을 기다리는 대신 div가 테이블과 모든 정보와 함께 부 풀리게됩니다. 따라서 PHP 파일이 작동합니다. 그것은 단지 기다리지 않습니다. $

+2

'빈 ($ _ POST) ===는 isset'에 FALSE '($ _ POST)'. – Ohgodwhy

+0

@Ohgodwhy 신이, 나는 정말로 오늘 고투하고있다. 나는 그날을 쉬기를 바란다. 감사. 답변을 게시하면 받아 들일 것입니다. –

답변

2

이 체크는 결코 발동되지 않습니다. 당신은 단순히 $_POST에 데이터가 있는지 확인하고자하는 경우 empty($_POST) === false

바로 사용 isset($_POST)

+0

고맙습니다. –

+0

이상한. 나는 php dev에 익숙하다고 생각하지만, php에서 몇 가지 새로운 결함을 배울 예정이다. 'empty ($ _ POST)'가 OP마다'account_id' 항목을 포함한다면 왜 틀리지 않습니까? 나는 이상한 superglobal 행동을 추측하고 있나? –

+0

우, 또 다른 오류, 새로운 질문을위한 시간 ... 오늘 증오 =) –

관련 문제