gpt4 book ai didi

php - 从大型表单发布数据并在发生错误后将数据保留在输入中的最佳方法

转载 作者:行者123 更新时间:2023-11-29 13:47:13 25 4
gpt4 key购买 nike

这是一个“最佳实践”/“最有效”的问题。我有一个大表格(20 多个字段)。将 post 表单写入一个大型 MySQL 表中。

不,我不能分解表格,不,我不能分解表格(它被用来保存测量值);由管理员销售代表使用。另外,我不想使用Javascript。

我知道我可以做到这一点:HTML

<form action="etc.php" method="post">    
<input type="text" name="neck" value="">
<input type="text" name="arm" value="">
<input type="text" name="back" value="">
<input type="text" name="chest" value="">
<input type="text" name="legs" value="">
<submit button>

PHP

<? 
$_POST['neck'];
$_POST['back'];
$_POST['arm'];
$_POST['chest'];
$_POST['legs'];
$postMeasurements = "INSERT INTO measurements (etc, etc, etc,) VALUES (etc, etc, etc) WHERE etc='etc'; query ($postMeasurements);
?>

但是有没有更快的方法呢?不必声明每个单独的帖子,只需运行一个循环来获取所有数据帖子并将其插入到表中。即使数据与表列的顺序相同,或者输入名称必须与表列名称相同,对我来说也没有问题;我只是厌倦了必须继续将所有这些 $_POST 变量写入。

第二个问题:发生错误时保存此数据的最佳方法是什么?就目前而言,我将所有内容保存在 $_SESSION 中(每个输入一个 session 变量),然后如果出现带有错误消息的错误,则重定向回表单页面。然后回显每个 $_SESSION 变量作为输入值。

谢谢

最佳答案

如果字段名称与字段名称完全相同。 post 只能有字段,没有其他内容

 //if $_POST has the form then, also this is very unsafe because there is no injection prevention too

$sql = "INSERT INTO table (" . implode(",", array_keys($_POST)) . ")"
. "VALUES ('" . implode("','", array_values($_POST)) . "')";

关于php - 从大型表单发布数据并在发生错误后将数据保留在输入中的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17228975/

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