【发布时间】:2017-03-09 07:02:54
【问题描述】:
按照网上的一些例子,我设法制作了一个表格来插入用户。
我将 isset 用于提交功能。当表单完全填写并提交时,结果将回显以显示状态消息。不幸的是,表单根本不起作用,当点击提交按钮时,表单被重置。
由于我使用的是存储过程,ReturnStatus和ReturnMessage都会根据表单的输入值自动调用。
这是代码。
<?php
include "config.php";
if(isset($_POST['sub']))
{
ini_set('error_reporting', E_ALL);
error_reporting(-1);
$RegType="D";
$UserId=$_POST["UserId"];
$UserPwd=$_POST["UserPwd"];
$UserNm=$_POST["UserNm"];
$stmt=odbc_exec($conn,"CALL UserInsert ('".$RegType."','UserId','UserPwd','UserNm')");
if (!$stmt) {
"Error : " . odbc_errormsg();
}
if (odbc_fetch_row($stmt)) {
$ReturnStatus=odbc_result($stmt,'ReturnStatus');
$ReturnMessage=odbc_result($stmt,'ReturnMessage');
}
if($ReturnStatus==1) {
echo $ReturnMessage=odbc_result($stmt,'ReturnMessage');
}
}
?>
<table>
<form class="form" method="post">
<tr>
<td class = "nama">Nama Pengguna<span class="required"> * </span></td>
<td><input type="text" name="UserNm" value=""></td>
</tr>
<tr>
<td class = "userid">Id Pengguna<span class="required"> * </span></td>
<td><input type="text" name="UserId" value=""></td>
</tr>
<tr>
<td class = "password">Kata Laluan<span class="required"> * </span></td>
<td><input type="password" name="UserPwd" value=""></td>
</tr>
<tr><td>
<input type="submit" value="Save">
</td></tr>
</table>
我确定我错过了什么。请指导我。谢谢。
更新
修复了以下问题:
- Fix the name of the button
- PHP error reporting
- Isset
【问题讨论】:
-
您需要在提交按钮中将
name属性设置为submit -
为您的按钮添加一个名称,您正在检查一个名为
submit的 POST,但您的表单中没有名为submit的元素 -
有两种解决方案,
1 - add name attribute for button input或2 - use if(count($_POST) > 0) -
错误,为什么在isset检查中使用
<form>? -
我的一个粗心的错误。添加按钮的
name后,表单被定向到一个空白页面。