Input type file

Bonjour,

J'ai un formulaire pour uploader les photos. Lorsque je mets à jour les champs sauf celui l'image, l'image disparait. Comment vérifier si l'image existe, et dans ce cas, ne renvoie pas une valeur vide dans la bd?

Merci d'avance
Configuration: Windows Vista
Firefox 3.0.5

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonsoir,
    Voici mon script, j'espere avoir mis l'essentiel. Le formulaire d'upload fonctionne mais juste au moment de modifier des informations, cela me renvoie une valeur vide, il faut à chaque fois réuploader les photos...Comment donc vérifier si l'image existe, et dans ce cas, ne renvoie pas une valeur vide dans la bd?

    if (isset($_FILES))
    {
    if (!empty($_FILES))
    {
    $dir ="pics/" . $_FILES["fichier"]["name"];
    $destination="upload/" . $_FILES["fichier"]["name"];
    $result=move_uploaded_file($fichier,$dir);
    if($result==true) {echo "<hr /> le transfert est réalisé!";}
    else {echo "<hr /> Erreur de transfert °",$_FILES["fich"]["error"];}
    }
    }
    //......puis script pour réduire les photos......

    if (isset($_POST['titre']) AND isset($_POST['contenu']))
    {
    $titre = addslashes($_POST['titre']);
    $contenu = addslashes($_POST['contenu']);
    $destination="upload/" . $_FILES["fichier"]["name"];
    $date = $_POST['date'];

    // On vérifie si c'est une modification de news ou pas
    if ($_POST['id_news'] == 0)
    {
    // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
    mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . $date . "', '" . $destination . "')");
    }
    else
    {
    $_POST['id_news'] = addslashes($_POST['id_news']);
    $destination="upload/" . $_FILES["fichier"]["name"];
    // C'est une modification, on met juste à jour le titre et le contenu
    mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "', date='" . $date "', destination='" . $destination . "'WHERE id='" . $_POST['id_news'] . "'");
    }
    }
    }

    //Formulaire
    <form action="" enctype="multipart/form-data" method="post">
    <p>Date (Format: AAAA-MM-JJ) : <input type="text" size="30" name="date" value="<?php echo $date; ?>" />
    <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" />
    Contenu :<br />
    <textarea name="contenu" cols="50" rows="10">
    <?php echo $contenu; ?>
    </textarea><br />
    Photo(formats:JPG,PNG) <input type ="file" name="fichier" accept="image/jpg" size="50" value="<?php echo $destination;?>"><p>
    <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
    <input type="submit" value="Envoyer" />
    </p>
    </form>