You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非Ajax方式表单多参数提交及PHP端数据库存储实现

表单数据传递与数据库写入实现方案

问题场景

你现在有一个商品表单,需要把item_id、item_name、item_price和item_bio这几个字段的值传到menu.php,然后写入数据库。目前你已经有了基础的表单和数据库操作代码,接下来我给你梳理具体的实现步骤:

你现有的表单代码

<form method="POST" action="menu.php">
 <div class = 'cont'>
 <span>item_name</span>
 <hr />
 <img id='img_order' src='img/$item_pic' alt='ss'>
 <p id='price'>price : 3.14 </p>
 <p id='bio'>this item is ... </p>
 <input type= 'submit' class='btn btn-primary' value='Add to Order' name = 'order' />
 </div>
</form>

你现有的menu.php代码片段

if(isset($_POST['addToDatabase'])){
 query = "INSERT INTO table_name('item_id','item_name','item_price','item_bio' )VALUE('$item_id' , '$item_name','item_price','item_bio')";
}

具体实现步骤

第一步:给表单添加隐藏字段传递数据

目前你的表单里没有携带那四个字段的输入项,所以得在表单内部加上隐藏输入框,把这些数据偷偷传给menu.php。另外还要把提交按钮的name改成addToDatabase,这样才能和menu.php里的判断条件对应上:

<form method="POST" action="menu.php">
 <div class = 'cont'>
 <!-- 新增隐藏字段,用来传递需要存入数据库的参数 -->
 <input type="hidden" name="item_id" value="<?php echo $item_id; ?>">
 <input type="hidden" name="item_name" value="<?php echo $item_name; ?>">
 <input type="hidden" name="item_price" value="<?php echo $item_price; ?>">
 <input type="hidden" name="item_bio" value="<?php echo $item_bio; ?>">
 
 <!-- 把页面展示的内容也改成用变量输出,保证和传递的数据一致 -->
 <span><?php echo $item_name; ?></span>
 <hr />
 <img id='img_order' src='img/<?php echo $item_pic; ?>' alt='ss'>
 <p id='price'>price : <?php echo $item_price; ?> </p>
 <p id='bio'><?php echo $item_bio; ?> </p>
 <input type= 'submit' class='btn btn-primary' value='Add to Order' name = 'addToDatabase' />
 </div>
</form>

第二步:在menu.php中接收变量并构造SQL

到了menu.php这边,我们通过$_POST数组获取表单传过来的值,存到对应的变量里,然后用这些变量来写SQL语句就可以了:

if(isset($_POST['addToDatabase'])){
    // 从POST请求中取出值,存入变量
    $item_id = $_POST['item_id'];
    $item_name = $_POST['item_name'];
    $item_price = $_POST['item_price'];
    $item_bio = $_POST['item_bio'];
    
    // 构造插入数据库的SQL语句(顺便帮你修正了原SQL的语法小问题:字段不要加单引号,VALUES拼写要正确)
    $query = "INSERT INTO table_name(item_id, item_name, item_price, item_bio) VALUES('$item_id', '$item_name', '$item_price', '$item_bio')";
    // 这里后续可以加执行SQL的代码,比如用mysqli或者PDO执行这个$query
}

小提醒:虽然你说不用在意代码是否可运行,但实际开发里一定要用预处理语句防止SQL注入哦,这里只是按照你的需求完成变量传递和写入的逻辑~

内容的提问来源于stack exchange,提问作者Abdalrazag Al-Shrofat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:36:14