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
相关产品推荐
相关产品推荐

