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

PHP如何从指定文件夹获取PNG图片并按用户输入数量重复展示

代码修复方案

问题根源

  • 循环中每次直接覆盖$image变量,没有做拼接,最终只保留了最后一次循环的单张图片代码
  • 图片路径与实际项目结构不匹配,且图片后缀误用jpg,不符合要求的PNG格式
  • img标签的style属性语法错误,样式键值对应该用冒号:赋值,不是等号=
  • 跳转地址与你定义的前端页面不符,应该跳回order.php

修改后的完整submit-order.php代码

<?php
session_start();
// 初始化变量
$food = "";
$quantity = 0;
$price = 0;
$image = "";

if(isset($_POST['submit'])){
    // 校验参数非空
    if(!empty($_POST["Food"]) && !empty($_POST["quantity"])){
        // 把数量转成整数,避免非数字输入异常
        $quantity = intval($_POST["quantity"]);
        $food = $_POST["Food"];
        
        if($food == "apple" && $quantity <= 4 && $quantity > 0){
            // 计算总价
            $price = $quantity * 5.00;
            // 循环拼接多张图片代码
            for($i=0;$i<$quantity;$i++)
            {
                // 路径改为你的Images文件夹路径,后缀改为png
                $image .= "<img src='Images/apple.png' style='width:50px; height:50px; margin-left:10px' alt='apple'>";
            }
            $_SESSION['msg'] = "Order successful R{$price} is your total price. Here is what you ordered: {$image}";
            // 跳回你定义的前端展示页order.php
            header('location: order.php');
            exit();
        }else{
            $_SESSION['msg'] = "Sorry we do not have {$quantity} {$food} in stock";
            header('location: order.php');
            exit();
        }
    }
}
?>

关键修改说明

  • 把循环中的$image = 修改为$image .= ,实现多张图片HTML代码的拼接
  • 修正了图片路径为Images/apple.png,匹配你的项目结构和PNG格式要求,你可以根据实际文件存放位置调整路径
  • 修正了style属性的语法错误,把width=50px; height=50px;改为width:50px; height:50px;
  • 统一跳转地址为你的前端展示页order.php,避免404错误
  • 给数量增加了intval()转换和大于0的校验,避免非法输入导致的异常
  • 跳转后增加了exit()终止代码执行,避免后续逻辑意外运行

内容的提问来源于stack exchange,提问作者Theophilus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 03:54:05