So Aktualisieren Sie Ein Bild In Mysql

Ich habe eine php-Seite, upload von Bildern auf einen Ordner und der name wird eingefügt in die mysql Tabelle . Jetzt will ich eine Seite erstellen, aktualisieren Sie das Bild, und löschen Sie das alte Bild in das Verzeichnis Ordner oder ersetzen Sie den alten mit dem neuen Bild.

Hier ist der code, der nicht aktualisiert wird nicht das Bild oder die anderen Felder.

 <?php
//Start a session for error reporting
session_start();

//Call our connection file
require("includes/conn.php");



//Set some constants

//This variable is the path to the image folder where all the images are going to be stored
//Note that there is a trailing forward slash
$TARGET_PATH = "images/";

//Get our POSTed variables
$name = $_POST['name'];
$description  = $_POST['description '];
$price = $_POST['price'];
$image = $_FILES['image'];
$serial = $_POST['serial'];

//Sanitize our inputs
$name = mysql_real_escape_string($name);
$description = mysql_real_escape_string($description);
$price = mysql_real_escape_string($price);
$image['name'] = mysql_real_escape_string($image['name']);

//Build our target path full string.  This is where the file will be moved do
//i.e.  images/picture.jpg
$TARGET_PATH .= $image['name'];


//Here we check to see if a file with that name already exists
//You could get past filename problems by appending a timestamp to the filename and then continuing
if (file_exists($TARGET_PATH))
{
        $_SESSION['error'] = "A file with that name already exists";
        header("Location: updateproduct.php");
        exit;
}

//Lets attempt to move the file from its temporary directory to its new home
if (move_uploaded_file($image['tmp_name'], $TARGET_PATH))
{
        //NOTE: This is where a lot of people make mistakes.
        //We are *not* putting the image into the database; we are putting a reference to the file's location on the server
        $sql = "UPDATE products SET picture = '$image', description = '$description' ,price = '$price' ,name = '$name'  WHERE serial = '$serial'";


 $result = mysql_query($sql) or die ("Could not insert data into DB: " . mysql_error());
        header("Location: updateproduct.php");
        exit; 

}
else
{
        //A common cause of file moving failures is because of bad permissions on the directory attempting to be written to
        //Make sure you chmod the directory to be writeable
        $_SESSION['error'] = "Could not upload file.  Check read/write persmissions on the directory";
        header("Location: updateproduct.php");
        exit;
}
?>

hier ist die form

   <?php require_once('Connections/shopping.php'); ?>
<?php
$colname_Recordset1 = "1";
if (isset($_POST['serial'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['serial'] : addslashes($_POST['serial']);
}
mysql_select_db($database_shopping, $shopping);
$query_Recordset1 = sprintf("SELECT * FROM products WHERE serial = %s", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $shopping) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<div align="center">
  <form method="post" name="form1" action="updateupload.php">
    <table align="center">
      <tr valign="baseline">
        <td nowrap align="right">Serial:</td>
        <td><?php echo $row_Recordset1['serial']; ?></td>
      </tr>
      <tr valign="baseline">
        <td nowrap align="right">Name:</td>
        <td><input type="text" name="name" value="<?php echo $row_Recordset1['name']; ?>" size="32"></td>
      </tr>
      <tr valign="baseline">
        <td nowrap align="right">Description:</td>
        <td><input type="text" name="description" value="<?php echo $row_Recordset1['description']; ?>" size="32"></td>
      </tr>
      <tr valign="baseline">
        <td nowrap align="right">Price:</td>
        <td><input type="text" name="price" value="<?php echo $row_Recordset1['price']; ?>" size="32"></td>
      </tr>
      <tr valign="baseline">
        <td nowrap align="right">Picture:</td>
        <td><input type="file" name="picture" value="<?php echo $row_Recordset1['picture']; ?>" size="32"></td>
      </tr>
      <tr valign="baseline">
        <td nowrap align="right">&nbsp;</td>
        <td><input name="submit" type="submit" value="Update record"></td>
      </tr>
    </table>
  </form>
</div>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
Bitte aufhören mit schreiben neuen code mit dem alten mysql_* - Funktionen. Sie werden nicht mehr gepflegt und Gemeinschaft hat begonnen, die veralteten Prozess . Stattdessen sollten Sie lernen, über prepared statements und PDO oder MySQLi.
Ich weiß nicht viel über php ich folgte ein tutorial zu dem Teil einfügen und auf dieser Basis habe ich versucht, das update, das war nicht Teil des Tutorials @Bono

InformationsquelleAutor user1084949 | 2012-05-31

Schreibe einen Kommentar