Bonjour a tous alor voila:
j'ai un probleme dans dans edit_news si je modifie que le contenu ba sa m'enleve l'image comment faire j'ai pas trouver voici mon code de edit_news:

<?php
//Gestion des images
if(!empty($_FILES)){
    require("imgClass.php");
    $img = $_FILES'img'];
    $ext = strtolower(substr($img'name'],-3));
    $allow_ext = array("jpg",'png','gif');
    if(in_array($ext,$allow_ext)){
        move_uploaded_file($img'tmp_name'],"images/".$img'name']);
        Img::creerMin("images/".$img'name'],"images/min",$img'name'],150,90);
     $img = $img'name'];
    }
    }

//On se connecte a la Bdd
require "../pages/function.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
if(!empty($_POST)){
extract($_POST);
//Selection de la Bdd
$sql="UPDATE news SET titre='$titre', contenu='$contenu', img='$img', autoriser_commentaires='$autoriser_commentaires' WHERE id=$id";
$req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error());
echo "News modifiée<br/><br/>";
$_GET"id"]=$id;
}
$sql="SELECT * FROM news WHERE id={$_GET"id"]}";    
$req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error());
$data=mysql_fetch_assoc($req);
echo "<img src=images/min/{$data"img"]}><br/><br/>";
?>
<form method="post" action="edit_news.php" enctype="multipart/form-data"/>
Changer l'image<br />
<input type="file" name="img" value="<?php echo $data"img"]; ?>"/><br />

<input name="id" type="hidden" value="<?php echo $data"id"]; ?>"/>
<br />Titre du news :<br />
<input type="text" name="titre" value="<?php echo $data"titre"]; ?>"/><br /><br />

Le contenu du news :<br />
<textarea name="contenu" style="width:639px; height:200px;"><?php echo $data"contenu"]; ?></textarea>

<label>Autoriser les commentaires sur cet article :</label>  
<input type="radio" name="autoriser_commentaires" value="1" checked="checked"> Oui 
<input type="radio" name="autoriser_commentaires" value="0"> Non 
<input type="submit" value="Modifiée" /><br /><a href="liste_news.php"> Retourner sur la liste des news</a>
</form>

PS: merci d'avence

je sais que vous allait dir sais bizar un type file avec une value xd
oui je sais bien quand je fait comme sa :

Changer l'image<br />
<input type="texte" name="img" value="<?php echo $data"img"]; ?>"/><br />

sa fonctione mon image reste bien si je modifie que le reste mais si je mais en file
mon image se barre quand je modifie quelque contenu comment faire je veut rester en file ?

Merci d'avance

5 réponses


mespeche
Réponse acceptée

Bien sur que je peux :

if (isset($_FILES'tonImage']) && !empty($_FILES'tonImage']'name'])):
                // Suppression de l'image existante
                unlink($tonImageExistante);
                // Stockage du nouveau nom de ton image
                $taNouvelleImage = $_FILES'tonImage']'name']

                // Ajout de ton image dans le répertoire que tu veux
                move_uploaded_file($_FILES'tonImage']'tmp_name'], "repertoire/$_FILES'tonImage']'name']");
            else:
                // Récupération de l'image existante dans ta base de donnée et stockage
                $taNouvelleImage = $data'image'];  

            endif;
            // Requête de mise à jour

Voilà, je ne te met pas tout car ça ne t'aidera pas, tu ne fera que recopier, mais c'est ce que tu dois suivre, à toi de chercher comment faire les choses expliquées par des commentaires ;)

Bonne chance à toi !

Hello, je ne pense pas qu'il est possible de mettre une valeur par défault (et même après envoie d'un formulaire) à un input de type file. (à moins de passer par des méthodes draconienne)
De toute manière, ça ne sert à rien puisque c'est à l'utilisateur de choisir son fichier ^^
Voilà, a bientôt $^^

Roxeur
Auteur

Oui je sais on peux pas valeur par defaut sur un file mais imaginon que ton image a la une te plai
et que tu ve juste changer le contenu ba quand tu clik sur le bouton modifier acose du file
l'image ne reste pas sa l'enléve sais pas terrible

Si tu réfléchit, dans la logique des chose, si tu ne veux pas modifier l'image, tu ne va pas remplir ton input file donc il sera vide, si tu le remplit, c'est que tu veux modifier l'image. Donc tu as juste à faire la vérification si ton input est vide ou non ;)

Bon courage !

Roxeur
Auteur

Ok merci DevAddict je suis nul tu pourrait pas me montrer des bou de code que je trafic un peux ?