【问题标题】:PHP MYSQL Changing the photo on my databasePHP MYSQL 更改我的数据库中的照片
【发布时间】:2011-08-08 03:48:06
【问题描述】:

我对 PHP 很陌生;

ADD.PHP - 我有一个收集以下信息的表格 1. 姓名 2. 电子邮件 3. 电话和图片

图片存储在我服务器上的目录文件夹中,然后该照片的文件名存储在我的 sql 表中。

VIEW.PHP - mysql 中的所有数据都显示在此页面中,包括表格格式的照片,包括每条记录的 id。显示的 id 是一个超链接,点击后您将被定向到一个页面,您可以在其中编辑记录内容:

下面是我的 EDIT.PHP 的代码

 <?php 
 // Connects to your Database 
 mysql_connect("localhost", "user1", "12345") or die(mysql_error()) ; 
 mysql_select_db("test") or die(mysql_error()) ;


 // Check whether the value for jobnumber is transmitted
if (isset($_GET['id'])) {

// Put the value in a separate variable
$id = $_GET['id'];

// Query the database for the details of the chosen jobnumber
$result = mysql_query("select id, name, email,
phone, picture from employees where id = $id");

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
$message = "Invalid query: " . mysql_error() . "\n";
$message .= "Whole query: " . $query;
die($message);
}

// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(),etc.
while ($row = mysql_fetch_array($result)) {
$name = $row['name'];

echo $name. "\n";
echo $row['email'] . "\n";
echo $row['phone'] . "\n";
echo "<img width=500px height=500px src=pics/" . $row['picture'].">" . "\n";

// form tag
echo '<form action="add2.php" method="POST">';
//display name
echo 'Name: <input type="text" name="name" value="';
echo $row['name'];
echo '"><br>';
//display email
echo 'email: <input type="text" name="email" value="';
echo $row['email'];
echo '"><br>';
//display phone
echo 'Phone: <input type="text" name="phone" value="';
echo $row['phone'];
echo '"><br>';
//display photo
echo 'Photo: <input type="text" name="photo" value="';
echo $row['picture'];
echo '"><br>';

echo '<input type="submit" value="Add">';
echo '</form>';

}
} else {
die("No valid data specified!");
}
?>

使用此代码,测试字段运行良好,但照片的输入框为空白,当我单击按钮时,我的数据库中的照片字段将为空白,除非我上传了新照片? 用户如何更改现有照片?还是保留旧照片不改?

【问题讨论】:

  • 你的$row['picture']输入类型是text试试改成image
  • 如果我将其更改为 input type="File",则输入字段变为空白,因此您提交/上传新照片,否则该字段将保持空白
  • @Kirby 文件输入最初始终为空白。您不能预设值。如果您想显示当前照片,为什么不像在 VIEW.php 页面上那样使用 &lt;img&gt; 元素,并在其下方输入“更改照片”文件?
  • @jeni "image" 输入就像提交按钮一样。我不认为这是这里需要的

标签: php mysql upload


【解决方案1】:

假设您的employees.picture 列存储了图像的路径。

要上传新照片,您需要更改几项内容...

你的表单需要使用正确的编码类型,即

<form action="add2.php" method="post" enctype="multipart/form-data">

您还需要提供一个“文件”输入元素来接受新照片,例如

<input type="file" name="photo">

要查看是否提供了新照片,只需检查(在检测到有效的 POST 请求后)

if ($_FILES['photo']['error'] == UPLOAD_ERR_OK) {
    // file uploaded
}

【讨论】:

    【解决方案2】:

    查看此链接:http://www.w3schools.com/PHP/php_file_upload.asp

    至于更改现有照片,您还应该将照片名称保存在add2.php页面内的db fom中

    当任何用户想要第二次上传照片时,应该在 add2.php 中检查是否有之前上传过的照片。然后 U 可以从 2 是,否按钮中从用户那里做出决定。如果是,则更新(不插入)数据库表中的相应列。

    你可以使用 jquery 来做出决定并相应地工作。 jquery需要什么帮助吗?

    如果是第一次上传,则可以绕过检查过程。

    清除?

    【讨论】:

    • 我不熟悉 jquery :-)
    • jquery 的口号是“少写,多做”,让 JavaScript 代码变得更简单。它既简单又有趣。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    相关资源
    最近更新 更多