[Upload] [UPLOAD FICHIERS] :(
Bonjour, j'ai 1 formulaire permettant l'envoi de 2 fichiers joints.
J'aimerai donc sauvegarder ses fichiers joints dans 1 répertoire ( ca fonctionne ) et en meme temps sauvegarder le numéro ( auto incrémentation ) le nom de fichier ( $dest_dossier ) et surtout le numéro de fiche auquel il appartient.
Pour m'expliquer 1 fiche c'est le formulaire de renseignement, donc plusieurs fichiers joints peuvent être liés à 1 fiche.
Seulement ce numéro de fiche numFiche est renseigner, mais il ajoute toujours le meme que la 1ere execution du formulaire ( 2 ). Si je ferme la page que je le relance, il me met le nouveau numéro ( 4 ) ca change bien donc, mais la seconde éxécution il me remettra ( 4 ).
Par la meme occasion j'ai 1 souci avec la gestion d'erreur, j'aimerai tout simplement losqu'une erreur se produit sur le fichier 1, un message d'alerte apparait, pour le 2eme aussi, et si les 2 erreurs se produisent, 1 autre. Seulement il ne fonctionne pas correctement du tout :?
Voici mon code:
la page de traitement se réfère à 2 fichiers:
Code:
1 2 3 4 5 6 7 8
| //création fiche
include ('insertionfiche.php');
//Gestion upload fichiers
if((basename($_FILES['fichiers']['name'])!="") or (basename($_FILES['fichiers2']['name'])!=""))
{
include ("uploadfichiers.php");
} |
insertionfiche.php:
ici je récupére avec une 2eme requete le numéro de la fiche dans numfiche2
Code:
1 2 3 4 5 6 7
| $sql = "INSERT INTO fiches (nomFiche, datecreaFiche, loginF, descriptifFiche, resolutionFiche, nomProjet, nbhresolution, enseigne, privee, emailF) VALUES ('".$nomfiche."' , NOW(), '".$_SESSION['loginL']."', '".$textarea."', '".$textarea2."', '".$projet."','".$nbh."', '".$enseigne."', '".$privee."', '".$_SESSION['emailL']."' )";
$result = mysql_query($sql) or die ("Erreur d'Insertion dans la base : ". $sql .'<br />'. mysql_error());
$sql2 = "SELECT numFiche FROM fiches WHERE nomFiche = '".$nomfiche."'";
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
$data2 = mysql_fetch_array($req2);
$numfiche2 = $data2['numFiche']; |
uploadfichiers.php:
Gestion de l'upload et message d'erreur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| if(basename($_FILES['fichiers']['name'])!="")
{
if(isset($_FILES['fichiers']))
{
$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 ($err = $_FILES['fichiers']['error'])
{
echo '<script language=javascript> alert ("Il y a eu une erreur dans le fichier 1");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">';
}
}
}
if(basename($_FILES['fichiers2']['name'])!="")
{
if(isset($_FILES['fichiers2']))
{
$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());
}
//Gestion erreur fichiers
if ($err = $_FILES['fichiers2']['error'])
{
echo '<script language=javascript> alert ("Il y a eu une erreur dans le fichier 2");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">';
}
}
else if (($err = $_FILES['fichiers']['error']) and ($err = $_FILES['fichiers2']['error']))
{
echo '<script language=javascript> alert ("Il y a eu une erreur dans le fichier 1 et 2");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">';
} |
Si quelqu'un peu m'aider, car j'ai deja poster pas mal de fois, et je suis vraiment bloquer par ce probleme :?
Merci beaucoup :wink: