php - 提交后如何在JForm中获取项目POST的值?
问题描述
我目前正在 Joomla 中构建一个组件,我必须获取用户提交的表单字段的值。之后,我必须将值插入数据库。问题是我只能插入$inventory_id
但我无法获取表单字段的值。谢谢你。
<?php
$input = JFactory::getApplication()->input;
$formData = new JRegistry($input->get('jform', '', 'array'));
$name = $formData->get('inventory_name', 'test');
$leadtime = $formData->get('leadtime', null);
$max_lead = $formData->get('max_lead', null);
$daily_usage = $formData->get('daily_usage', null);
$max_usage = $formData->get('max_usage', null);
//formula to calculate reorder point
$lead_time_demand = $leadtime * $daily_usage;
$safety_stock = ($max_usage * $max_lead) - ($daily_usage * $leadtime);
$reorder_point = $lead_time_demand + $safety_stock;
if (empty($this->item->id)){ //For new added item
$inventory_id = $row['AUTO_INCREMENT'];
$sql_new = "INSERT INTO wer_reorder_point_list (inventory_id, inventory_name, reorder_point)
VALUES ('$inventory_id', '$name', '$reorder_point');";
mysqli_query($con,$sql_new);
}
?>
解决方案
你从来没有$row
在这段代码中声明过,那么$inventory_id = $row['AUTO_INCREMENT'];
应该怎么做呢?
如果您的数据库配置为 autoincrement inventory_id
,那么您不需要插入语句中的该列。所以你可以这样做:
$sql_new = "INSERT INTO wer_reorder_point_list (inventory_name, reorder_point)
VALUES ('$name', '$reorder_point');";
它会自动用下一个整数填充该列。
顺便说一句,您还应该使用准备好的语句,特别是因为您有用户输入,这可能是一个安全问题。
推荐阅读
- python - 如何在没有csv库python的情况下写入csv文件
- flutter-web - 如何让 Flutter 网页出现在 Google、Edge 和 Firefox 等搜索引擎上?
- python-3.x - 想要在数据框中创建新列,并从映射到其他重复值列的其他列追加最早和最新的日期时间
- json - 如何在 http Post 方法中获取单选按钮值并作为参数传递?
- javascript - 即使我使用的是 preventDefault,页面也会在表单提交时刷新
- powershell - 从 powershell 启动具有特定名称的应用程序
- ios - Flutter qr_bar_scanner 在 iOS 设备上的 App Store 错误上传应用程序时出现 UI 问题,它在模拟器中工作正常..?
- mysql - 将查询从 Postresql 转换为 Mysql
- c# - WPF ListViewTemplate InvalidCastException:“无法将“System.Windows.Controls.ListView”类型的对象转换为“System.Windows.DataTemplate”类型。
- python - py3270 - 错误:目标主体名称不正确