Condition pour faire un UPDATE d'image
Posté : 03 mai 2008, 11:01
bonjour,
afin de faire des mises a jour dans ma base de données j'ai créé un formulaire et un page de validation.
je souhaite mettre a jour des champs ou il y a du texte + un champ ou je stock le nom d'une image.
concernant la mise a jour des texte pas de probleme tout fonctionne a merveil.
pour la mise a jour de la photo sa fonctionne aussi losque je choisi une nouvelle photo. Par contre si je ne choisi pas de nouvelle photo lorsque je valide mon formulaire mon camp image sa voit quand meme remplacé par ... RIEN donc plus d'image !
je voulais savoir comment faire pour que le mise a jour de l'image ne se fasse que si je choisi de la changer.
voilà mon formulaire en html :
et voilà ma page de validation :
afin de faire des mises a jour dans ma base de données j'ai créé un formulaire et un page de validation.
je souhaite mettre a jour des champs ou il y a du texte + un champ ou je stock le nom d'une image.
concernant la mise a jour des texte pas de probleme tout fonctionne a merveil.
pour la mise a jour de la photo sa fonctionne aussi losque je choisi une nouvelle photo. Par contre si je ne choisi pas de nouvelle photo lorsque je valide mon formulaire mon camp image sa voit quand meme remplacé par ... RIEN donc plus d'image !
je voulais savoir comment faire pour que le mise a jour de l'image ne se fasse que si je choisi de la changer.
voilà mon formulaire en html :
Code : Tout sélectionner
<form name="modification" action="validemodif.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="id" value="<?php echo($id) ;?>">
<table border="0" cellspacing="10" cellpadding="0">
<tr>
<td><div align="right">Nom </div></td>
<td><input type="text" name="nom" value="<?php echo($result->nom) ;?>"/></td>
</tr>
<tr>
<td><div align="right">email</div></td>
<td><input type="text" name="email" value="<?php echo($result->email) ;?>"/></td>
</tr>
<tr>
<td><div align="right">url de votre site</div></td>
<td><input type="text" name="url" value="<?php echo($result->url) ;?>"/></td>
</tr>
<tr>
<td><div align="right">titre de votre site (75 carac. maxi)</div></td>
<td><input type="text" maxlength="75" name="titre" value="<?php echo($result->titre) ;?>"/></td>
</tr>
<tr>
<td><div align="right">description du site (255 carac. maxi)</div></td>
<td><textarea name="description" maxlength="255" ><?php echo($result->description) ;?></textarea></td>
</tr>
<tr>
<td><div align="right">Texte balise Alt ou titre (255 carac. maxi)</div></td>
<td><textarea name="alt" maxlength="255" ><?php echo($result->alt) ;?></textarea></td>
</tr>
<tr>
<td><div align="right">
<?PHP
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
while($data = mysql_fetch_array($req))
{ echo 'image actuelle : <img src="../../images/partenaire/', $data['logo'] ,'" alt="', $data['alt'] ,'" width="65" height="65"/>'; }
?> logo 130 x 130px</div></td>
<td><input type="file" name="logo" accept="image/gif" /></td>
</tr>
<tr>
<td> </td>
<td><input name="submit" type="submit" value="Modifier le Partenaire" /></td>
</tr>
</table>
</form>
<?php
//connection au serveur
$cnx = mysql_connect(xxxxxx, xxxxx, xxxx);
$db = mysql_select_db( "xxxx" ) ;
//récupération des valeurs des champs:
$nom = $_POST["nom"] ;
$email = $_POST["email"] ;
$url = $_POST["url"] ;
$titre = $_POST["titre"] ;
$description = $_POST["description"] ;
$alt = $_POST["alt"] ;
//je ne recupere que le nom de mon image
$uploadlogo = basename($_FILES['logo']['name']);
// je donne le chemin ou il faut enregistrer l'image
$uploaddir = '../../images/partenaires/';
//j'associe mon chemin avec mon image
$uploadfile = $uploaddir . basename($_FILES['logo']['name']);
if (isset ($_FILES['logo']['tmp_name']) && $_FILES['logo']['tmp_name'] != "none") {
if (!file_exists($uploadfile)) {
if (move_uploaded_file($_FILES['logo']['tmp_name'], $uploadfile)) {
//creation mini
$src_img = imagecreatefromjpeg($uploadfile);
$size = GetImageSize($uploadfile);
$dst_img = imagecreatetruecolor($cote_mini,$cote_mini);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $cote_mini, $cote_mini, $size[0], $size[1]);
imagejpeg($dst_img, $uploaddir."thumbs/".basename($_FILES['logo']['name']), 75);
imagedestroy($src_img);
imagedestroy($dst_img);
//redimensionnement image
$haut = "500";
$larg = $size[0]*$haut/$size[1];
$src_img = imagecreatefromjpeg($uploadfile);
$size = GetImageSize($uploadfile);
$dst_img = imagecreatetruecolor($larg,$haut);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $larg, $haut, $size[0], $size[1]);
imagejpeg($dst_img, $uploadfile, 75);
imagedestroy($src_img);
imagedestroy($dst_img);
echo "logo envoyé !</body>";
}
}
else
{echo "<font color=red>Un logo portant le même nom existe déja. </br> Merci de choisir un autre logo</font>";}
}
//récupération de l'identifiant du partenaire:
$id = $_POST["id"] ;
//création de la requête SQL:
$sql = "UPDATE partenaires SET
id = '$id',
nom = '$nom',
email = '$email',
url = '$url',
titre = '$titre',
description = '$description',
alt = '$alt',
logo = '$uploadlogo'
WHERE id = '$id' " ;
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si la modification a marchée:
if($requete)
{
echo("La modification de votre partenaire à été correctement effectuée") ;
}
else
{
echo("La modification à échouée") ;
}
?>