php - 它在 update.php 文件中显示其 ID,查询成功运行但未更新产品图像、名称和描述?
问题描述
产品没有更新,而查询在 php 中成功运行
在我的 datatable.php 文件中
<td style="padding:50px;"><a href="update.php?call=<?php echo
$fetch1['pro_id'];?>" class="btn btn-light">update</a></td>
在我的 update.php 文件中
<?php
include "config.php";
session_start();
if (isset($_POST['reg_user'])) {
$user_id = $_GET['call'];
$proname = mysqli_real_escape_string($connection, $_POST['proname']);
$des = mysqli_real_escape_string($connection, $_POST['des']);
$folder = "upload2/";
$name = $_FILES['image1']['name'];
$imageFileType = strtolower(pathinfo($name, PATHINFO_EXTENSION));
$path1 = $folder . $name;
if ($_FILES["image1"]["size"] >= 2097152) {
echo "<br>Sorry, your file must be less or equal than 2mb ";
}
if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") {
echo "<br>Sorry, only JPG, JPEG, PNG,,GIF files are allowed.";
} else {
move_uploaded_file($_FILES['image1']['tmp_name'], $path1);
$query = "update products set proname='$proname',des='$des',img='$path1' where pro_id='$user_id'";
$run = mysqli_query($connection, $query);
header('location:datatable.php');
}
}
?>
如果我输入“$user_id=$_GET['call'];” 在 isset 之前显示未定义索引,如果我将它放在 isset 之后,则查询运行但不显示更新
解决方案
查询成功运行
不,它没有。(并且做出这样的假设可能是导致您困惑的原因。)您的 PHP 代码都没有运行,因为它都在这种if
情况下:
if (isset($_POST['reg_user'])) {
当您通过单击此(或任何)链接到达该页面时,该条件始终为假:
<a href="update.php?call=123" class="btn btn-light">update</a>
鉴于您还在寻找其他值$_POST
和$_FILES
数组值,因此单击链接根本不起作用。您正在寻找的是一种形式。像这样的东西:
<form action="update.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="call" value="<?php echo $fetch1['pro_id']; ?>" />
<input type="file" name="image1" />
<input type="submit" name="reg_user" value="Submit" />
</form>
选择一个文件并单击提交按钮将提交表单并包含您的服务器端代码正在寻找的值。另请注意,您需要更改$_GET['call']
以$_POST['call']
在提交表单时从 POST 数组中获取“调用”值。
推荐阅读
- ftps - powershell ftps 上传导致流关闭时出现错误“数据连接终止而 ssl 关闭”
- python - 如何将自定义操作添加到图中并使其自动执行?
- java - AWS S3 - 带输入流的分段上传
- apache - 处理从 apache 到 NodeJS HTTP 服务器的连接
- javascript - 根据环境变量阻止 JEST 运行
- laravel-5.8 - 如何检索经过身份验证的用户的角色/状态?
- java - Java think 单选按钮始终处于选中状态
- java - Beam runner 如何确定 PCollection 的每个捆绑包的大小
- jquery - jQuery如何以可调整大小获取每个停止事件的值
- kubernetes - Grafana 为 Prometheus 数据源抛出 HTTP Error Bad Gateway