bonjour tout le monde, alors voila mon problème : sur mon site les internaute peuvent poster des annonces et peuvent les accompagner d'une photo il y a 3 étapes (étape 1 : rubrique de l'annonce texte de l'annonce et photo, étape 2 : choix d'options, aperçu de l'annonce et le récapitulatif de l'annonce avec le prix et l'étape 3 c'est l’envoie de toutes les données et le payement)
dans l'étape un l'utilisateur peut donc ajouter une photo à sont texte et passer à l'étape 2 (récupération de la photo avec $_FILES) sauf qu'il peut revenir à l'étape 1 pour modifier... à ce moment là je reprend ma photo, pour l'affiché (en méthode $_GET) puis s'il ne change pas sa photo il la récupère a nouveau dans l'étape 2 mais en $_POST cette fois sauf que ma variable en $_POST est vide et je ne comprends pas...
voici mes morceaux de code :
étape 1 :
et dans l'étape 2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <input type="file" name="photo" size="20" style="font-size:12px; height:20;"<br> jpg uniquement - format minimum : 390/260 --- Poids : 1 Mo Max<br> <?php // ma variable toto c'est pour qu'il y ai que moi qui voit la photo étant donné que ce n'est pas pas en place if(@$_GET['toto']){?> <tr><td valign="middle" align="center"> <img src="../photo_temp/<?php echo $_GET['photo'];?>" name="maphoto" id="maphoto" <?php }?>
et dans mon <input type="hidden" value="<? echo $maphoto;?>" name="chemin_photo"> je vois dans firebug que ma value est vide... quelqu'un à une idée sur le problème? svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 if(isset($_FILES["photo"])){$photo=$_FILES["photo"];}else{$photo="";} if(isset($_POST['maphoto'])){$maphoto=$_POST['maphoto'];}else{$maphoto="";} $nom_photo = strtr($_FILES['photo']['name'],'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $nom_photo = preg_replace('/([^.a-z0-9]+)/i', '-', $nom_photo); $name_file = $nom_photo; $photo='../photo_temp/'.$name_file; <? if(isset($_FILES["photo"])){ if($_FILES["photo"]['error'] != 4){?> <input type="hidden" value="<? echo $name_file;?>" name="chemin_photo"> <? } //elseif(isset($_POST['photo'])){?> <!--retourne le champ photo après modification de l'annonce mais pas de modification de la photo--> <input type="hidden" value="<? echo $maphoto;?>" name="chemin_photo"> <?php //}?>
En gros comment on fait pour prendre que le nom de l'image sans son adresse sachant qu'à l'ouverture de la nouvelle page (aperçu)l'adresse sera contenu dans une variable et pas dans un input type files.
Partager