Page 1 sur 1

upload fichiers + erreurs

Posté : 10 févr. 2006, 15:07
par vincedjs
Bonjour ,

Voila, mon fichiers s'upload bien au repertoire donné et son bien enregistrer dans la base, par contre ma gestion de boite d'erreur ne fonctionne pas, je ne trouve pas quelque chose de stable :? .

-Est ce que vous voyez un problème dans mon code merci ?
<?php
if((file_exists($_FILES['fichiers']['tmp_name'])) || (file_exists($_FILES['fichiers2']['tmp_name'])))
	{
	$nberreurs = 0;
	$msgerreur;
	$dest_dossier = 'C:\wamp\www\rbdc\upload/';
	function nomfichiers () 
		{
		$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 			  		   				    	'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
		$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier); 
		}
	if(file_exists($_FILES['fichiers']['tmp_name']))
		{ 
		if ($err = $_FILES['fichiers']['error'])
			{
			$dest_fichier2 = $dest_fichier;
			$nberreurs++;
			$msgerreur = "Erreur dans le fichier 1, $dest_fichier";
			} 
		else
			{
			$dest_fichier = basename($_FILES['fichiers']['name']);  
			nomfichiers ();      
			move_uploaded_file($_FILES['fichiers']['tmp_name'], $dest_dossier . $dest_fichier);  
			$sql3 = "INSERT INTO fichiersj (nomFichierj, numFiche) VALUES ( '".$dest_fichier."', '".$numfiche2."')"; 
			$result3 = mysql_query($sql3) or die ("Erreur d'Insertion dans la base : ". $sql3 .'<br />'. mysql_error()); 
			}
		}
	if(file_exists($_FILES['fichiers2']['tmp_name']))
		{
		if ($err = $_FILES['fichiers']['error'])
			{
			$dest_fichier3 = $dest_fichier;	
			$nberreurs++;
			$msgerreur = "Erreur dans le fichier 2, $dest_fichier";
			}
		else
			{
			$dest_fichier = basename($_FILES['fichiers2']['name']);  
			nomfichiers ();      
			move_uploaded_file($_FILES['fichiers2']['tmp_name'], $dest_dossier . $dest_fichier);  
			$sql4 = "INSERT INTO fichiersj (nomFichierj, numFiche) VALUES ( '".$dest_fichier."', '".$numfiche2."')"; 
			$result4 = mysql_query($sql4) or die ("Erreur d'Insertion dans la base : ". $sql4 .'<br />'. mysql_error()); 
			}
		}
	if($nberreurs = 1)
		{
		echo '<script language=javascript> alert <?php $msgerreur; ?>;</script>'; 
		echo '<SCRIPT LANGUAGE="JavaScript"> 
		document.location.href="accueil.php" </SCRIPT>'; 
		exit; 
		}
		else if($nberreurs = 2)
			{
			echo '<script language=javascript> 
			alert ("Erreurs dans les fichiers, <?php $dest_fichier2; ?>, et <?php $dest_fichier3; ?>");</script>'; 
			echo '<SCRIPT LANGUAGE="JavaScript"> 
			document.location.href="accueil.php" </SCRIPT>'; 
			exit;
			}
			else if($nberreurs = 0)
				{
				echo "Fiche et fichier(s) correctement envoyés";
				echo '<script language=javascript> alert ("Fiche et fichier(s) correctement envoyés");</script>'; 
				echo '<SCRIPT LANGUAGE="JavaScript"> 
				document.location.href="accueil.php" </SCRIPT>'; 
				}
	}

Posté : 10 févr. 2006, 18:32
par mere-teresa
ma gestion de boite d'erreur ne fonctionne pas, je ne trouve pas quelque chose de stable
C'est à dire ? :-k

As-tu une page de démo où nous pourrions essayer ?
Sinon, que se passe-t-il quand il y a une erreur ? (non je vais pas lire tout ce code PHP sans savoir où chercher).

Posté : 13 févr. 2006, 10:34
par vincedjs
Démo pas possible c'est un projet en local. Sinon pour les erreurs, il n'affiche strictement aucun boite.

Et dans mon code la partie a regarder, et le comptage des erreurs, et la gestion des alert en bas de code :wink: thx

Posté : 13 févr. 2006, 15:05
par vincedjs
en faite j'ai modifier mon code encore, et il m'affiche tout le temps " le fichier existe déja" meme quan dje n'insere pas de fichiers à partir de mon formulaire.


je fait 1 requete pour tester si le fichier est déja présent:
	$sql = "SELECT nomFichierj FROM fichiersj WHERE nomFichierj = '".$dest_fichier."'"; 
				$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
				$data = mysql_fetch_array($req);
				if($data['nomFichierj'] == $dest_fichier)
   					{
					echo '<script language=javascript> alert ("Le fichier existe déja");</script>'; 
					echo '<SCRIPT LANGUAGE="JavaScript"> 
					document.location.href="accueil.php" </SCRIPT>'; 
					exit; 
   					}else{
et pour ma gestion d'erreur je fais:
if($err = $_FILES['fichiers']['error'])
			{
			$dest_fichier2 = $dest_fichier;
			$nberreurs++;
			$msgerreur = "Erreur dans le fichier 1, $dest_fichier";
			}else{
Puis en fin de lignes:
if($nberreurs = 1)
		{
		echo '<script language=javascript> alert <?php $msgerreur; ?>;</script>'; 
		echo '<SCRIPT LANGUAGE="JavaScript"> 
		document.location.href="accueil.php" </SCRIPT>'; 
		exit; 
		}
		else if($nberreurs = 2)
			{
			echo '<script language=javascript> 
			alert ("Erreurs dans les fichiers, <?php $dest_fichier2; ?>, et <?php $dest_fichier3; ?>");</script>'; 
			echo '<SCRIPT LANGUAGE="JavaScript"> 
			document.location.href="accueil.php" </SCRIPT>'; 
			exit;
			}
			else if($nberreurs = 0)
				{
				echo "Fiche et fichier(s) correctement envoyés";
				echo '<script language=javascript> alert ("Fiche et fichier(s) correctement envoyés");</script>'; 
				echo '<SCRIPT LANGUAGE="JavaScript"> 
				document.location.href="accueil.php" </SCRIPT>'; 
				exit;
				}
code complet:


<?php
if((file_exists($_FILES['fichiers']['tmp_name'])) || (file_exists($_FILES['fichiers2']['tmp_name'])))
	{
	$nberreurs = 0;
	$msgerreur;
	$dest_dossier = 'C:\wamp\www\rbdc\upload/';
	function nomfichiers () 
		{
		$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 			  		   				    	'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
		$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier); 
		}
	if(file_exists($_FILES['fichiers']['tmp_name']))
		{
		if($err = $_FILES['fichiers']['error'])
			{
			$dest_fichier2 = $dest_fichier;
			$nberreurs++;
			$msgerreur = "Erreur dans le fichier 1, $dest_fichier";
			}else{
				$sql = "SELECT nomFichierj FROM fichiersj WHERE nomFichierj = '".$dest_fichier."'"; 
				$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
				$data = mysql_fetch_array($req);
				if($data['nomFichierj'] == $dest_fichier)
   					{
					echo '<script language=javascript> alert ("Le fichier existe déja");</script>'; 
					echo '<SCRIPT LANGUAGE="JavaScript"> 
					document.location.href="accueil.php" </SCRIPT>'; 
					exit; 
   					}else{
					$dest_fichier = basename($_FILES['fichiers']['name']);  
					nomfichiers ();     
					move_uploaded_file($_FILES['fichiers']['tmp_name'], $dest_dossier . $dest_fichier);  
					$sql3 = "INSERT INTO fichiersj (nomFichierj, numFiche) VALUES ( '".$dest_fichier."', '".$numfiche2."')"; 
					$result3 = mysql_query($sql3) or die ("Erreur d'Insertion dans la base : ". $sql3 .'<br />'. mysql_error()); 
					}
				}
		}
	if(file_exists($_FILES['fichiers2']['tmp_name']))
		{
		if ($err = $_FILES['fichiers2']['error'])
			{
			$dest_fichier3 = $dest_fichier;	
			$nberreurs++;
			$msgerreur = "Erreur dans le fichier 2, $dest_fichier";
			}else{
				$sql = "SELECT nomFichierj FROM fichiersj WHERE nomFichierj = '".$dest_fichier."'"; 
				$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
				$data = mysql_fetch_array($req);
				if($data['nomFichierj'] == $dest_fichier)
   					{
					echo '<script language=javascript> alert ("Le fichier existe déja");</script>'; 
					echo '<SCRIPT LANGUAGE="JavaScript"> 
					document.location.href="accueil.php" </SCRIPT>'; 
					exit; 
   					}else{
						$dest_fichier = basename($_FILES['fichiers2']['name']);  
						nomfichiers ();      
						move_uploaded_file($_FILES['fichiers2']['tmp_name'], $dest_dossier . $dest_fichier);  
						$sql4 = "INSERT INTO fichiersj (nomFichierj, numFiche) VALUES ( '".$dest_fichier."', '".$numfiche2."')"; 
						$result4 = mysql_query($sql4) or die ("Erreur d'Insertion dans la base : ". $sql4 .'<br />'. mysql_error()); 
						}
					}
		}
	if($nberreurs = 1)
		{
		echo '<script language=javascript> alert <?php $msgerreur; ?>;</script>'; 
		echo '<SCRIPT LANGUAGE="JavaScript"> 
		document.location.href="accueil.php" </SCRIPT>'; 
		exit; 
		}
		else if($nberreurs = 2)
			{
			echo '<script language=javascript> 
			alert ("Erreurs dans les fichiers, <?php $dest_fichier2; ?>, et <?php $dest_fichier3; ?>");</script>'; 
			echo '<SCRIPT LANGUAGE="JavaScript"> 
			document.location.href="accueil.php" </SCRIPT>'; 
			exit;
			}
			else if($nberreurs = 0)
				{
				echo "Fiche et fichier(s) correctement envoyés";
				echo '<script language=javascript> alert ("Fiche et fichier(s) correctement envoyés");</script>'; 
				echo '<SCRIPT LANGUAGE="JavaScript"> 
				document.location.href="accueil.php" </SCRIPT>'; 
				exit;
				}
	}
?>