- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个内容管理系统,以便可以轻松更新数据库。我创建了一个更新页面,允许用户编辑数据库中的条目,他们可以毫无问题地上传新图像和编辑任何字段。我遇到的问题是,如果您只想编辑,只说一个字段中的文本,但您不想更改图像,那么当提交表单时,它会用空白条目覆盖图像字段。我想要做的是在没有选择其他文件的情况下保留原始图像。我知道我需要检查文件是否已被选中,但我似乎找不到可行的方法。我确定这可能很简单,但这是我用于上传的脚本:
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
/* upload image script */
$thumb=basename($_FILES['thumb']['name']);
if(move_uploaded_file($_FILES['thumb']['tmp_name'],"../shopImages/".$thumb))
$image1=basename($_FILES['image_1']['name']);
if(move_uploaded_file($_FILES['image_1']['tmp_name'],"../shopImages/".$image1))
$image2=basename($_FILES['image_2']['name']);
if(move_uploaded_file($_FILES['image_2']['tmp_name'],"../shopImages/".$image2))
/*end of script*/
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE tbl_products SET thumb=%s, image_1=%s, image_2=%s, title=%s, `desc`=%s, category_id=%s, status=%s, shipping_band=%s, price=%s WHERE product_id=%s",
GetSQLValueString($thumb, "text"),
GetSQLValueString($image1, "text"),
GetSQLValueString($image2, "text"),
GetSQLValueString($_POST['title'], "text"),
GetSQLValueString($_POST['desc'], "text"),
GetSQLValueString($_POST['category_id'], "int"),
GetSQLValueString($_POST['status'], "int"),
GetSQLValueString($_POST['shipping_band'], "text"),
GetSQLValueString($_POST['price'], "double"),
GetSQLValueString($_POST['product_id'], "int"));
这是表单的代码:
<form method="post" name="form1" action="<?php echo $editFormAction; ?>" enctype="multipart/form-data">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Product ID:</td>
<td>
<?php echo $row_RS_updateProducts['product_id']?>
</td>
<tr>
<tr valign="baseline">
<td nowrap align="right">Thumb:</td>
<td><?php echo $row_RS_updateProducts['thumb']?><input type="file" name="thumb" value="<?php echo $row_RS_updateProducts['thumb']?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Image 1:</td>
<td><?php echo $row_RS_updateProducts['image_1']?><input type="file" name="image_1" value="<?php echo $row_RS_updateProducts['image_1']?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Image 2:</td>
<td><?php echo $row_RS_updateProducts['image_2']?><input type="file" name="image_2" value="<?php echo $row_RS_updateProducts['image_2']?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Title:</td>
<td><input type="text" name="title" value="<?php echo htmlentities($row_RS_updateProducts['title'], ENT_COMPAT, 'UTF-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Description:</td>
<td><input type="text" name="desc" value="<?php echo htmlentities($row_RS_updateProducts['desc'], ENT_COMPAT, 'UTF-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Category:</td>
<td><select name="category_id">
<?php
do {
?>
<option value="<?php echo $row_RS_Category['category_id']?>" <?php if (!(strcmp($row_RS_Category['category_id'], htmlentities($row_RS_updateProducts['category_id'], ENT_COMPAT, 'UTF-8')))) {echo "SELECTED";} ?>><?php echo $row_RS_Category['category_name']?></option>
<?php
} while ($row_RS_Category = mysql_fetch_assoc($RS_Category));
?>
</select></td>
<tr>
<tr valign="baseline">
<td nowrap align="right">Status:</td>
<td><select name="status">
<option value="1" <?php if (!(strcmp(1, htmlentities($row_RS_updateProducts['status'], ENT_COMPAT, 'UTF-8')))) {echo "SELECTED";} ?>>Available</option>
<option value="2" <?php if (!(strcmp(2, htmlentities($row_RS_updateProducts['status'], ENT_COMPAT, 'UTF-8')))) {echo "SELECTED";} ?>>Pending</option>
<option value="3" <?php if (!(strcmp(3, htmlentities($row_RS_updateProducts['status'], ENT_COMPAT, 'UTF-8')))) {echo "SELECTED";} ?>>Unavailable</option>
</select></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Shipping Band:</td>
<td><select name="shipping_band">
<option value="a" <?php if (!(strcmp("a", htmlentities($row_RS_updateProducts['shipping_band'], ENT_COMPAT, 'UTF-8')))) {echo "SELECTED";} ?>>A</option>
<option value="b" <?php if (!(strcmp("b", htmlentities($row_RS_updateProducts['shipping_band'], ENT_COMPAT, 'UTF-8')))) {echo "SELECTED";} ?>>B</option>
<option value="c" <?php if (!(strcmp("c", htmlentities($row_RS_updateProducts['shipping_band'], ENT_COMPAT, 'UTF-8')))) {echo "SELECTED";} ?>>C</option>
<option value="d" <?php if (!(strcmp("d", htmlentities($row_RS_updateProducts['shipping_band'], ENT_COMPAT, 'UTF-8')))) {echo "SELECTED";} ?>>D</option>
</select></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Price:</td>
<td><input type="text" name="price" value="<?php echo htmlentities($row_RS_updateProducts['price'], ENT_COMPAT, 'UTF-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td><input type="submit" value="Update record"></td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="product_id" value="<?php echo $row_RS_updateProducts['product_id']; ?>">
</form>
我是 php 的新手,所以任何帮助将不胜感激,因为我已经坚持了好几天了。
最佳答案
你有没有在你的表单中提到
<form name="form_name" action="actionpage.php" enctype="multipart/form-data" method="post">
如果你没有写 enctype="multipart/form-data"你的文件将不会被上传。
关于php - 更新数据库表格 : leaves image fields blank when no file is selected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17806775/
LOOP 一词被描述为“解析所有未解析的 LEAVE 事件的目的地”。 (强调我的) 与 IF ... ELSE ... THEN 的前向引用数始终为 1 不同,LOOP 对 LEAVE 的数量没有限
我正在尝试实现 Kd 树以在 C++ 中执行最近邻和近似最近邻搜索。到目前为止,我遇到了最基本的 Kd 树的 2 个版本。 一种,数据存储在节点和叶子中,例如 here 一种,数据只存储在叶子中,例如
我没有清楚地理解 LEAVE 函数,它是这两条指令的浓缩: MOV ESP, EBP POP EBP 因此,MOV ESP, EBP 将 ESP 向下移动到 EBP 的级别(堆栈的开头)。 然后POP
我有外部路线:/posts 和 /about。 /posts 路由具有嵌套路由:/ 和 /pages/:pageNumber。 在嵌套路由(/ 和 /pages/:pageNumber)之间导航时,动
我正在尝试在 JavaFX 中设置一个复选框树,其中叶子绑定(bind)到其父级: 当选择父级时,它们也会被选择 无法单独更改。 我使用与 selectedProperty 的绑定(bind)来完成此
程序如下: main:BEGIN # make sure a game isnt already running SELECT COUNT(*), `winner` INTO @running, @w
使用什么模式将字符保留在字符串中的点之间“12395.KS_TH014.001239”,所以如果其动态变量,则只剩下“KS_TH014”。我尝试了模式“.\K.*?(?=.)”,但它在 mysql 中
我有如下例子中的触发器: BEFORE UPDATE ON icharts_user_stats FOR EACH ROW BEGIN IF (NEW.col1> OLD.col1 OR NE
我正在为 iOS 编写一个应用程序来阅读 PDF 文档并使用“Leaves”库。除了宽度为 1px 的白线外,一切都很酷,它会在您翻过页面时出现。有没有人遇到过这个?你是如何解决这个问题的? 最佳答案
我写了以下函数 window.onbeforeunload = function(){ return 'Are you sure you want to leave?'; }; 现在我希望当用户单
我的网站上有以下 href: a href="http://www.google.com" name="external" onclick="confirmExit(this.name) 如果用户不想
我只看到了另一个类似的问题 ( this one ),但我不知道如何将其应用到我的页面。我是网络开发新手,所以我使用了 this template索取联系表格。您可以在这里查看我的联系页面:http:
我正在为我的元素使用 animate.css 和 Angular.JS。我创建了一个代码笔,您可以在这里找到它:http://codepen.io/SassyCrafter/pen/NrRbmE .以
我在几个地方都见过它,例如Eclipse XML 自动格式化也可以做到这一点:在空元素的结束 /> 之前放置一个空格。 拥有 将被重新格式化为 你为什么要这样做?从 XML 的角度来看,它是等价的
题目地址:https://leetcode.com/problems/sum-of-left-leaves/open in new window Difficulty: Easy 题目大
我正在尝试反汇编一个包含简单功能的简单程序。这个程序是用 gcc 编译的,用于 32 位 x86 目标。 该函数通过调用指令调用。 在函数的最后,我看到一个ret指令,这是正常的,但也有一个leave
我在这里学习 Docker 教程 https://docs.docker.com/get-started/part3/ 当我在页面教程快结束时执行命令 docker swarm leave --for
这个问题已经有答案了: How to show a dialog to confirm that the user wishes to exit an Android Activity? (11 个回
因此,我编写了这一小段代码来尝试一些新的方法来进行图像交换以实现预加载,但我遇到了一些麻烦。 我的问题是,我有一个包含图像的容器,其中有一些填充和文本,但只有当有人滚动图像而不是容器时,才会激活翻转。
我在div上使用hover()来在用户将鼠标移到上方时显示信息面板,这在90%的情况下有效,但有时事件似乎无法正确触发。这似乎与您将鼠标移入或移出 div 的速度有关。 我设置了一个 jsfiddle
我是一名优秀的程序员,十分优秀!