Formulaire php probleme mise a jour photo [Résolu/Fermé]

Signaler
Messages postés
99
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
11 juin 2021
-
Messages postés
99
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
11 juin 2021
-
Bonjour

un petit soucis lors de l'édition d'un formulaire:
je vous refait ma procédure

dans mon formulaire de saisie de donnée, j'upload la photo avec :

<label>Photo:</label>
<input type="file" name="photo">



dans le traiment :

<img src="images/<?php echo($nomPhoto) ?>"width="90" height="113>



maintenant dans mon formulaire, il y a la possibilité de modifier les infos saisies
mais quand je clique pour éditer le formulaire et ensuite quand je le réenregistre à nouveau, la photo
précédement uploader disparait.
ce que je souhaite c'est que il y ait la possibilité de modifier (en n'en uploadant une nouvelle) ou pas la photo.
et que dans le cas ou je ne change pas de photo, celle ci reste lors du réenregistrement à nouveau.

je vous met les codes lors de l'édition :

dans mon fichier éditer.php

<?php
require_once("connection.php");
$code = $_GET['code'];
$req = "select * from ELEVES where CODE=$code";
$rs = mysql_query($req) or die(mysql_error());
$ET = mysql_fetch_assoc($rs);
?>


<td>Photo:</td>
    <td>
        <img src="images/<?php echo($ET['PHOTO']) ?>" width="90" height="113">
        <input type="file" name="photo"></td>


et dans mon fichier modifier.php

$file_tmp_name = $_FILES['photo']['tmp_name'];
move_uploaded_file($file_tmp_name, "./images/$nomPhoto");



$req = "update ELEVES set CLASSE='$classe',INSCRIPTION='$inscription',PHOTO='$nomPhoto'


je vous épargne de tous le code. j'ai juste mis les parties traitant sur les photos.


www.tremvi.com www.bawolo.com www.biz243.com</<

2 réponses

Messages postés
3
Date d'inscription
mardi 13 janvier 2015
Statut
Membre
Dernière intervention
13 janvier 2015

salut,
bravo à vous,
d'abord le guillemet au niveau de $req n'est pas fermer,
en plus il faut voir ton requête sql est ce que quelque ne manque pas.
Merci et du courage!
Messages postés
99
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
11 juin 2021

Le req est bien fermé
Ici je n'ai mis que les parties photos, le formulaire est très très long.
Messages postés
2381
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
17 juin 2021
446
Salut,

Ton problème vient du fait que même si le input name="file" est vide, tu exécutes le traitement de l'upload de la photo.

Il suffit donc que tu vérifies la valeur de l'input name="file" et que tu n'exécutes l'upload (l'appel à move_uploaded_file...) que si cet input n'est pas vide.

Bonne journée
je suis vraiment débutant sur php peux tu m'aider avec un procédure? si c'est pas trop te demander ?

Merci
Messages postés
2381
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
17 juin 2021
446
Il faudrait faire quelque chose comme ceci dans ton fichier modifier.php :
// on vérifie qu'un fichier est envoyé 
if ($_FILES['photo']['size'] > 0) {
    // si un fichier est envoyé, on enregistre ce fichier
    $file_tmp_name = $_FILES['photo']['tmp_name'];
    move_uploaded_file($file_tmp_name, "./images/$nomPhoto");

    // puis on l'enregistre en bdd
    $req = "update ELEVES set CLASSE='$classe',INSCRIPTION='$inscription',PHOTO='$nomPhoto'";
} else {
    // si aucun fichier n'est envoyé, on met à jour la bdd sans l'information sur la photo
    $req = "update ELEVES set CLASSE='$classe',INSCRIPTION='$inscription'";
}

// on exécute la requête sql ...
Messages postés
99
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
11 juin 2021
>
Messages postés
2381
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
17 juin 2021

merci, je teste cela et je reviens vers toi