我想添加一个输入字段,例如用户可以在其中输入名称,并将其添加到数据库中的相关表中。但是我想为此创建一个新动作,到目前为止,我有基本输入字段和提交按钮,其中包含以下代码:
public function action_mynewaction() {
$this->auto_render = false;
if ($this->request->is_ajax())
{
$stmt = DB::query(Database::INSERT, 'INSERT INTO `mytable` (`name`) VALUES (:Name)');
$view = View :: factory('my/form/file_path');
echo $view->render();
}
}
这是我的视图文件,其中显示了表单
<table cellspacing="1" cellpadding="5" class="myclass noSort">
<thead>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="3"> </td>
</tr>
</tfoot>
<tbody>
<tr>
<form action="" method="post">
<td>Add Name</td>
<td><input type="text" name="Name"></td>
<td><input type="submit" value="Submit">
</form>
</tr>
</tbody>
</table>
但每当我加入
时$ stmt-&gt; param(':Name',$ _POST ['name']);
部分它根本没有显示输入/表单字段?
根本不显示表单/输入字段
public function action_mynewaction() {
$post = $this->request->post();
$stmt = DB::query(Database::INSERT, 'INSERT INTO `mytable` (`name`) VALUES (:Name)');
$stmt->param(':Name', $_POST['name']);
$stmt->execute();
$view = View :: factory('my/form/file_path');
echo $view->render();
}
答案 0 :(得分:2)
表单数据区分大小写。
在你的html中你有:name="Name"
并且你将检索$_POST['Name']
的数据,该数据表示“接收者”php页面与发送的页面不一致形式。
答案 1 :(得分:1)
请遵循名称约定,以便它可以将相应的元素绑定到浏览器获取方法。
public function action_mynewaction() {
$post = $this->request->post();
$stmt = DB::query(Database::INSERT, 'INSERT INTO `mytable` (`name`) VALUES (:Name)');
$stmt->param(':Name', $_POST['Name']); /* replace 'name' with 'Name' */
$stmt->execute();
$view = View :: factory('my/form/file_path');
echo $view->render();
}