2013-02-21 85 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