2013-02-21 2 views
0

양식 입력을 허용하고 표와 비교하여 화면에 관련 정보를 표시하는 사용자 정의 패키지를 개발 중입니다. 전송 및 스키마 설정이 올바로 수행되었습니다. 나는 BobsGuides.com에서 가이드를 따랐다.) 나는 문제없이 테이블에서 다시 읽을 수있다. 양식 입력을 구현하기 시작할 때 문제가 발생했습니다.ModX 사용자 정의 패키지 xPDO 문이 올바르게 평가되지 않습니다.

기본적으로 내가 게시하는 세션 변수는 절대 수신되지 않는 것처럼 보이므로 isset은 사실로 평가되지 않으므로 양식을 반복해서 볼 수 있습니다.

나는 단지 PHP로 시작했고 xPDO에 관해서는 완전한 newb이다. 그래서 내가 알아 차리지 못한 몇 가지 것보다 더 많이 받아 들일 것이다. 그러나 누군가 내가 올바른 방향으로 나를 가리킬 수 있다면 매우 감사해야합니다.

<?php 
    $path = MODX_CORE_PATH . 'components/dataease/'; 
    var_dump($_POST['submit']); 
    var_dump($_POST['accNo']); 

    // get POST variable this is captured 
    $accNo = $_POST['accNo']; 
    $output = ''; 


// Check if form has been submitted 
if (isset($_POST['submit'])) { 
    // Get info from the database 
    $query = $modx->newQuery('accno'); 
    $query->select($modx->getSelectColumns('Dataease','Dataease','',array('*'))); 
    $query->where(array('accNumber:LIKE' => '$accNo')); 
    var_dump($query); 
    // Place it into a variable for output 
    if (!$query) { 
     return "Query failed"; 
    } else { 
    $dataease = $modx->getCollection('Dataease',$query); 
    // Count the returned rows, should only ever be 1 
    $output .= '<p>Total: '. count($dataease) . '</p>'; 

    // Show the found data 
    foreach($dataease as $sql) { 
     $fields = $sql->toArray(); 
     $output .= $modx->getChunk('showData', $fields); 
    } 
} 
return $output; 

} else { 
    // Get the form chunk 
    $form = $modx->getChunk('dataEntryForm'); 
    return $form; 

} 

이 내 양식 청크

<h2>Enter Account Number:</h2> 
<form method="POST" action=""> 
    <input name="accNo" type="text"/> 
    <input name="submit" type="submit" value="submit" /> 
</form> 
+0

스크립트 맨 위에'var_dump ($ _ POST);'를 추가하여 페이지에 무엇이 게시되고 있는지 확인하십시오. 또한 폼에'action' 애트리뷰트를 설정하지 않는다면, 그냥 버려두는 것이 낫다. – okyanet

답변

0

경우 생성 필드를 제출 게시하지 [적어도 일부에 사용되는 일부 브라우저가 있었는지 후 제출을 볼 수

if($_SERVER['REQUEST_METHOD'] == "POST") 

을이 사용 해보세요 및/또는 양식에게 제출 숨겨진 필드를 제공 제출 버튼에 초점이 맞지 않았 으면 막 돌아왔다. 그걸 시험해 봐.

+0

매우 이상한 동작이 발생합니다. 양식을 제출할 때 값이 반환되지 않으므로 코드 조각을 변경하고 양식을 제출하지 않고 페이지를 다시로드하면 갑자기 값이 전달됩니다. CMS가 값을 전달하기 전에 기다리는 것과 같습니다. – Funk247

+0

스 니펫이 캐시되어 있습니까? '[[! snippet]]' – okyanet

+0

YES라면 캐시되지 않도록 설정하십시오! 두 분 모두에게 감사드립니다. D 스 니펫을 캐시되지 않은 전화라고 깜빡 한 것을 믿을 수 없습니다. D – Funk247

관련 문제