$(document).ready(function(){
$("#frmavisos").validate({
/*Declaramos las reglas de validacion
*Reglas:
*required:true -> Campo Requerido
*maxlength:2 -> Maximo de Caracteres (Se debe crear el mensaje en 'messages')
*minlength:2 -> Minimo de Caracteres (Se debe crear el mensaje en 'messages')
*
*/
debug: false,
rules:{
titulo_aviso:{required:true},//validacion para el Select Asunto
nombre:{required:true},//validacion para el input nombre
telefono_celular:{required:true},//validacion para el input telefono
correo_electronico:{required:true, email:true},//validacion para el input email
titulo_aviso:{required:true},//validacion para el Select Asunto
mensaje:{required:true},//validacion para el input comentario
captcha:{required:true, maxlength:4,minlength:4 }//validacion para el input captcha
},
//Mensajes para las validaciones
messages:{
nombre:{ required:"Debe Ingresar su Nombre"},//Mensaje para el input nombre
telefono:{ required:"Debe Ingresar Numero Telefonico"},//Mensaje para el input Telefono
correo:{ required:"Debe Ingresar Email", email:"Email no Valido"},//Mensaje para el input email
asunto:{ required:"Debe Seleccionar Asunto"},//Mensaje para el Select Asunto
mensaje:{ required:"Debe Ingresar Comentario o Consulta"},//Mensaje para el input comentario
captcha:{ required:"Debe Ingresar Codigo de Seguridad",minlength:"Debe ingresar los 4 carcteres",
maxlength:"Solo 4 caracteres"}//Mensaje para el input captcha
},
submitHandler: function(form) {
// do other stuff for a valid form
$.post('inc/envia_form_principal.php', $("#formularioPrincipal").serialize(),
function(data) {
$('#resultado').html(data);
/*$('#resultado').fadeOut(5000);*/
});
$("#formularioPrincipal")[0].reset(); //Resetea el Formulario
}
});
});envia_form_principal.php tiene todo el codigo dentro del mismo archivo, y en mi caso actual insert.php tiene solo este codigo:require_once '../inc/funciones.php';
$obj = new Avisos();
if(isset($_POST['enviar'])){
//Verificamos la cantidad de imagenes que vienen via post
if(sizeof($_FILES['fotosavisos']['name']) > 5){
echo 'ha cargado mas de 5 fotos';
//paramos aca la ejecucion del script
exit();
//print_r($_FILES);
}else{
for($i=0;$i < 5;$i++){
if(!empty($_FILES['fotosavisos']['name'][$i])){
//$rutas = array('', '');
$rutas = array(); // Inicializas con dos rutas vacías
//Subida de Archivos
foreach($_FILES['fotosavisos']['tmp_name'] as $key => $nombresTemporal){
//Si el array $_files NO VIENE VACIO...
if(!empty($_FILES['fotosavisos']['tmp_name'][$key])){
//Nombre del Arreglo generado con el input fotosavisos
$nombres=$_FILES['fotosavisos']['name'][$key];
//Nombre Temporal de la Imagen (Generada por el servidor)
$nombresTemporal=$_FILES['fotosavisos']['tmp_name'][$key];
//Tamaño de la Imagen
$tamaño=$_FILES['fotosavisos']['size'][$key];
//Tipo de Imagen
$tipo=$_FILES['fotosavisos']['type'][$key];
//Asignamos un Nombre Unico
$nombres=uniqid(date('Ymd')).$nombres;
//Quitamos caracteres extraños del nombre de la imagen
$nombres=preg_replace('#[^a-z.0-9,\s+]#i', '', $nombres);
//Obtenemos la extensión del archivo, apra pdoer validar que sean imagenes
$ext = end(explode(".", $nombres));
//Reducimos el nombre del archivo a 10 caracteres (sin contar la extension)
$nombres=substr($nombres, 0, 10);
//Devolvemos la Extension, y generamos el nombre final de la imagen
$nombres= $nombres . '.' . $ext;
//Consultamos si la extension de archivos es permitida
if (!preg_match("/.(jpg|jpeg|JPG)$/i", $nombres) ) {
//Muestro un mensaje de error si el formato no es valido
echo "ERROR: Solo Imagenes con formato: .jpg y .jpeg";
//Removemos el archivo de la carpeta temporal...
unlink($nombresTemporal);
exit();
}//if validacion extension
//Ruta en Servidor
$rutaFinal="../imagenes_avisos/".$nombres;
$rutaFinalSQL="imagenes_avisos/".$nombres; //VALIDAR QUE ESTA RUTA EXISTA
//Movemos los Archivos al Servidor
move_uploaded_file($nombresTemporal,$rutaFinal);
// Actualizas la ruta correspondiente para este archivo
$rutas[$key] = $rutaFinalSQL;
//exit();
//print_r($rutaFinalSQL);
//exit();
}//if empty foreach
}//foreach
}//if empty
}//for
}//else post
try{
if(!isset($rutas)){
$rutas=array();
}
$obj->insertarAvisos($rutas);
//print_r($_POST);
//exit();
}catch(PDOException $e){
echo $e;
}
}// if post
?>Introducir código aquí...function insertarAvisos($rutas = array('', '')){
/* echo '<pre>';
print_r($rutas);
echo '</pre>';*/
try{
//$titulo_aviso=filter_input(INPUT_POST,$titulo_aviso,FILTER_SANITIZE_MAGIC_QUOTES);
$query ="INSERT INTO avisos (titulo_aviso,categoria_aviso,tipo_aviso,comuna,aviso_completo,valor_producto,fecha_publicacion,nombre,telefono_celular,telefono_fijo,correo_electronico,direccion,img1,img2,img3,img4,img5)"; //,img1,img2,img3,img4,img5
$query .="VALUES(:titulo_aviso,:categoria_aviso,:tipo_aviso,:comuna,:aviso_completo,:valor_producto,:fecha_publicacion,:nombre,:telefono_celular,:telefono_fijo,:correo_electronico,:direccion,:img1,:img2,:img3,:img4,:img5)"; //,:rutas[0],:rutas[1],:rutas[2],:rutas[3],:rutas[4]
//Preparamos la consulta
$stmt= $this->con->prepare($query);
$stmt->bindParam(':titulo_aviso',$_POST['titulo_aviso'],PDO::PARAM_STR);
$stmt->bindParam(':categoria_aviso', $_POST['categoria_aviso'] ,PDO::PARAM_STR);
$stmt->bindParam(':tipo_aviso', $_POST['tipo_aviso'] ,PDO::PARAM_STR);
$stmt->bindParam(':comuna', $_POST['comuna'],PDO::PARAM_STR);
$stmt->bindParam(':aviso_completo', $_POST['aviso_completo'],PDO::PARAM_STR);
$stmt->bindParam(':valor_producto', $_POST['valor_producto']);
//Fecha de Publicacion
$stmt->bindParam(':fecha_publicacion',date('Y-m-d', time()),PDO::PARAM_STR);
$stmt->bindParam(':nombre', $_POST['nombre'] ,PDO::PARAM_STR);
$stmt->bindParam(':telefono_celular', $_POST['telefono_celular']);
$stmt->bindParam(':telefono_fijo', $_POST['telefono_fijo']);
$stmt->bindParam(':correo_electronico', $_POST['correo_electronico'] ,PDO::PARAM_STR);
$stmt->bindParam(':direccion', $_POST['direccion'] ,PDO::PARAM_STR);
$stmt->bindParam(':img1', $rutas[0]); //, $this->rutas[0]
$stmt->bindParam(':img2' ,$rutas[1]);
$stmt->bindParam(':img3' ,$rutas[2]);
$stmt->bindParam(':img4' ,$rutas[3]);
$stmt->bindParam(':img5' ,$rutas[4]);
//Ejecutamos la Consulta
$stmt->execute();
//Mensaje de Exito si el aviso se publico sin Problemas en la Base de Datos
echo "Su aviso ha Sido Publicado con Exito...Gracias por Utilizar nuestra Plataforma";
/*echo "<div class='alert alert-success alert-dismissable'>";
echo "<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>";
echo "Su aviso ha Sido Publicado con Exito...Gracias por Utilizar nuestra Plataforma";
echo "</div>";*/
}catch(PDOException $e){
echo $e->errorInfo;
//Mensaje de Error si el aviso no se publico en la Base de Datos
echo "Su aviso no se ha podido Publicar...Por favor Intente mas Tarde";
/*echo "<div class=\"alert alert-danger alert-dismissable\">";
echo "<button type=\"button\" class=\"close\" data-dismiss=\"danger\" aria-hidden=\"true\">×</button>";
echo "Su aviso no se ha podido Publicar...Por favor Intente mas Tarde";
echo "</div>";*/
}//catch
}//funcion InsertarAvisos