2013-02-21 48 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 2013-02-21 15:47:12

回答

0

試試這個,看看是否出現了一個帖子提交

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

和/或給你的形式隱藏提交場,一些瀏覽器[至少一些用於]不張貼如果提交場當提交按鈕不在焦點時,您只需返回。爲此也進行測試。

+0

我遇到一些非常奇怪的行爲,當我提交表單時,沒有返回值,所以我在代碼片段中進行更改,重新加載頁面(不提交表單),並突然傳遞值。這就像CMS在傳遞價值之前一樣等待着。 – Funk247 2013-02-21 16:13:57

+0

片段是否緩存?如果不是'[[!snippet]]' – okyanet 2013-02-21 16:51:16

+0

YES!現在就開始工作了,非常感謝你們兩位:D不能相信我忘記了調用這個代碼片斷:D – Funk247 2013-02-21 17:41:21