Upload fichier en même temps qu'un form js/ajax/php
Bonjour,
Je ne sais pas trop si je dois passer ce message sur le forum JS, Ajax, ou PHP.
J'ai un form, avec un input fichier en plus du reste.
Je passe mes infos par Ajax pour ne pas recharger la page.
Je ne sais pas comment passe mon fichier pour le passer en même temps que mon form. Je dois donner au nom du fichier le N° id (auto-incrément) de l'insertion des infos en bdd.
Je vous donne mes codes ci-après
Coté php c'est un traitement normal des données, insertion ou update en bdd.
mon souci c'est donc la gestion du fichier à upaloder.
Bonne journée
Résumé schématique du form :
Code:
1 2 3 4 5 6 7 8
| <FORM NAME='event_form' ID='event_form' METHOD="POST" ENCTYPE="multipart/form-data" action="./form_result_event.php?goto=event">
<!-- PHP -->
echo "
<input type='hidden' name='user' value='".$artiste_id."' />
<input type='hidden' name='artiste_forum_id' value='".$artiste_forum_id."' />
";
<!-- ENDPHP -->
<input type='hidden' name='max_file_size' value='10485760'><input type='file' name='fichier' size='10'> |
Code ajax
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
|
function send2ajax(action,i,id,lieu,date)
{
f=document.event_form; // f est l'objet formulaire
// PREPARATION DES DONNEES
info ="u="+f.user.value;
info+="a="+f.artiste_forum_id.value;
run_ajax('form_result_event.php',info); // on appelle la fonction
}
function run_ajax(file,data)
{
var reg=new RegExp(" ", "g");
data=data.replace(reg,"%20");
//alert(file+"/"+donnees);
var xhr_object = null;
if(window.XMLHttpRequest) // Si Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Si Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
{
// XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("POST", "./"+file, true);
xhr_object.onreadystatechange = function()
{
if(xhr_object.readyState == 4)
// alert(xhr_object.responseText);
eval(xhr_object.responseText);
}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr_object.send(data);
} |