Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/01/2011, 10h04   #1
Invité de passage
 
Inscription : février 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 9
Points : 0
Points : 0
Par défaut Souci upload avec plusieurs input files

Salut, je cherche une astuce pour mon cas.
En fait, je génère mon formulaire d'upload avec jquery, une fois afficher j'utilise php pour pouvoir récupérer les fichiers (c'est la mon problème).

Dès que je valide mon formulaire je n'arrive pas à récupérer mes $_FILES?
Voici pour éclaircir le souci :

Parti jquery (ça fonctionne !)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
var compteur = 0;
 
		$("#Ajouter").click(function(){
 
 
			var idOeuvres = $("#id_oeuvres").val();
			var nombrePhotos = $("#nb_photos").val();
 
			inputFiles = '';
			inputFiles+= '<span id="erreur"></span>';
			inputFiles+= '<form id="formPhotos" enctype="multipart/form-data" action="gestionPhotos.php?mode=validerAjouter&id_oeuvres='+idOeuvres+'" method="post">';
 
			compteur++;
			if (compteur<=1)
			{
				for (var inc=1; inc<=nombrePhotos; inc++)
				{
					inputFiles+= '<p>Photo '+inc+' : <input id="photos_'+inc+'" type="file" name="photo_'+inc+'"/><span id="erreur_photo_'+inc+'"></span></p>';
 
				}
 
				if (compteur>0)
				{
					// inputFiles+= '<input type="hidden" name="nb_photos" value="'+nombrePhotos+'"/>';
				 	inputFiles+= '<p><input type="submit" id="ajouterPhotos" value="Ajouter"/></p>';
 
				}
 
				inputFiles+= '</form>';
			}
 
 
			$('#inputs_files').append(inputFiles);
 
 
 
			// un fois le formulaire d'ajout des photos affichée,
			// on vérifie du formulaire.
			$("#formPhotos").bind("submit", function () {
				var valide = true;
				var message = 'Veuillez remplir ce champ !';
				var nombrePhotos = $("#nb_photos").val();
				// vérification pour chaque champ !
				for (var cpt=1; cpt<=nombrePhotos; cpt++) {
					if ($("#photos_"+cpt).val()=="") {
						$("#erreur_photo_"+cpt).parent("p").css("color", "red");
						$("#erreur_photo_"+cpt).parent("p").append(message);
						valide = false;
					}
				}
 
				return valide;	 
			});	
 
		});
Et la partie PHP (le défaut)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
	case 'validerAjouter':
 
				if (isset($_GET['id_oeuvres']))
				{
					$idOeuvres = $_GET['id_oeuvres'];
 
					if (isset($_FILES))
					{
						debbug ($_FILES); // pas de réponse
// tableau vide !
 
						echo 'oui :)<br/>';
					} 
					else 
					{
						echo 'nooon :O<br/>'; 
					}
 
 
 
				}
 
			break;
L0101SA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 10h35   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Bonjour,

La façon dont tu crées les formulaires ne sont pas propres. A chaque click sur le bouton, tu crées un formulaire avec un bouton submit, ainsi, seul l'input file dans le même submit cliqué sera envoyé. Voici un script.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h42.


 
 
 
 
Partenaires

Hébergement Web