我正在开发一个自定义包,它接受表单输入,将其与表格进行比较,并在屏幕上显示相关信息,我有正确的传输和模式设置(我希望!我遵循了BobsGuides.com上的指南),我可以从表中读回没有问题。当我开始实现表单输入时,我的问题开始了。
基本上,我张贴的会话变量似乎永远不会被接收,所以isset永远不会计算为true,我只是一遍又一遍地看到表单。
我刚刚开始使用PHP,对于xPDO来说,我是一个完全的新手,所以我接受可能有很多我没有注意到的事情,但如果有人能给我指引正确的方向,我将非常感激。
<?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>发布于 2013-02-21 23:41:42
试一试,看看是否有帖子提交
if($_SERVER['REQUEST_METHOD'] == "POST") 和/或给你的表单一个隐藏的提交字段,如果你只是在提交按钮没有焦点的时候点击return,那么一些浏览器至少在一些浏览器中不会发布提交字段。对此也进行测试。
发布于 2013-02-21 23:27:02
您是否尝试使用http://rtfm.modx.com/display/ADDON/Rowboat来处理您的表?
https://stackoverflow.com/questions/15003834
复制相似问题