当前位置: 首页 > 知识库问答 >
问题:

提交表单后不设置值

金慈
2023-03-14

我正在尝试将用户的签入值插入数据库。为此,我调用函数并设置隐藏字段的值,然后尝试提交表单,但在表单提交后,隐藏字段的值被重置。

HTML代码

<form name="checkinout" action="logindetails.php" method="post" enctype="multipart/form-data" id="checkinout">
<table class="login-detaills" width="100%"><thead><th></th><th>Check In</th><th>Check Out</th><th>Hours</th></thead>
<tr><td></td><td></td><td></td><td></td></tr>
</table>
</fieldset>
<table>
<tr><td><input type="button"  onClick="call()" value="checkin"></button></td><td><input type="button" id="logout" onclick="call2();" value="Check Out" ></td></tr>
<tr><td><input type="hidden" id="checkin" name="checkin"></td><td><input type="hidden" id="checkout" name="checkout"></td></tr>
</table>
</form>

Javascript

function call(){
$('#checkin').val("checkin");
$('#checkinout').submit();
}
function call2(){
$('#checkout').val("checkout"); 
$('#checkinout').submit();
}

PHP代码

 if(isset($_POST['checkinout']) ){
    if(isset($_POST['checkin']) && $_POST['checkin']=='checkin'){
    $sql = "INSERT INTO attend (loginout,log_type,fk_userid) VALUES ('".TODAY_DATETIME."','I','".$_SEESION['user_id']."')";     
}elseif(isset($_POST['checkout']) && $_POST['checkout']=='checkout'){
    $sql = "INSERT INTO attend (loginout,log_type,fk_userid) VALUES ('".TODAY_DATETIME."','O','".$_SEESION['user_id']."')";     

}   
$stmt = $class->dbh->prepare($sql);
$stmt->execute();
$res = $stmt->fetch(PDO::FETCH_ASSOC);
}

首先,它不满足这个if(isset($\u POST['checkinout']))

共有3个答案

庞元青
2023-03-14

看起来您正在检查是否设置了post值$\u post['checkinout'],但我在任何地方都看不到该表单控件。我看到的唯一控件是:

<input type="button"  onClick="call()" value="checkin"></button>
<input type="button" id="logout" onclick="call2();" value="Check Out" >

<input type="hidden" id="checkin" >
<input type="hidden" id="checkout">

正如@Quentin所说,它们没有name属性,因此在任何情况下提交后都不会出现在$\u POST数组中,因此这是另一件必须解决的问题。

我认为您很可能假设,由于表单id是checkinout,因此在提交表单时将设置索引$\u POST['checkinout']。事实并非如此;只有表单控件(输入、选择、复选框、按钮等)将填充$\u POST中的数据,$\u POST数组中的键将设置为等于表单控件的name属性的值。

胡元忠
2023-03-14

代码中没有定义name属性。。要使用$\u POST['checkout']您必须拥有

施子民
2023-03-14

如果要填充$_POST['check out'],则需要具有name="check out"的元素。

 类似资料:
  • 问题内容: 嗨,我有一个表格,单击按钮后会更新。 项目更新后,不会删除表单字段中输入的信息。我想知道在udpat后可以在angularjs中添加什么以添加上述代码,以便它也可以清除。谢谢 问题答案: 您可以通过以下方式重置表单,但是如果要将模型对象绑定到输入,则还需要注意清除这些输入,即: 编辑 正如ToodoN-Mike所指出的,不要忘记设置 该标志以角度1.3引入。

  • 获取Form变量 通过Action的如下方法可以获取变量: GetSlice GetString GetInt GetBool GetFloat GetFile GetForm 自动映射 通常我们通过http.Request.Form来获得从用户中请求到服务器端的数据,这些数据一般都是采用name,value的形式提交的。xweb默认支持自动将这些变量映射到Action的成员中,并且这种映射支持子

  • 问题内容: 考虑: 提交表单时,如何确保下拉列表中的选定值保持选中状态?此表单位于WordPress(PHP)内部。 问题答案: 为了避免许多if-else结构,让JavaScript自动完成:

  • 表单提交成功后,页面不会重定向到感谢页面,在控制台上,我得到了错误响应,因为AMP4Email不支持重定向。请让我知道重定向功能何时工作。 我们正在使用 在Php中,我添加了重定向头

  • 审议本届会议: 这是一个在数据库中显示用户图像的图像,带有会话变量!然而,在我的网站中,我正在使用上传图像表单更改用户图片,用户图片正在更新,但旧图片将保留,直到我刷新页面…我希望避免刷新页面以解决此问题。。。。 请注意,我的目标是一个iframe,而不是重定向到我的操作。。。 这是我的上传表格,你可能不需要,但我会把它放在这里... 例如: 使现代化php示例 所以为了简单起见,我想在提交表单时

  • 问题内容: 我有一个表格。在该表格之外,我有一个按钮。一个简单的按钮,如下所示: 但是,当我单击它时,它会提交表单。这是代码: 该按钮应该做的就是编写一些JavaScript。但是,即使看起来像上面的代码一样,它也会提交表单。当我将标签按钮更改为跨度时,它可以完美工作。但不幸的是,它必须是一个按钮。有什么办法可以阻止该按钮提交表单?像例如 问题答案: 我认为这是HTML最令人讨厌的小特性。该按钮必