the topic is the following I am trying to upload a file with jquery and php the code is as follows:
html
<div class="form-group">
<label for="archivo" class="control-label col-xs-5">Comprobante:</label>
<div class="col-xs-5">
<input placeholder="Subir Comprobante en PDF" name="archivo" id="archivo" type="file" class="file">
</div>
</div>
<div class="form-group">
<label for="Observacion" class="control-label col-xs-5">Observacion :</label>
<div class="col-xs-5">
<textarea name="Observacion" id="Observacion" class="form-control" rows="4" cols="50"></textarea>
</div>
</div>
my jquery code:
function registrarInc(){
var datosform=$("#formIncidencia").serialize();
$.ajax({
url:'../Controllers/Incidencia.php',
type:'POST',
data:datosform+"®istrarInc=registrarInc",
contentType: "application/x-www-form-urlencoded;charset=utf-8"
}).done(function(resp){
if(resp==='exito'){
$('#exitoInc').show(200).delay(2500).hide(200);
$('#formIncidencia')[0].reset();
}
else{
alert(resp);
}
});
}
my php on the controller side
if ($boton==='registrarInc') {
$nombre = $_FILES['archivo']['name'];
$tipo = $_FILES['archivo']['type'];
$tamanio = $_FILES['archivo']['size'];
$ruta = $_FILES['archivo']['tmp_name'];
$destino = "archivos/" . $nombre;
$inst = new Incidencia();
if ($nombre != "") {
if (copy($ruta, $destino)) {
$empleado=$_POST['idEmp'];
$diasolicitado=$_POST['diasolicitado'];
$tipodejustificacion=$_POST['tipodejustificacion'];
$Observacion=$_POST['Observacion'];
$Autorizo="";
if($inst->registrarInc($empleado,$diasolicitado,$tipodejustificacion,$Observacion,$Autorizo,$nombre,$tamanio,$tipo)){
echo 'exito';
}
} else{
echo "No se registraron los datos";
}
}
}
and my php on model side:
function registrarInc($empleado,$diasolicitado,$tipodejustificacion,$Observacion,$Autorizo,$nombre,$tamanio,$tipo)
{
$sql="INSERT INTO 'incidencias'('empleado', 'diasolicitado', 'tipodejustificacion', 'Observacion',Autorizo, 'nombre_archivo', 'tamanio', 'tipo') values($empleado,$diasolicitado,$tipodejustificacion,$Observacion,$Autorizo,$nombre,$tamanio,$tipo)";
$this->conexion->conexion->set_charset('utf8');
if($this->conexion->conexion->query($sql)){
return true;
}
else{
return false;
}
$this->conexion->cerrar();
}
el error que me arroja es que mis variables
$nombre = $_FILES['archivo']['name'];
$tipo = $_FILES['archivo']['type'];
$tamanio = $_FILES['archivo']['size'];
$ruta = $_FILES['archivo']['tmp_name'];
$destino = "archivos/" . $nombre;
they have no defined value on the controller side of my php file.
I would appreciate if someone could help me.