gpt4 book ai didi

php - 通过 CMS 从表单存储内容时出现问题

转载 作者:行者123 更新时间:2023-11-30 23:40:50 25 4
gpt4 key购买 nike

我有一个名为 sales 的 MySQL 表,包含字段产品、数量和支付。

我正在使用类似 CMS 的系统,它具有自定义的表单处理方式和要使用的自定义表单域。

据我所知,给表单域的 id 用作要插入的表名。

我目前使用的表格如下:

<?php

include("../../include/session.php");
include("include/tables.php");
include("include/fields.php");

//if you need to ovveride the phpbmsTable class make sure to include the modules file
include("include/sales.php");

if(!isset($_GET["backurl"]))
$backurl = NULL;
else{
$backurl = $_GET["backurl"];
if(isset($_GET["refid"]))
$backurl .= "?refid=".$_GET["refid"];
}

$thetable = new sales($db, "tbld:490cf2d1-1c72-7b99-461d-b1b8e68553c4");
$therecord = $thetable->processAddEditPage();

if(isset($therecord["phpbmsStatus"]))
$statusmessage = $therecord["phpbmsStatus"];

$pageTitle = "Sales";


$phpbms->cssIncludes[] = "pages/menus.css";
$phpbms->jsIncludes[] = "modules/base/javascript/menu.js";

$theform = new phpbmsForm();

$theinput = new inputSmartSearch($db, "product", "Choose Product",$therecord["product"], "Choose Product", TRUE, NULL, NULL, TRUE, $required=true);
$theinput->setAttribute("class","important");
$theform->addField($theinput);

$theinput = new inputField("quantity",$therecord["quantity"],"Quantity",true, NULL, 1);
$theinput->setAttribute("class","important");
$theform->addField($theinput);

$theinput = new inputCheckbox("paid", $therecord["paid"], "Paid");
$theform->addField($theinput);

$thetable->getCustomFieldInfo();
$theform->prepCustomFields($db, $thetable->customFieldsQueryResult, $therecord);
$theform->jsMerge();

include("header.php");

?><div class="bodyline">

<?php $theform->startForm($pageTitle)?>

<div id="leftSideDiv">
<fieldset>
<legend><label for="S">Sales</label></legend>

<p class="big"><?php $theform->showField("product"); ?></p>
<p class="big"><?php $theform->showField("quantity"); ?></p>
<p class="big"><?php $theform->showField("paid"); ?></p>

</fieldset>
</div>
<?php

$theform->showGeneralInfo($phpbms,$therecord);
$theform->endForm();
?>
</div>
<?php include("footer.php");?>

quantity 和 paid 的内容毫无问题地存储在表中,但是 product 却没有,据我所知,因为在某些时候 'ds-' 被添加到 id 前面。我想这是因为我使用了不同的输入字段(我需要使用)。

这是尝试保存表单后 POST 的结果:

数组 ( [product] => 75c72a6a-83d9-11df-951a-fa9c1ec271f2 [ds-product] => Corona [数量] => 2 [paid] => 0 [createdby] => [creationdate] => [命令] => 保存 [修改者] => [取消点击] => 0 [修改日期] => [uuid] => :4402add3-b884-43e6-04ad-c76d92ee465b [id] => )

相反,UUID 被插入到产品中,而不是产品名称。

请问有什么解决办法吗?我不认为我可以直接访问更改查询代码,并且我无法将产品重命名为 ds-product,因为我无法更改查询以访问带连字符的字段名。

可以覆盖类,如上所述,我包含了基于样本 here 的 sales.php。 .

是否以某种方式重写 insertRecord 函数的解决方案,如果是,如何重写?或者有更简单的解决方案吗?

最佳答案

您可以更改数组中项目的值,这样您就可以始终将产品项目覆盖为您想要进入该字段的值。虽然我会说,如果该字段看起来需要一个 id 值,而您设置为一个字符串,那么这将不会很好地工作。

关于php - 通过 CMS 从表单存储内容时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3168893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com