Formulaire, image

griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   -  
griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
pour traité mon formulaire, je passe par de l'ajax avec jquery. Je récupère bien toutes les données sauf, les champs input de type file. Comment faire pour pouvoir les récupérer ?

16 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/245708-upload-via-lextension-apc-de-php
0
griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   10
 
Il n'y aurait pas un moyen plus simple avec un input type texte et un bouton qui va chercher l'image ?
Mais comment allé chercher l'image ?
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Il faut un "input type file" pour afficher le bouton "Parcourir".
0
griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   10
 
oui mais impossible de récupérer la valeur par l'intermédiaire d'ajax. Donc j'ai pensé de créer un bouton avec un input de type text afin d'allé chercher l'url de l'image (sur le pc) pour pouvoir envoyer. Sinon, comment envoyer par l'intermédiaire d'ajax ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zcrew Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   25
 
Salut,

(à ma connaissance) il est impossible d'utiliser ajax seul pour envoyer des données au serveur, utilise un petit formulaire php, tu trouveras un tuto bien fait ici : http://phpcodeur.net/articles/php/upload
0
griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   10
 
J'ai un formulaire avec et quand on clique sur le bouton envoyer, il enregistre le formulaire grâce à une requête exécuté avec ajax.
0
zcrew Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   25
 
Bah oui mais la requête est codée comment ?
Je veux bien avoir le bout de code pour mon enrichissement personnel
0
griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   10
 
c'est à dire ?
0
zcrew Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   25
 
je voudrais bien voir comment est codé le formulaire qui envoie une requête en ajax
0
griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   10
 
c'est du jquery exécuté dans les balises <form>
			affichage += '<span>';
			affichage += 	'&nbsp;&nbsp;Titre **&nbsp;&nbsp;<input name="titre_photo_'+ib+'" id="titre_photo_'+ib+'" type="text" value="" size="65" maxlength="50"/> &nbsp;&nbsp;';
			affichage += 	'<input name="first_photo_'+ib+'" type="hidden" value="0" size="1" maxlength="1"/>';
			affichage += 	'&nbsp;&nbsp;&nbsp;<input type="checkbox" name="first_photo_'+ib+'" id="first_photo_'+ib+'" value="1"/> Affiche principale<br/>';
			affichage += 	'Description <input name="descrip_photo_'+ib+'" id="descrip_photo_'+ib+'" type="text" value="" size="92" maxlength="200"/><br/>';
			affichage += 	'Photo <input name="url_photo_'+ib+'" id="url_photo_'+ib+'" type="file" value="" size="82" maxlength="200"/>';
 
			affichage += '</span>';


et grâce à un bouton je lance
$.ajax({
						type: "GET",
						url: "ajax/insert_bdd_photo.php",
						data: data_allval,
						success: function()
						{
							$("#selectDistrib").attr({ disabled:false });
							$('#distribaj').attr({innerHTML:''});
							// On sélectionne le premier option par défaut
							$('#selectDistrib option[value="--"]').attr("selected", "selected");
						}
					});

0
zcrew Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   25
 
C'est là où je voulais en venir : le code ajax demande le chargement de la page "insert_bdd_photo.php" en lui donnant en paramètres les valeurs de ton formulaire par la méthode "get". C'est donc cette page qui récupère les valeurs de tes champs text
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Lis le tutoriel que je t'ai indiqué plus haut, tout y est expliqué.
Il faudra obligatoirement que tu contactes à l'aide d'AJAX un script PHP en lui passant les variables de ton formulaire. Tu vas donc transmettre via AJAX le fichier comme tu le ferais pour du simple texte.
Ensuite, il te suffit de l'enregistrer avec le script PHP.
0
griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   10
 
ça ne fonctionne pas, j'ai cette erreur :
<br />
<b>Fatal error</b>: Call to undefined function apc_fetch() in <b>verifUpload.php</b> on line <b>5</b><br />


surement à cause de php.ini,
mais comment le modifier sur le site ?
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
"Ce qui signifie que pour utiliser APC sur votre site web il vous faudra un hébergeur ayant au minimum la version 5.2.0 de PHP et surtout il faut qu'il ait activé l'extension APC, ce qui est vraiment très rare pour le moment."
0
griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   10
 
Et il n'y aurait pas un autre moyen que l'apc ?

Autrement, il y a le version 5.2.11 de php
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
0
griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   10
 
Oui, très bien pour récupérer le nom mais pour le télécharger ??
On fait comment ?
0