Upload d'image update
Posté : 23 févr. 2013, 02:43
Bonjour, voici mon problème j'ai un formulaire de modification qui me sert a modifier un produit.
Ce produit a une image qui a été uploadé lors de l'ajout d'un produit.
Si je modifie le produit sans modifier l'image je veut gardé l'image précédente donc je n'update pas l'image
Si j'update une image celle ci remplacera l'ancienne.
Or sa ne fonctionne pas et je commence a m'arraché les cheveux voici mon code Formulaire + action PHP.
Voici mon code : Formulaire :
et mon Traitement PHP :
Ce produit a une image qui a été uploadé lors de l'ajout d'un produit.
Si je modifie le produit sans modifier l'image je veut gardé l'image précédente donc je n'update pas l'image
Si j'update une image celle ci remplacera l'ancienne.
Or sa ne fonctionne pas et je commence a m'arraché les cheveux voici mon code Formulaire + action PHP.
Voici mon code : Formulaire :
Code : Tout sélectionner
<?php include('includes/connexion_bdd2.php'); ?>
<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>OSG Administration</title>
<!-- Style générale -->
<link rel="stylesheet" type="text/css" href="css/admin.css" />
<link rel="stylesheet" type="text/css" href="css/alert_admin2.css" />
<!-- message d'alerte -->
<script type="text/javascript" src="js/main.js"></script>
</head>
<body>
<div id="structure">
<div id="header">
<div id="logo"><a href="#" alt="index"><img src="img/banniere_admin.png" title="logo" alt="logo"></a></div>
<!-- Menu -->
<?php include('includes/menu_admin.php'); ?>
<!-- fin du menu -->
</div>
<div id="content"><!-- début du content -->
<br /><br />
<h3 class="titre3">Editer un produit<h3>
<br />
<?php
if(!empty($_GET['page'])) {
$id = $_GET['page'];
$req = mysql_query("SELECT * FROM produits WHERE id_produits=$id");
if (mysql_num_rows($req) > 0) { $data = mysql_fetch_assoc($req); }
else { header('Location:admin_produits2.php'); }
}
?>
<form method="POST" action="modifier_produits.php?page=<?php echo $data['id_produits']; ?>" enctype="multipart/form-data">
<p>
<label for="nom">Nom du produit</label><br />
<input type="text" class="input" id="nom" name="nom" value="<?php echo $data['nom']; ?>">
</p>
<p>
<label for="position">Prix</label><br />
<input type="text" class="input" id="prix" name="prix" value="<?php echo $data['prix']; ?>">
</p>
<p>
<label for="position">Quantiter</label><br />
<input type="text" class="input" id="quantiter" name="quantiter" value="<?php echo $data['quantiter']; ?>">
</p>
<p>
<label for="contenu">Description</label><br />
<textarea type="text" class="input" id="description" name="description"><?php echo $data['description']; ?></textarea>
</p>
<p>
<br />
<label for="contenu">image actuelle :</label><br />
<img src="images/min/<?php echo $data['image']; ?>" alt="image" />
</p>
<br />
<div id="image" >
<label for="contenu">uploader une nouvelle image ? :</label><br />
<input class="input" type="file" name="image" id="image" > <!-- upload d'image -->
</div>
<br />
<?php
//connection au serveur
include ('includes/connexion_bdd.php');
?>
<div id="consoles">
<label for="consoles">Le produit est une console ? si non sur quel support est le produit * :</label>
<select class="input " name="id_consoles" required>
<?php
// ici je récupère les consoles
//connection au serveur
$res = $bdd->query ('SELECT nom, id_consoles FROM consoles');
while ($donnees = $res->fetch())
{
?> <option value=<?php echo $donnees['id_consoles'] ;?>> <?php echo $donnees['nom'] ;?> </option><?php
}
$res->closeCursor();
?>
</select>
</div>
<br />
<div id="types">
<label for="Types">Types de produit * :</label>
<select class="input " name="id_types" required>
<?php
// ici je récupère les consoles
//connection au serveur
$res = $bdd->query ('SELECT nom, id_types FROM types');
while ($donnees = $res->fetch())
{
?> <option value=<?php echo $donnees['id_types'] ;?>> <?php echo $donnees['nom'] ;?> </option><?php
}
$res->closeCursor();
?>
</select>
</div>
<br />
<div id="genres">
<label for="Genres">Genres de produit * :</label>
<select class="input " name="id_genres" required>
<?php
// ici je récupère les genres
//connection au serveur
$res = $bdd->query ('SELECT nom, id_genres FROM genres');
while ($donnees = $res->fetch())
{
?> <option value=<?php echo $donnees['id_genres'] ;?>> <?php echo $donnees['nom'] ;?> </option><?php
}
$res->closeCursor();
?>
</select>
</div>
<br /><br />
<input src="img/modifier.png" type=image >
<img src="img/annuler.png" onclick="javascript:location.href='admin_produits.php'" />
</form>
<br /><br />
</div><!-- fin content -->
</div><!-- fin structure -->
</body>
</html><?php
require("session.class.php");
$Session = new Session();
//connection au serveur
include ('includes/connexion_bdd2.php');
extract($_POST);
$id = $_GET['page'];
$sql = "UPDATE produits SET nom='$nom', prix='$prix', quantiter='$quantiter', description='$description', id_consoles='$id_consoles', id_genres='$id_genres', id_types='$id_types' WHERE id_produits=$id";
mysql_query($sql);
if(!empty($_FILES))
{
$image = $_FILES['image'];
$image_name = $image['name'];
$ext = strtolower(substr(strrchr($image_name,'.'),1));
$ext_aut = array('jpg','jpeg','png','gif');
function check_extension($ext,$ext_aut)
{
if(in_array($ext,$ext_aut))
{
return true;
}
}
$valid = (!check_extension($ext,$ext_aut)) ? false : true;
$erreur = (!check_extension($ext,$ext_aut)) ? 'Veuillez charger une image' : '';
if($valid)
{
$max_size = 2000000;
if($image['size']>$max_size)
{
$valid = false;
$erreur = 'Fichier trop gros';
}
}
if($valid)
{
if($image['error']>0)
{
$valid = false;
$erreur = 'Erreur lors du transfert';
}
}
if($valid)
{
$path_to_image = 'images/fullsize/';
$path_to_min = 'images/min/';
$filename = sha1(uniqid($image_name));
$source = $image['tmp_name'];
$target = $path_to_image . $filename. '.'. $ext;
move_uploaded_file($source,$target);
if($ext == 'jpg' || $ext == 'jpeg') {$im = imagecreatefromjpeg($path_to_image.$filename.'.'.$ext);}
if($ext == 'png') {$im = imagecreatefrompng($path_to_image.$filename.'.'.$ext);}
if($ext == 'gif') { $im = imagecreatefromgif($path_to_image.$filename.'.'.$ext);}
$ox = imagesx($im);
$oy = imagesy($im);
$nx = 150;
$ny = floor($oy *($nx/$ox));
$nm = imagecreatetruecolor($nx,$ny);
imagecopyresized($nm, $im, 0,0,0,0, $nx,$ny,$ox,$oy);
imagejpeg($nm, $path_to_min.$filename.'.'.$ext);
$nom_image = $filename.'.'.$ext;
}
extract($_POST);
$id = $_GET['page'];
$sql = "UPDATE produits SET image='$nom_image' WHERE id_produits=$id";
mysql_query($sql);
}
// message d'alerte
$Session->setFlash('La modification du produits a été effectuer','success');
// retour a la page d'acceuil
header('Location:admin_produits.php');
?>