He pensado en tratar las imagenes en registro.php para luego pasar las variables creadas a la funcion crear y alli introducir en la tabla intermedia, el problema que tengo es que para tratar la imagen se utiliza $_FILES y no se como pasarlo des de el html...es decir no se como cogerlo ya que no estoy en el php al que le se hace la llamada, ya que se llega des de una llamada en javascript.
Tratamiento imagenes, aquí tengo el problema, no se como acceder al archivo.
Código PHP:
$name = $_FILES["foto"]["name"];
$type = $_FILES["foto"]["type"];
$tmp_name = $_FILES["foto"]["tmp_name"];
$size = $_FILES["foto"]["size"];
FORMULARIO HTML --> JAVASCRIPT/AJAX: Comprueba() -> enviarDatosCompra() --> PHP/POO: registro.php -> crear()
¿Me podría orientar alguien de como hacerlo o alguna otra manera? le llevo tiempo dando vueltas y no consigo hacerlo... Muchas gracias!
FORMULARIO
Código HTML:
<FORM ID="formIMArticulo" NAME="formIMArticulo" method="post" onSubmit="comprobar();return false;"> <TR> <TD align="left" width="100">Artista:</TD> <TD align="left" width="150"><INPUT TYPE="text" NAME="Artista" MAXLENGTH="30" SIZE="10" onChange="javascript:this.value=this.value.toUpperCase();"></TD> </TR> <TR> <TD align="left" width="100">Disco:</TD> <TD align="left" width="150"><INPUT TYPE="text" NAME="Disco" MAXLENGTH="30" SIZE="10" nChange="javascript:this.value=this.value.toUpperCase();"> </TD> </TR> <TR> <TD align="left" width="100">Imagen:</TD> <TD align="left" width="150"><input type="file" id="foto" name="Imagen" onBlur="LimitAttach(this,1);"/> </TD> </TR> <TR> <TD align="left" width="100">Sample:</TD> <TD align="left" width="150"><input type="file" id="sample" name="MP3" onBlur="LimitAttach(this,2);"/> </TD> </TR> <TD> <input type="submit" NAME="btnIntroducir" value="Introducir Artículo"><!--Este sólo introduce en la tabla--> <INPUT type="reset" value="Limpiar Campos" name="Limpiar" onClick="ponerfoco(0,0)"> </TD> </TR> </FORM> <tr> <td><div id="resultado"><?php include('./IntroArticulo/consulta.php');?></div></td> <!-- carga los datos de la tabla intermedia y los muestra --> </tr> <form name="formIntroArticulo" action="./IntroArticulo/iarticulo.php" method="post"> <tr> <td> <INPUT type="submit" name="boton2" value="Guardar Artículos"> <INPUT type="button" name="resetb" value="Limpiar Todo" onClick="location.href='./IntroArticulo/vaciararticulo.php';"> </td> </tr> </FORM>
Código:
registro.phpfunction enviarDatosCompra(){ //donde se mostrará lo resultados divResultado = document.getElementById('resultado'); divResultado.innerHTML= '<img src="../imagenes/anim.gif">'; //valores de las cajas de texto art=document.formIMArticulo.Artista.value; dis=document.formIMArticulo.Disco.value; ima=document.formIMArticulo.Imagen.value; mp3=document.formIMArticulo.MP3.value; //instanciamos el objetoAjax ajax=objetoAjax(); //uso del medoto POST //archivo que realizará la operacion //registro.php ajax.open("POST", "./IntroArticulo/registro.php",true); ajax.onreadystatechange=function() { if (ajax.readyState==4) { //mostrar resultados en esta capa divResultado.innerHTML = ajax.responseText //llamar a funcion para limpiar los inputs Limpiar(); } } ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //enviando los valores ajax.send("Artista="+art+"&Disco="+dis+"&Imagen="+ima+"&MP3="+mp3) }
Código PHP:
<?php
include_once("cEmpleado.php");
//variables POST
$art=$_POST['Artista'];
$dis=$_POST['Disco'];
$ima=$_POST['Imagen'];
$mp3=$_POST['MP3'];
sleep(2);
//creamos el objeto $objempleados y usamos su método crear
$objempleados=new cEmpleado;
if ($objempleados->crear($art,$dis,$ima,$mp3)==true){ //La función crear es la que introduce en la tabla intermedia
echo "Registro grabado correctamente";
}else{
echo "Error de grabacion el artículo ya existe";
}
include('consulta.php');
?>