Hola, no sé como recibir un archivo desde AJAX pasado mediante método POST con PHP, acá abajo les escribo ambos archivos, tanto el del formulario, como el del que recibe los datos.
avento.php
Código PHP:
function chkDatos()
{
var forma = document.evento;
var total = forma.elements.length;
var todo,resul;
var msg = "Es importante completar los datos del evento";
for(i=0 ; i < total-3 ; i++)
{
if(forma.elements[i].value == "" || forma.elements[i].value == -99)
{
alert(msg);
forma.elements[i].focus();
return false;
}
}
resul = document.getElementById('revento');
todo = new Array(11);
todo[0] = document.getElementById('tipo').value;
todo[1] = document.getElementById('curso').value;
todo[2] = document.getElementById('lugar').value;
todo[3] = document.getElementById('inicio').value;
todo[4] = document.getElementById('termino').value;
todo[5] = document.getElementById('epc').value;
todo[6] = document.getElementById('costop').value;
todo[7] = document.getElementById('costov').value;
todo[8] = document.getElementById('cupon').value;
todo[9] = document.getElementById('temario').value;
todo[10] = document.getElementById('info').value;
ajax=nuevoAjax();
ajax.open("POST", "../ajax/xevento.php",true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
resul.innerHTML = ajax.responseText
}
}
ajax.send("d1="+todo)
}
El elemento que representa el $_FILE , es "temario" el cual, debería recibir un archivo con el temario del curso. Como ven, hago un arreglo con todos los elementos y los paso como una única variable al archivo xevento.php
xevento.php
Código PHP:
<?
print_r($_POST["d1"]);
?>
Pues por el momento solo mando a imprimir el arreglo con los datos recibidos. Pero mi pregunta es. En un programa .php normal, yo recibo los datos de un formulario con el método $_POST, a excepción de los archivos, los cuales recibo mediante $_FILES. Como entonces puedo recibir aquí el archivo??
De antemano gracias por la ayuda...
Saludos!