2017-07-02 1 views
0

Hey les gars, donc j'ai fait un système à travers lequel n'importe quel téléchargement d'image à partir du panneau d'administration est enregistré dans un dossier spécifique, selon l'ID! Mais quand j'ai fait quelques changements, mon site php n'enregistre pas l'image avec le nom de l'identifiant et ne mémorise pas plus d'une image.Image ne pas enregistrer avec le nom d'identifiant

<?php 
// This file is www.developphp.com curriculum material 
// Written by Adam Khoury January 01, 2011 
// http://www.youtube.com/view_play_list?p=442E340A42191003 

// Connect to the MySQL database 
include "connect.php"; 

?> 
<?php 
// Script Error Reporting 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 
?> 
<?php 
// Delete Item Question to Admin, and Delete Product if they choose 
if (isset($_GET['deleteid'])) { 
    echo 'Do you really want to delete product with ID of ' . $_GET['deleteid'] . '? <a href="inventory_list.php?yesdelete=' . $_GET['deleteid'] . '">Yes</a> | <a href="inventory_list.php">No</a>'; 
    exit(); 
} 
if (isset($_GET['yesdelete'])) { 
    // remove item from system and delete its picture 
    // delete from database 
    $id_to_delete = $_GET['yesdelete']; 
    $sql = mysqli_query($conn,"DELETE FROM products WHERE id='$id_to_delete' LIMIT 1") or die (mysql_error()); 
    // unlink the image from server 
    // Remove The Pic ------------------------------------------- 
    $pictodelete = ("../inventory_images/$id_to_delete.jpg"); 
    if (file_exists($pictodelete)) { 
       unlink($pictodelete); 
    } 
    header("location: inventory_list.php"); 
    exit(); 
} 
?> 
<?php 
// Parse the form data and add inventory item to the system 
if (isset($_POST['product_name'])) { 

    $product_name = mysqli_real_escape_string($_POST['product_name']); 
    $price = mysqli_real_escape_string($_POST['price']); 
    $category = mysqli_real_escape_string($_POST['category']); 
    $subcategory = mysqli_real_escape_string($_POST['subcategory']); 
    $details = mysqli_real_escape_string($_POST['details']); 
    // See if that product name is an identical match to another product in the system 
    $sql = mysqli_query($conn,"SELECT id FROM products WHERE product_name='$product_name' LIMIT 1"); 
    $productMatch = mysql_num_rows($sql); // count the output amount 
    if ($productMatch > 0) { 
    echo 'Sorry you tried to place a duplicate "Product Name" into the system, <a href="inventory_list.php">click here</a>'; 
    exit(); 
    } 
    // Add this product into the database now 
    $sql = mysqli_query($conn,"INSERT INTO products (product_name, price, details, category, subcategory, date_added) 
     VALUES('$product_name','$price','$details','$category','$subcategory',now())") or die (mysql_error()); 
    $pid = mysql_insert_id(); 
    // Place image in the folder 
    $newname = "$pid.jpg"; 
    move_uploaded_file($_FILES['fileField']['tmp_name'], "../inventory_images/$newname"); 
    header("location: inventory_list.php"); 
    exit(); 
} 
?> 
<?php 
// This block grabs the whole list for viewing 
$product_list = ""; 
$sql = mysqli_query($conn,"SELECT * FROM products ORDER BY date_added DESC"); 
$productCount = mysql_num_rows($sql); // count the output amount 
if ($productCount > 0) { 
    while($row = mysql_fetch_array($sql)){ 
      $id = $row["id"]; 
     $product_name = $row["product_name"]; 
     $price = $row["price"]; 
     $date_added = strftime("%b %d, %Y", strtotime($row["date_added"])); 
     $product_list .= "Product ID: $id - <strong>$product_name</strong> - $$price - <em>Added $date_added</em> &nbsp; &nbsp; &nbsp; <a href='inventory_edit.php?pid=$id'>edit</a> &bull; <a href='inventory_list.php?deleteid=$id'>delete</a><br />"; 
    } 
} else { 
    $product_list = "You have no products listed in your store yet"; 
} 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Inventory List</title> 
<link rel="stylesheet" href="../style/style.css" type="text/css" media="screen" /> 
</head> 

<body> 
<div align="center" id="mainWrapper"> 
    <?php include_once("../template_header.php");?> 
    <div id="pageContent"><br /> 
    <div align="right" style="margin-right:32px;"><a href="inventory_list.php#inventoryForm">+ Add New Inventory Item</a></div> 
<div align="left" style="margin-left:24px;"> 
     <h2>Inventory list</h2> 
     <?php echo $product_list; ?> 
    </div> 
    <hr /> 
    <a name="inventoryForm" id="inventoryForm"></a> 
    <h3> 
    &darr; Add New Inventory Item Form &darr; 
    </h3> 
    <form action="inventory_list.php" enctype="multipart/form-data" name="myForm" id="myform" method="post"> 
    <table width="90%" border="0" cellspacing="0" cellpadding="6"> 
     <tr> 
     <td width="20%" align="right">Product Name</td> 
     <td width="80%"><label> 
      <input name="product_name" type="text" id="product_name" size="64" /> 
     </label></td> 
     </tr> 
     <tr> 
     <td align="right">Product Price</td> 
     <td><label> 
      $ 
      <input name="price" type="text" id="price" size="12" /> 
     </label></td> 
     </tr> 
     <tr> 
     <td align="right">Category</td> 
     <td><label> 
      <select name="category" id="category"> 
      <option value="Clothing">Clothing</option> 
      </select> 
     </label></td> 
     </tr> 
     <tr> 
     <td align="right">Subcategory</td> 
     <td><select name="subcategory" id="subcategory"> 
     <option value=""></option> 
      <option value="Hats">Hats</option> 
      <option value="Pants">Pants</option> 
      <option value="Shirts">Shirts</option> 
      </select></td> 
     </tr> 
     <tr> 
     <td align="right">Product Details</td> 
     <td><label> 
      <textarea name="details" id="details" cols="64" rows="5"></textarea> 
     </label></td> 
     </tr> 
     <tr> 
     <td align="right">Product Image</td> 
     <td><label> 
      <input type="file" name="fileField" id="fileField" /> 
     </label></td> 
     </tr>  
     <tr> 
     <td>&nbsp;</td> 
     <td><label> 
      <input type="submit" name="button" id="button" value="Add This Item Now" /> 
     </label></td> 
     </tr> 
    </table> 
    </form> 
    <br /> 
    <br /> 
    </div> 
    <?php include_once("../template_footer.php");?> 
</div> 
</body> 
</html> 
+0

Avez-vous vérifié les journaux d'erreurs du serveur Web? – Difster

+0

Attention: mysqli_real_escape_string() attend exactement 2 paramètres, 1 donné dans C: \ wamp \ www \ latest \ admin \ inventaire_list.php sur la ligne 40 @Difster –

+0

En outre, envisagez de passer à PDO. – Difster

Répondre

1

Vous ne pouvez pas basculer entre mysqli et mysql en utilisant la même connexion. (note mysql_insert_id).

Remplacez mysql_insert_id par mysqli_insert_id($conn).

aussi: changer tout mysqli_real_escape_string($_POST...)-mysqli_real_escape_string($conn, $_POST...) (... = nom POST) et changer mysql_num_rows à mysqli_num_rows($conn, $sql).

Vérifiez le site Web php.net pour obtenir un aperçu des modifications entre mysql et mysqli.