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:
insertionfiche.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"); }
ici je récupére avec une 2eme requete le numéro de la fiche dans numfiche2
uploadfichiers.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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'];
Gestion de l'upload et message d'erreur
Si quelqu'un peu m'aider, car j'ai deja poster pas mal de fois, et je suis vraiment bloquer par ce probleme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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">'; }![]()
Merci beaucoup![]()
Partager