Pourquoi l'upload fait t'il une erreur ???

Eléphant du PHP | 218 Messages

04 juin 2010, 19:54

Bonjour à tous, alors voici la devinette du jour...
J'ai une boucle qui affiche des boites de description avec la possibilité de charger 3 photos pour chaque boites. Petit exemple ici (ne pas faire attention aux erreur c'est normal c'est pas fini :roll: ) :
http://www.mabouille.com/mabouille/temp ... bouilles=2

alors ce qui ne va pas est que lorsqu'il y a plusieur boites de description et que l'on upload une photo dans la premiere boite de description, la photo s'upload comme il faut mais la seconde disparait et affiche "fichier introuvable". Par contre si j'upload une photo dans la dexieme boite de description il n'y a pas d'erreur ni dans la première boite ni dans la seconde #-o

alors voici un tit shéma de mon code avec la partie is_uploaded_file() que je soupsone être a l'origine du problème :

<form method="post" enctype="multipart/form-data" action="#">
<?php		


while ($donnees = $reponse->fetch())
{

		  /*************************************/
		 /*** Valeurs du formulaire d'upload
		/*************************************/		
		if( isset($_FILES[$photo]['name']))
		{
			// variables disponibles
						$nom_photo = $_FILES[$photo]['name']; //Le nom original du fichier, comme sur le disque du visiteur, (exemple: mon_icone.png).
						$extension_photo = $_FILES[$photo]['type']; //Le type du fichier. Par exemple, cela peut être "image/png"
						$taille_fichier = $_FILES[$photo]['size']; //La taille du fichier en octets
						$fichier_tmp = $_FILES[$photo]['tmp_name']; //L'adresse vers le fichier uploadé dans le répertoire temporaire
						$erreur = $_FILES[$photo]['error']; //Le code d'erreur, qui permet de savoir si le fichier a bien été uploadé	
			// dossier photos
						$dossier_photos = '../../photos/'; 
			// on vérifie si le fichier temporaire est présent
						if( !is_uploaded_file($fichier_tmp) )
						{
							exit("Le fichier est introuvable.");
						}
			// on vérifie l'extension
						if( !strstr($extension_photo, 'jpg') and !strstr($extension_photo, 'jpeg') and !strstr($extension_photo, 'bmp') and !strstr($extension_photo, 'gif') and !strstr($extension_photo, 'png') and !strstr($extension_photo, 'tiff'))
						{
							exit("Les fichiers avec l'extension $extension_photo ne sont pas autorisés.");
						}
			// on vérifie le poid maximum de la photo (10mo)
						if ($taille_fichier > 10000000)
						{
							exit("Votre photo est trop volumineuse, merci d'en réduire la taille.");
						}
			// on vérifie la taille minimum de la photo en pixels (100x100px)			
						$taille_photo = getimagesize($fichier_tmp);
						if ($taille_photo[0] < 100 OR $taille_photo[1] < 100)
						{
							exit("Votre photo est trop petite, merci d'en choisir une de meilleure qualité.");
						}
			// On renomme le fichier puis on le copie dans le dossier de destination
						$nom_photo_renomme = md5(uniqid(rand(), true)); // uniquid() Génère un identifiant unique basé sur la date et heure courante en microsecondes.
						$extension_photo = strtolower(strrchr($nom_photo, '.')); //strrchr renvoie l'extension avec le point // strtolower met l'extension en minuscule
						$nom_photo_renomme_avec_extension = $nom_photo_renomme . $extension_photo;
						
						
						if( !move_uploaded_file($fichier_tmp, $dossier_photos . $nom_photo_renomme_avec_extension) )
						{
							exit("Une erreur s'est produite, impossible de copier le fichier dans $dossier_photos");
						}
						
			//Création de la SESSION contenant le nom de la photo uploadé (avec extension)
			$_SESSION['bouille'][$photo] = $nom_photo_renomme_avec_extension;
			echo "Votre photo a bien été envoyée.";








		<!---- Upload photo_1 ---->

			<div class="miniature_photo" >
				<?php affichage_miniature('photo_' . $nombre_de_boites . '_1'); ?>
				<div class="parcourirdiv" ><img class="parcourirdiv" src="../../interface/bt_parcourir.gif" id="imgparc_<?php echo $nombre_de_boites ?>_1" /><input type="file" class="parcourir" onchange="document.getElementById('div_<?php echo $nombre_de_boites ?>_1').submit()" name="photo_<?php echo $nombre_de_boites ?>_1" OnMouseOver="imgparc_<?php echo $nombre_de_boites ?>_1.src='../../interface/bt_parcourir_push.gif';" OnMouseOut="imgparc_<?php echo $nombre_de_boites ?>_1.src='../../interface/bt_parcourir.gif';" /></div>

				<input type="file" name="photo_<?php echo $nombre_de_boites; ?>_1" /><br />
<input type="submit" name="boutonphoto_<?php echo $nombre_de_boites ?>_1" value="Envoyer le fichier" />

<input type="hidden" name="photo_<?php echo $nombre_de_boites ?>_1" value="photo_<?php echo $nombre_de_boites ?>_1" />
		<!---- Supprimer photo_1 ---->

				<input type="image" class="supprimerphoto_<?php echo $nombre_de_boites ?>_1" src="../../interface/bt_supprimerphoto.gif" onmouseover="this.src='../../interface/bt_supprimerphoto_push.gif'" onmouseout="this.src='../../interface/bt_supprimerphoto.gif'" />
				<input type="hidden" name="supprimerphoto" value="supprimerphoto_<?php echo $nombre_de_boites ?>_1" />
			</div>

		
		
		
		
		<!---- Upload photo_2 ---->

			<div class="miniature_photo" >
				<?php affichage_miniature('photo_' . $nombre_de_boites . '_2'); ?>
				<div class="parcourirdiv" ><img class="parcourirdiv" src="../../interface/bt_parcourir.gif" id="imgparc_<?php echo $nombre_de_boites ?>_2" /><input type="file" class="parcourir" onchange="document.getElementById('div_<?php echo $nombre_de_boites ?>_2').submit()" name="photo_<?php echo $nombre_de_boites ?>_2" OnMouseOver="imgparc_<?php echo $nombre_de_boites ?>_2.src='../../interface/bt_parcourir_push.gif';" OnMouseOut="imgparc_<?php echo $nombre_de_boites ?>_2.src='../../interface/bt_parcourir.gif';" /></div>
<input type="file" name="photo_<?php echo $nombre_de_boites ?>_2" /><br />
				<input type="submit" name="boutonphoto_<?php echo $nombre_de_boites ?>_2" value="Envoyer le fichier" />			

<input type="hidden" name="photo_<?php echo $nombre_de_boites ?>_2" value="photo_<?php echo $nombre_de_boites ?>_2" />
		<!---- Supprimer photo_2 ---->

				<input type="image" class="supprimerphoto_<?php echo $nombre_de_boites ?>_2" src="../../interface/bt_supprimerphoto.gif" onmouseover="this.src='../../interface/bt_supprimerphoto_push.gif'" onmouseout="this.src='../../interface/bt_supprimerphoto.gif'" />
				<input type="hidden" name="supprimerphoto" value="supprimerphoto_<?php echo $nombre_de_boites ?>_2" />
			</div>

		
		
		
		
		<!---- Upload photo_3 ---->

			<div class="miniature_photo" >
				<?php affichage_miniature('photo_' . $nombre_de_boites . '_3'); ?>
				<div class="parcourirdiv" ><img class="parcourirdiv" src="../../interface/bt_parcourir.gif" id="imgparc_<?php echo $nombre_de_boites ?>_3" /><input type="file" class="parcourir" onchange="document.getElementById('div_<?php echo $nombre_de_boites ?>_3').submit()" name="photo_<?php echo $nombre_de_boites ?>_3" OnMouseOver="imgparc_<?php echo $nombre_de_boites ?>_3.src='../../interface/bt_parcourir_push.gif';" OnMouseOut="imgparc_<?php echo $nombre_de_boites ?>_3.src='../../interface/bt_parcourir.gif';" /></div>
<input type="file" name="photo_<?php echo $nombre_de_boites ?>_3" /><br />
				<input type="submit" name="boutonphoto_<?php echo $nombre_de_boites ?>_3" value="Envoyer le fichier" />

<input type="hidden" name="photo_<?php echo $nombre_de_boites ?>_3" value="photo_<?php echo $nombre_de_boites ?>_3" />
		<!---- Supprimer photo_3 ---->

				<input type="image" class="supprimerphoto_<?php echo $nombre_de_boites ?>_3" src="../../interface/bt_supprimerphoto.gif" onmouseover="this.src='../../interface/bt_supprimerphoto_push.gif'" onmouseout="this.src='../../interface/bt_supprimerphoto.gif'" />
				<input type="hidden" name="supprimerphoto" value="supprimerphoto_<?php echo $nombre_de_boites ?>_3" />
			</div>
		}








		$nombre_de_boites++; 
	}

et ci dessous le code complet de ma page help help help!!! :
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>&#8362; Une idée cadeau original pour un anniversaire et des cadeaux Personnalisés de départ à la retraite.</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <meta name="description" content="Idée cadeau original pour homme. La boutique des cadeaux originaux pour femme. Idée cadeaux pour anniversaire, noël, saint valentin, départ en retraite...">
	   <meta name="keywords" content="anniversaire, aniversaire, aniverssaire, idée cadeau, idée cadeaux, idées cadeaux, idee, idée, idées,idee,cadeau, cadeaux, original, cadeau original, originaux, cadeaux originaux, sympathique, caricature, carricature, caricature, insolites, carte personnalisée, perssonalisee, rigolo, pas cher, fun">


	   
	   
	   
	   
	   
	   
	   
	   
	   
<!--validation du formmulaire avec message d'alert-->
<script language="javascript" type="text/javascript">
<!--

function validation() 
{
		// if(document.FORMULAIRE.photo.value == "") 
		// { 
        // alert ('Veuillez envoyer au moins une photo'); 
        // document.FORMULAIRE.photo.focus(); 
        // return false; 
    	// }
       	if(document.FORMULAIRE.pseudo.value == "") 
		{ 
        alert ('Veuillez entrer le pseudo de la bouille'); 
        document.FORMULAIRE.pseudo.focus(); 
        return false; 
    	}


else {return true;}
}
// -->
</script>





	   
	   
	   
	   
	   
   </head>
	
<body>
<link rel="stylesheet" media="screen" type="text/css" title="CSS" href="../../templates/css/pages.css" />
<link rel="stylesheet" media="screen" type="text/css" title="CSS" href="../../templates/css/etape3.css" />



<!-------------------->
<!---- Menu haut
<!-------------------->   
<!--connexion mysql-->
<?php include("../../class/bouilleDB.php"); ?>
<!--fonctions-->
<?php include("../../includes/functions/functions.php"); ?>
<!--menu du haut-->
<?php include("../../templates/pages/menu_haut.php"); ?>
<!--script POPUP-->
<?php include("../../includes/scripts/popup.php"); ?>





<!---- page blanche début ---->
<div id="page_blanche">





<!---- Frise ---->
<p >
<img src="../../interface/frise_1.gif" />
<img src="../../interface/frise_2.gif" />
<img src="../../interface/frise_3.gif" />
<img src="../../interface/frise_4off.gif" />
<img src="../../interface/frise_5off.gif" />
<img src="../../interface/frise_6off.gif" />
<img src="../../interface/frise_7off.gif" />
</p>



<br />



<!---- Introduction ---->
<p>
	Description de vos bouilles...
</p>














<?php
  /*********************************************************************************/
 /*** Créer une redirection si on veut changer la quantité de bouille par le GET
/*********************************************************************************/
if ($_SESSION['nb_de_bouilles'] < $_GET['nombre_bouilles'])
{
	header("Location: http://www.mabouille.com/");
}
?>









<?php
  /***************************************************/
 /*** Affichage de la miniature si la photo existe
/***************************************************/
function affichage_miniature($numero_photo)
{
	if(isset($_SESSION['bouille'][$numero_photo]) == null)
	{
		echo '<img src="../../interface/upload.jpg" alt="Miniature du téléchargement de la photo." />';
	}
	else
	{
		echo '<img src="../../photos/thumb/' . $_SESSION['bouille'][$numero_photo] . '" alt="Miniature de l\'upload de la photo." />';
	}
}
?>







<?php
  /********************************************************/
 /*** Récupération du post prix de la mise en situation
/********************************************************/
if (isset($_POST['prix_bouille']))
{
	$prix_bouille = htmlspecialchars($_POST['prix_bouille']);
	$_SESSION['prix_de_la_mise_en_situation'] = $prix_bouille;
}
?>





<form method="post" enctype="multipart/form-data" action="#">
<?php
  /********************************************/
 /*** Présentation de la mise en situation
/********************************************/
// Insertion à l'aide d'une requête préparée
$reponse = $bdd->prepare("
						SELECT *
						FROM bouille_situations
						JOIN bouille_prix
						ON objet = 'miseensituation'
						WHERE id = :id
						ORDER BY ordre
						");
$reponse->execute(array('id' => $_GET['id']));

		
		

while ($donnees = $reponse->fetch())
{

	//Nom du fichier image sans l'extension .jpg
	$image_sans_lextension = explode('.', $donnees['image']);

	
	
	$_SESSION['nom_de_la_mise_en_situation'] = $donnees['titre'];


	?>
	<div class="divdescription" >
		<p><img src="../../thumb/<?php echo $image_sans_lextension[0] . '_' . $_GET['nombre_bouilles'] . '.jpg'; ?>" alt="Image de la mise en situation." /></p>
	<p class="description" >


		<strong>
			<?php echo $donnees['titre']; ?>
		</strong>


	<span class="prix" ><?php echo $_SESSION['prix_de_la_mise_en_situation']; ?> €</span><br />

	<?php echo nl2br($donnees['description']); ?>

	</p>
	</div>
	<?php
}








	
















  /*************************************************/
 /*** Afficher les boites de description bouille
/*************************************************/

	$nombre_de_boites = 1;


	while ($nombre_de_boites <= $_GET['nombre_bouilles'])
	{
		
		
		
		
		
		
		
		//POST envoyé par le formulaire "file" et permettant de préciser s'il s'agit de la photo 1, 2 ou 3
		if (isset($_POST['boutonphoto_' . $nombre_de_boites . '_1']))
		{
			$photo = null;
			$photo = $_POST['photo_' . $nombre_de_boites . '_1'];
		}
		if (isset($_POST['boutonphoto_' . $nombre_de_boites . '_2']))
		{
			$photo = null;
			$photo = $_POST['photo_' . $nombre_de_boites . '_2'];
		}
		if (isset($_POST['boutonphoto_' . $nombre_de_boites . '_3']))
		{
			$photo = null;
			$photo = $_POST['photo_' . $nombre_de_boites . '_3'];
		}

		

	

//@$photo = $_POST['photo_' . $nombre_de_boites . '_1'];


	//POST envoyé par le bouton "supprimer" et permettant de préciser s'il s'agit de la photo 1, 2 ou 3
		@$supprimerphoto = $_POST['supprimerphoto'];










		  /*************************************/
		 /*** Valeurs du formulaire d'upload
		/*************************************/		
		if( isset($_FILES[$photo]['name']))
		{
			// variables disponibles
						$nom_photo = $_FILES[$photo]['name']; //Le nom original du fichier, comme sur le disque du visiteur, (exemple: mon_icone.png).
						$extension_photo = $_FILES[$photo]['type']; //Le type du fichier. Par exemple, cela peut être "image/png"
						$taille_fichier = $_FILES[$photo]['size']; //La taille du fichier en octets
						$fichier_tmp = $_FILES[$photo]['tmp_name']; //L'adresse vers le fichier uploadé dans le répertoire temporaire
						$erreur = $_FILES[$photo]['error']; //Le code d'erreur, qui permet de savoir si le fichier a bien été uploadé	
			// dossier photos
						$dossier_photos = '../../photos/'; 
			// on vérifie si le fichier temporaire est présent
						if( !is_uploaded_file($fichier_tmp) )
						{
							exit("Le fichier est introuvable.");
						}
			// on vérifie l'extension
						if( !strstr($extension_photo, 'jpg') and !strstr($extension_photo, 'jpeg') and !strstr($extension_photo, 'bmp') and !strstr($extension_photo, 'gif') and !strstr($extension_photo, 'png') and !strstr($extension_photo, 'tiff'))
						{
							exit("Les fichiers avec l'extension $extension_photo ne sont pas autorisés.");
						}
			// on vérifie le poid maximum de la photo (10mo)
						if ($taille_fichier > 10000000)
						{
							exit("Votre photo est trop volumineuse, merci d'en réduire la taille.");
						}
			// on vérifie la taille minimum de la photo en pixels (100x100px)			
						$taille_photo = getimagesize($fichier_tmp);
						if ($taille_photo[0] < 100 OR $taille_photo[1] < 100)
						{
							exit("Votre photo est trop petite, merci d'en choisir une de meilleure qualité.");
						}
			// On renomme le fichier puis on le copie dans le dossier de destination
						$nom_photo_renomme = md5(uniqid(rand(), true)); // uniquid() Génère un identifiant unique basé sur la date et heure courante en microsecondes.
						$extension_photo = strtolower(strrchr($nom_photo, '.')); //strrchr renvoie l'extension avec le point // strtolower met l'extension en minuscule
						$nom_photo_renomme_avec_extension = $nom_photo_renomme . $extension_photo;
						
						
						if( !move_uploaded_file($fichier_tmp, $dossier_photos . $nom_photo_renomme_avec_extension) )
						{
							exit("Une erreur s'est produite, impossible de copier le fichier dans $dossier_photos");
						}
						
			//Création de la SESSION contenant le nom de la photo uploadé (avec extension)
			$_SESSION['bouille'][$photo] = $nom_photo_renomme_avec_extension;
			echo "Votre photo a bien été envoyée.";
		}


				
				
				
				
				
				
				
				

	
		  /***************************************************/
		 /*** Création de miniatures avec la librairie GD
		/***************************************************/	
		if(isset($_SESSION['bouille'][$photo]))
		{		
			$source = imagecreatefromjpeg('../../photos/' . $nom_photo_renomme_avec_extension); // La photo est la source
			$destination = imagecreatetruecolor(100, 100); // On crée la miniature vide

			// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
			$largeur_source = imagesx($source);
			$hauteur_source = imagesy($source);
			$largeur_destination = imagesx($destination);
			$hauteur_destination = imagesy($destination);

			// On crée la miniature
			imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);

			// On enregistre la miniature sous le nom "mini_couchersoleil.jpg"
			imagejpeg($destination, '../../photos/thumb/' . $nom_photo_renomme . '.jpg');
		}

					
				
				
				

				
				
				
				
				
				


		  /***************************************************/
		 /*** Suppresion de la photo et de sa miniature
		/***************************************************/	
		if (isset($_POST['supprimerphoto']))
			{
				unlink ('../../photos/' . $_SESSION['bouille'][$supprimerphoto]);
				unlink ('../../photos/thumb/' . $_SESSION['bouille'][$supprimerphoto]);
				unset($_SESSION['bouille'][$supprimerphoto]);
			}

		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		

		
		?>
		<!---- début boite de description bouille ---->
		<div class="boite_avec_nb_bouilles_restantes" >


		<p><span class="texte_nb_bouilles_restantes" >Description de la bouille <?php echo $nombre_de_boites . '/' . $_GET['nombre_bouilles']; ?></p></span>





		<div id="boite_description_bouille">
		 

		<p class="cartouche_noir" ><img src="../../interface/txt_description_a.gif" alt="Déscription d'une bouille" /></p>
		
		<br />
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		<?php
		  /*********************************************************************/
		 /*** Redirection vers étape suivante si les conditions sont remplis
		/*********************************************************************/

		if (isset($_POST['valider']) == 'oui')
		{
			if (isset($_SESSION['bouille']['photo_' . $nombre_de_boites . '_1']) == 'photo_' . $nombre_de_boites . '_1' OR isset($_SESSION['bouille']['photo_' . $nombre_de_boites . '_2']) == 'photo_' . $nombre_de_boites . '_2' OR isset($_SESSION['bouille']['photo_' . $nombre_de_boites . '_3']) == 'photo_' . $nombre_de_boites . '_3')
			{

			//echo 'paaaaaagggggeeeeeee suiiiiiivvvaaaannnnttteeee';

			
				// if (isset($_SESSION['bouille']['photo_' . $nombre_de_boites . '_2']) == 'photo_' . $nombre_de_boites . '_2')
				// {
					// header("Location: ../../templates/pages/etape4_supports.php");
					// exit();
				// }
			}
			else
			{
				echo '<span class="erreur" >Vous devez envoyer au moins 1 photo pour cette bouille</span>';
				
				$erreurs_objet_manquant = array(); // tableau des erreurs de saisie
				$erreurs_objet_manquant[] = '<span class="erreur" >Vous devez envoyer au moins 1 photo pour chaque bouille.<br />
				Si vous ne parvenez pas a envoyer vos photos merci de cocher la case destinée à cet effet.</span>';
			}
		}
		
		?>
		
	
		
		
		
		
		
		
		
		
		
		
		
		
		
		<p>
			<strong>Envoyer les photos de la personne à transformer</strong><br />
			(au moins 1 photo obligatoire, maximum 10mo) :
		</p>
		
		

		
		
		
		<!---- Upload photo_1 ---->

			<div class="miniature_photo" >
				<?php affichage_miniature('photo_' . $nombre_de_boites . '_1'); ?>
				<div class="parcourirdiv" ><img class="parcourirdiv" src="../../interface/bt_parcourir.gif" id="imgparc_<?php echo $nombre_de_boites ?>_1" /><input type="file" class="parcourir" onchange="document.getElementById('div_<?php echo $nombre_de_boites ?>_1').submit()" name="photo_<?php echo $nombre_de_boites ?>_1" OnMouseOver="imgparc_<?php echo $nombre_de_boites ?>_1.src='../../interface/bt_parcourir_push.gif';" OnMouseOut="imgparc_<?php echo $nombre_de_boites ?>_1.src='../../interface/bt_parcourir.gif';" /></div>

				<input type="file" name="photo_<?php echo $nombre_de_boites; ?>_1" /><br />
<input type="submit" name="boutonphoto_<?php echo $nombre_de_boites ?>_1" value="Envoyer le fichier" />

<input type="hidden" name="photo_<?php echo $nombre_de_boites ?>_1" value="photo_<?php echo $nombre_de_boites ?>_1" />
		<!---- Supprimer photo_1 ---->

				<input type="image" class="supprimerphoto_<?php echo $nombre_de_boites ?>_1" src="../../interface/bt_supprimerphoto.gif" onmouseover="this.src='../../interface/bt_supprimerphoto_push.gif'" onmouseout="this.src='../../interface/bt_supprimerphoto.gif'" />
				<input type="hidden" name="supprimerphoto" value="supprimerphoto_<?php echo $nombre_de_boites ?>_1" />
			</div>

		
		
		
		
		<!---- Upload photo_2 ---->

			<div class="miniature_photo" >
				<?php affichage_miniature('photo_' . $nombre_de_boites . '_2'); ?>
				<div class="parcourirdiv" ><img class="parcourirdiv" src="../../interface/bt_parcourir.gif" id="imgparc_<?php echo $nombre_de_boites ?>_2" /><input type="file" class="parcourir" onchange="document.getElementById('div_<?php echo $nombre_de_boites ?>_2').submit()" name="photo_<?php echo $nombre_de_boites ?>_2" OnMouseOver="imgparc_<?php echo $nombre_de_boites ?>_2.src='../../interface/bt_parcourir_push.gif';" OnMouseOut="imgparc_<?php echo $nombre_de_boites ?>_2.src='../../interface/bt_parcourir.gif';" /></div>
<input type="file" name="photo_<?php echo $nombre_de_boites ?>_2" /><br />
				<input type="submit" name="boutonphoto_<?php echo $nombre_de_boites ?>_2" value="Envoyer le fichier" />			

<input type="hidden" name="photo_<?php echo $nombre_de_boites ?>_2" value="photo_<?php echo $nombre_de_boites ?>_2" />
		<!---- Supprimer photo_2 ---->

				<input type="image" class="supprimerphoto_<?php echo $nombre_de_boites ?>_2" src="../../interface/bt_supprimerphoto.gif" onmouseover="this.src='../../interface/bt_supprimerphoto_push.gif'" onmouseout="this.src='../../interface/bt_supprimerphoto.gif'" />
				<input type="hidden" name="supprimerphoto" value="supprimerphoto_<?php echo $nombre_de_boites ?>_2" />
			</div>

		
		
		
		
		<!---- Upload photo_3 ---->

			<div class="miniature_photo" >
				<?php affichage_miniature('photo_' . $nombre_de_boites . '_3'); ?>
				<div class="parcourirdiv" ><img class="parcourirdiv" src="../../interface/bt_parcourir.gif" id="imgparc_<?php echo $nombre_de_boites ?>_3" /><input type="file" class="parcourir" onchange="document.getElementById('div_<?php echo $nombre_de_boites ?>_3').submit()" name="photo_<?php echo $nombre_de_boites ?>_3" OnMouseOver="imgparc_<?php echo $nombre_de_boites ?>_3.src='../../interface/bt_parcourir_push.gif';" OnMouseOut="imgparc_<?php echo $nombre_de_boites ?>_3.src='../../interface/bt_parcourir.gif';" /></div>
<input type="file" name="photo_<?php echo $nombre_de_boites ?>_3" /><br />
				<input type="submit" name="boutonphoto_<?php echo $nombre_de_boites ?>_3" value="Envoyer le fichier" />

<input type="hidden" name="photo_<?php echo $nombre_de_boites ?>_3" value="photo_<?php echo $nombre_de_boites ?>_3" />
		<!---- Supprimer photo_3 ---->

				<input type="image" class="supprimerphoto_<?php echo $nombre_de_boites ?>_3" src="../../interface/bt_supprimerphoto.gif" onmouseover="this.src='../../interface/bt_supprimerphoto_push.gif'" onmouseout="this.src='../../interface/bt_supprimerphoto.gif'" />
				<input type="hidden" name="supprimerphoto" value="supprimerphoto_<?php echo $nombre_de_boites ?>_3" />
			</div>

		
	

		

		
		
		

		
		<p>
			<input type="checkbox" value="1" name="pas_de_photos<?php echo $nombre_de_boites ?>" id="pas_de_photos<?php echo $nombre_de_boites ?>" />
			<label for="pas_de_photos<?php echo $nombre_de_boites ?>">
			Cochez cette case si vous ne parvenez pas a envoyer vos photos.<br />
			Vous les enverrez par email une fois votre commande achevée.<br />
			</label>
		</p>


		
		
		
		<br />
		
		
		
		
		
		<?php
		//Création de la session pseudo
		if (isset($_POST['pseudo_' . $nombre_de_boites])) 
		{
			$_SESSION['bouille']['pseudo_' . $nombre_de_boites] = htmlspecialchars($_POST['pseudo_' . $nombre_de_boites]);
		}
		
			  

		?>
		<label for="pseudo_<?php echo $nombre_de_boites ?>"><strong>Pseudo de la bouille</strong> (obligatoire) : </label> <input value="<?php if (!empty($_SESSION['bouille']['pseudo_' . $nombre_de_boites])) { echo $_SESSION['bouille']['pseudo_' . $nombre_de_boites]; }?>" size="39" maxlength="30" type="text" name="pseudo_<?php echo $nombre_de_boites ?>" id="pseudo_<?php echo $nombre_de_boites ?>" />
		

		

		
		<br /><br />
		
		
		
		


		<p>
		<?php
		
		if (isset ($_POST['commentaire_' . $nombre_de_boites]))
		{

			$_SESSION['bouille']['commentaire_' . $nombre_de_boites] = htmlspecialchars($_POST['commentaire_' . $nombre_de_boites]);
		}


			  

		?>
			<label for="commentaire">
			<strong>Commentaires</strong> (facultatif) :<br />
			ex. : Toujours mal rasé, toujours le sourire, utiliser la coiffure de la première photo,
			il porte des lunettes...
			</label><br />
			
			<textarea name="commentaire_<?php echo $nombre_de_boites ?>" cols="45" id="commentaire" ><?php if (!empty($_SESSION['bouille']['commentaire_' . $nombre_de_boites])) { echo $_SESSION['bouille']['commentaire_' . $nombre_de_boites]; }?></textarea>
		</p>
		
		
		
		
		
		

		<br />


		<p>
			<label for="bulle">
			<strong>Si vous souhaitez ajouter un texte sous forme d'une bulle pour faire parler
			votre bouille alors saisissez le ci-dessous</strong> (facultatif) :<br />
			<a href="javascript:PopupImage('../../images/bulle.jpg')" alt="Une bulle pour votre bouille comme pour une bande dessinée." >voir des exemples</a><br />
			Attention à l'orthographe car le texte sera ajouté automatiquement
			</label>

			<input type="text" name="bulle" id="bulle" size="60" maxlength="100" /><br />
			(100 caractères maximum)
		</p>

		
		</div>
		</div>
		<!---- fin boite de description bouille ---->
		<?php	
		$nombre_de_boites++; 
	}
	?>











		<?php
		  /*************************************************/
		 /*** Afficher les boites de description magazine
		/*************************************************/ 

			
		if (isset($_POST['oui_non']) == 1) //1 vaut 'oui' à la question option magazine
		{
			$_SESSION['magazine']['oui_non'] = htmlspecialchars($_POST['oui_non']);
			$_SESSION['magazine']['date'] = htmlspecialchars($_POST['date']);
			$_SESSION['magazine']['titre'] = htmlspecialchars($_POST['titre']);
			$_SESSION['magazine']['texte1'] = htmlspecialchars($_POST['texte1']);
			$_SESSION['magazine']['texte2'] = htmlspecialchars($_POST['texte2']);
		}
		?>






		
		
		
		
		
		
		
		<!---- début boite de description magazine ---->
			<p class="option_magazine" >Option présentation comme une 1ère de couv' (4€ supplémentaire).</p>
			<p>Notre équipe de professionnels en PAO (publication assisté par ordinateur) issue du monde de la publicité et de la communication se chargera d'adapter la mise en page en rapport aux textes fournis, à la mise en situation et à l'événement. Voir des exemples</p>
			
			

			<div id="boite_description_magazine">

			<p class="cartouche_noir" ><img src="../../interface/txt_description_magazine.gif" alt="Description d'une bouille" /></p>


			<p><img class="image_mag" src="../../thumb/<?php echo $image_sans_lextension[0] . '_mag.jpg'; ?>" alt="Image de description du magazine." /></p>
			<br />
			<p>
			<strong>Souhaitez-vous voir votre bouille présentée comme une première de couv' ?</strong><br />
				(ceci n'est pas un support l'envoi se fera par e-mail si vous ne choisissez pas de support à imprimer)<br />
				<input type="radio" name="oui_non" value="1" id="oui" <?php echo @checked($_SESSION['magazine']['oui_non'], 1); ?> /><label for="oui">oui</label>
				<input type="radio" name="oui_non" value="0" id="non" <?php echo @checked($_SESSION['magazine']['oui_non'], 0); ?> /><label for="non">non</label><br />
			</p>

			<p>
			<strong>Choisissez les textes qui devront apparaître après avoir coché "oui" :</strong><br />
				Attention à l'orthographe car les textes seront ajoutés automatiquement.<br /><br />
				<label for="date"><strong>Date :</strong><br /></label><input type="text" size="20" maxlength="40" name="date" value="<?php if (!empty($_SESSION['magazine']['date'])) { echo $_SESSION['magazine']['date']; }?>" id="date" onkeypress="document.getElementById('non').checked=false;document.getElementById('oui').checked=true;" /> (facultatif)<br />
				Utile pour un anniversaire, un mariage...
			</p>

			<p>
				<label for="titre"><strong>Titre :</strong><br /></label><input type="text" size="20" maxlength="40" name="titre" value="<?php if (!empty($_SESSION['magazine']['titre'])) { echo $_SESSION['magazine']['titre']; }?>" id="titre" onkeypress="document.getElementById('non').checked=false;document.getElementById('oui').checked=true;" /> (facultatif)<br />
				ex : Pêche ; Karine ; Bricolo...
			</p>

			<p>
				<label for="texte1"><strong>Texte 1 :</strong><br /></label><input type="text" size="60" maxlength="300" name="texte1" value="<?php if (!empty($_SESSION['magazine']['texte1'])) { echo $_SESSION['magazine']['texte1']; }?>" id="texte1" onkeypress="document.getElementById('non').checked=false;document.getElementById('oui').checked=true;" /> (obligatoire)<br />
				ex : Meilleur pêcheur de l'année !
			</p>

			<p>
				<label for="texte2"><strong>Texte 2 :</strong><br /></label><input type="text" size="60" maxlength="300" name="texte2" value="<?php if (!empty($_SESSION['magazine']['texte2'])) { echo $_SESSION['magazine']['texte2']; }?>" id="texte2" onkeypress="document.getElementById('non').checked=false;document.getElementById('oui').checked=true;" /> (facultatif)<br />
				ex : Tous ses collègues lui souhaitent une bonne retraite.	   
			</p>
		

		</div>
		<!---- fin boite de description magazine ---->


		
		
		
		
		
		
		
		
		
		
		<p>
			<input type="image" value="continuer" src="../../interface/bt_continueror.gif" onmouseover="this.src='../../interface/bt_continueror_push.gif'" onmouseout="this.src='../../interface/bt_continueror.gif'" class="bouton_continuer" />
			<input type="hidden" name="valider" value="oui" />
		</p>
</form>	

	
	
	<div class="tableau_derreur" >
		<?php
		  /********************************************************/
		 /*** 
		/********************************************************/
		// if (isset ($erreurs_objet_manquant))
		// {
			// if( count( $erreurs_objet_manquant ) !== 0 )
			// {
				// echo( "\t\t<ul>\n" );
				// foreach( $erreurs_objet_manquant as $error )
				// {
					// echo( "\t\t\t<li>$error</li>\n" );
				// }
				// echo( "\t\t</ul>\n" );
			// }
		// }
		?>
	</div>

	

		
		


		
		
		
		

		
		
		
		
		


</div>
<!---- page blanche fin ---->





<!---- copyright ---->
<br />
<?php include("copyright.php"); ?>
 
 
</body>
</html>
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/

Eléphant du PHP | 288 Messages

05 juin 2010, 17:14

Bonjour,

J'ai pas lu tout ton code mais d'après ta description et dans ta partie d'upload, je vois que tu utilise is_uploaded_file() et move_uploaded_file.
is_uploaded_file() te fais l'upload du coup tu dois utiliser soit is_uploaded_file() ou move_uploaded_file refere toi à la doc. En utilisant les deux, c est sur qu'il y en a un qui va te renvoyer l'erreur car $_FILES[le fichier] va etre vide.

J'espere que ca va t'aider
Bonne continuation

Eléphant du PHP | 218 Messages

05 juin 2010, 20:57

ooooh oué merci damaskinos c'était exactement ça, ben dit donc jen aurait passé des heures tu msauve :D

Voila commen jai modififié la ligne :

AVANT
						if( !move_uploaded_file($fichier_tmp, $dossier_photos . $nom_photo_renomme_avec_extension) )
						{
							exit("Une erreur s'est produite, impossible de copier le fichier");
						}

APRES
if (is_uploaded_file($fichier_tmp))
						{
							copy($fichier_tmp, $dossier_photos . $nom_photo_renomme_avec_extension);
						}
						else
						{    
							echo "Une erreur s'est produite, impossible de copier le fichier";
						}
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/

Eléphant du PHP | 218 Messages

08 juin 2010, 16:02

arf! j'ai parlé un peu trop vite :? car effectivement sur le site coté visuel ca fonctionne parfaitement, par contre sil y a plus d'une boite de description, la photo est dupliqué autant de fois qu'il y a de boite de description :cry: aïe aïe aïe
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/

ViPHP
ViPHP | 5462 Messages

08 juin 2010, 16:11

Bonjour,

J'ai pas lu tout ton code mais d'après ta description et dans ta partie d'upload, je vois que tu utilise is_uploaded_file() et move_uploaded_file.
is_uploaded_file() te fais l'upload du coup tu dois utiliser soit is_uploaded_file() ou move_uploaded_file refere toi à la doc. En utilisant les deux, c est sur qu'il y en a un qui va te renvoyer l'erreur car $_FILES[le fichier] va etre vide.

J'espere que ca va t'aider
Bonne continuation
pas du tout, d'ailleurs je vois pas ou il pourrait mettre le fichier avec is_uploaded_file puisque y'a même pas de paramètre pour mettre un path, tu confond pas avec une autre fonction ?

Eléphant du PHP | 288 Messages

15 juin 2010, 20:11

Effectivement je viens de retrouver le billet que j'avais ouvert à l'époque. php-avance/upload-lecture-fichier-xml-t34181.html. J'y suis allé de mémoire sans vérifier vraiment au temps pour moi et merci à stealth35.