upload fichiers + erreurs

Eléphanteau du PHP | 40 Messages

10 févr. 2006, 15:07

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>'; 
				}
	}

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

10 févr. 2006, 18:32

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).
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphanteau du PHP | 40 Messages

13 févr. 2006, 10:34

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

Eléphanteau du PHP | 40 Messages

13 févr. 2006, 15:05

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;
				}
	}
?>