AJAX - Error: no guarda en la ruta en mysql

 
Vista:
Imágen de perfil de jeinner
Val: 3
Ha aumentado 1 puesto en AJAX (en relación al último mes)
Gráfica de AJAX

Error: no guarda en la ruta en mysql

Publicado por jeinner (2 intervenciones) el 19/07/2017 15:14:06
Buen dia, Amigos LWP

Estoy tratando de resolver el siguiente problema:

Registrando una nueva categoria en mi db de mysql el codigo me guarda los datos pero me guarda la imagen en la carpeta img del proyecto, tampoco en la bd y mucho menos la puedo mostrar, he realizado varias acciones pero sigue sin funcionar. Los archivos son los siguientes:
*registro_categorias.php
*nueva_categoria.php
*categorias.php
*categorias.js
*editar_categoria.php
*editar_categorias.php
*buscar categorias.php


Registro_categorias.php
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
<?php
if (isset($con))
{
	?>
	<!-- Modal -->
	<div class="modal fade" id="nuevoCliente" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
	  <div class="modal-dialog" role="document">
		<div class="modal-content">
		  <div class="modal-header">
			<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
			<h4 class="modal-title" id="myModalLabel"><i class='glyphicon glyphicon-edit'></i> Agregar nuevo catalogo</h4>
		  </div>
		  <div class="modal-body">
			<form class="form-horizontal" method="post" id="guardar_categoria" name="guardar_categoria" enctype="multipart/form-data">
			<div id="resultados_ajax"></div>
 
			 <div class="form-group">
				<label for="foto" class="col-sm-3 control-label">Foto</label>
				<div class="col-sm-8">
				  <input type="file" class="form-control" id="foto" name="foto">
				</div>
			  </div>
 
			  <div class="form-group">
				<label for="nombre" class="col-sm-3 control-label">Nombre</label>
				<div class="col-sm-8">
				  <input type="text" class="form-control" id="nombre" name="nombre" required>
				</div>
			  </div>
 
 
			  <div class="form-group">
				<label for="descripcion" class="col-sm-3 control-label">Descripción</label>
				<div class="col-sm-8">
					<textarea class="form-control" id="descripcion" name="descripcion"   maxlength="255" ></textarea>
 
				</div>
			  </div>

nueva_categoria.php

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
include('is_logged.php');//Archivo verifica que el usario que intenta acceder a la URL esta logueado
/*Inicia validacion del lado del servidor*/
 
if (isset($_FILES["foto"]))
{
    $file = $_FILES["file"];
    $nombre = $file["name"];
    $tipo = $file["type"];
    $ruta_provisional = $file["tmp_name"];
    $size = $file["size"];
    $dimensiones = getimagesize($ruta_provisional);
    $width = $dimensiones[0];
    $height = $dimensiones[1];
    $carpeta = "../img".$nombre;
 
    if ($tipo != 'image/jpg' && $tipo != 'image/jpeg' && $tipo != 'image/png' && $tipo != 'image/gif')
    {
      echo "Error, el archivo no es una imagen";
    }
    else if ($size > 1024*1024)
    {
      echo "Error, el tamaño máximo permitido es un 1MB";
    }
    else if ($width > 500 || $height > 500)
    {
        echo "Error la anchura y la altura maxima permitida es 500px";
    }
    else if($width < 60 || $height < 60)
    {
        echo "Error la anchura y la altura mínima permitida es 60px";
    }
    else
    {
        $src = $carpeta.$nombre;
        move_uploaded_file($ruta_provisional, $src);
        echo "<img src='$src'>";
    }
}
 
 
 
if(empty($_POST['nombre'])) {
    $errors[] = "Nombre vacío";
} else if (!empty($_POST['nombre'])){
	/* Connect To Database*/
	require_once ("../config/db.php");//Contiene las variables de configuracion para conectar a la base de datos
	require_once ("../config/conexion.php");//Contiene funcion que conecta a la base de datos
	// escaping, additionally removing everything that could be (html/javascript-) code
 
    $foto=mysqli_real_escape_string($con,(strip_tags($_POST["src"],ENT_QUOTES)));
	$nombre=mysqli_real_escape_string($con,(strip_tags($_POST["nombre"],ENT_QUOTES)));
	$descripcion=mysqli_real_escape_string($con,(strip_tags($_POST["descripcion"],ENT_QUOTES)));
	$date_added=date("Y-m-d H:i:s");
	$sql="INSERT INTO categorias (foto, nombre_categoria, descripcion_categoria,date_added) VALUES ('$foto','$nombre','$descripcion','$date_added')";
	$query_new_insert = mysqli_query($con,$sql);
	if ($query_new_insert){
		$messages[] = "El catalogo ha sido ingresada satisfactoriamente.";
	} else{
		$errors []= "Lo siento algo ha salido mal intenta nuevamente.".mysqli_error($con);
	}
} else {
	$errors []= "Error desconocido.";
}
 
if (isset($errors)){
 
	?>
	<div class="alert alert-danger" role="alert">
		<button type="button" class="close" data-dismiss="alert">&times;</button>
		<strong>Error!</strong>
		<?php
		foreach ($errors as $error) {
			echo $error;
		}
 
		?>
	</div>
	<?php
}
if (isset($messages)){
 
	?>
	<div class="alert alert-success" role="alert">
		<button type="button" class="close" data-dismiss="alert">&times;</button>
		<strong>¡Bien hecho!</strong>
		<?php
		foreach ($messages as $message) {
			echo $message;
		}
		?>
	</div>
	<?php
}
 
 
?>

categorias.php

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
/*-------------------------

---------------------------*/
session_start();
if (!isset($_SESSION['user_login_status']) AND $_SESSION['user_login_status'] != 1) {
    header("location: login.php");
	exit;
    }
 
/* Connect To Database*/
require_once ("config/db.php");//Contiene las variables de configuracion para conectar a la base de datos
require_once ("config/conexion.php");//Contiene funcion que conecta a la base de datos
 
$active_categoria="active";
$title="Categorías | Simple Invoice";
?>
<!DOCTYPE html>
<html lang="en">
  <head>
    <?php include("head.php");?>
  </head>
  <body>
	<?php
	include("navbar.php");
	?>
 
    <div class="container">
	<div class="panel panel-success">
		<div class="panel-heading">
		    <div class="btn-group pull-right">
				<button type='button' class="btn btn-success" data-toggle="modal" data-target="#nuevoCliente"><span class="glyphicon glyphicon-plus" ></span> Nuevo Catalogo</button>
			</div>
			<h4><i class='glyphicon glyphicon-search'></i> Buscar Catalogos</h4>
		</div>
		<div class="panel-body">
 
 
 
		<?php
			include("modal/registro_categorias.php");
			include("modal/editar_categorias.php");
		?>
		<form class="form-horizontal" role="form" id="datos_cotizacion">
 
			<div class="form-group row">
				<label for="q" class="col-md-2 control-label">Nombre</label>
				<div class="col-md-5">
					<input type="text" class="form-control" id="q" placeholder="Nombre del catalogo" onkeyup='load(1);'>
				</div>
				<div class="col-md-3">
					<button type="button" class="btn btn-default" onclick='load(1);'>
						<span class="glyphicon glyphicon-search" ></span> Buscar</button>
					<span id="loader"></span>
				</div>
 
			</div>
 
 
		</form>
		<div id="resultados"></div><!-- Carga los datos ajax -->
		<div class='outer_div'></div><!-- Carga los datos ajax -->
 
 
 
	</div>
	</div>
 
	</div>
	<hr>
	<?php
	include("footer.php");
	?>
	<script type="text/javascript" src="js/categorias.js"></script>
  </body>
</html>

categorias.js

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
$(document).ready(function(){
	load(1);
});
 
function load(page){
	var q= $("#q").val();
	$("#loader").fadeIn('slow');
	$.ajax({
		url:'./ajax/buscar_categorias.php?action=ajax&page='+page+'&q='+q,
		 beforeSend: function(objeto){
		 $('#loader').html('<img src="./img/ajax-loader.gif"> Cargando...');
	},
		success:function(data){
			$(".outer_div").html(data).fadeIn('slow');
			$('#loader').html('');
 
		}
	})
}
 
 
 
function eliminar (id)
{
	var q= $("#q").val();
	if (confirm("Realmente deseas eliminar la categoría")){
		$.ajax({
	        type: "GET",
	        url: "./ajax/buscar_categorias.php",
	        data: "id="+id,"q":q,
			 beforeSend: function(objeto){
				$("#resultados").html("Mensaje: Cargando...");
			},
	        success: function(datos){
				$("#resultados").html(datos);
				load(1);
			}
		});
	}
}
 
 
 
$( "#guardar_categoria" ).submit(function( event ) {
  $('#guardar_datos').attr("disabled", true);
 
 var parametros = $(this).serialize();
	$.ajax({
		type: "POST",
		url: "ajax/nueva_categoria.php",
		data: parametros,
		 beforeSend: function(objeto){
			$("#resultados_ajax").html("Mensaje: Cargando...");
		  },
		success: function(datos){
			$("#resultados_ajax").html(datos);
			$('#guardar_datos').attr("disabled", false);
			load(1);
		}
	});
  event.preventDefault();
})
 
$( "#editar_categoria" ).submit(function( event ) {
  $('#actualizar_datos').attr("disabled", true);
 
	var parametros = $(this).serialize();
	$.ajax({
		type: "POST",
		url: "ajax/editar_categoria.php",
		data: parametros,
		 beforeSend: function(objeto){
			$("#resultados_ajax2").html("Mensaje: Cargando...");
		  },
		success: function(datos){
			$("#resultados_ajax2").html(datos);
			$('#actualizar_datos').attr("disabled", false);
			load(1);
		}
	});
  event.preventDefault();
})
 
 
$('#myModal2').on('show.bs.modal', function (event) {
	var button = $(event.relatedTarget) // Button that triggered the modal
	var foto = button.data('foto')
	var nombre = button.data('nombre')
	var descripcion = button.data('descripcion')
	var id = button.data('id')
	var modal = $(this)
	modal.find('.modal-body #mod_foto').val(foto)
	modal.find('.modal-body #mod_nombre').val(nombre)
	modal.find('.modal-body #mod_descripcion').val(descripcion)
	modal.find('.modal-body #mod_id').val(id)
})

editar_categoria

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
	include('is_logged.php');//Archivo verifica que el usario que intenta acceder a la URL esta logueado
	/*Inicia validacion del lado del servidor*/
	if (empty($_POST['mod_id'])) {
       $errors[] = "ID vacío";
    }else if (empty($_POST['mod_nombre'])) {
       $errors[] = "Nombre vacío";
    }  else if (
		!empty($_POST['mod_id']) &&
		!empty($_POST['mod_nombre'])
	){
/* Connect To Database*/
require_once ("../config/db.php");//Contiene las variables de configuracion para conectar a la base de datos
require_once ("../config/conexion.php");//Contiene funcion que conecta a la base de datos
// escaping, additionally removing everything that could be (html/javascript-) code
$foto=isset($_FILES["mod_foto"]);
$nombre=mysqli_real_escape_string($con,(strip_tags($_POST["mod_nombre"],ENT_QUOTES)));
$descripcion=mysqli_real_escape_string($con,(strip_tags($_POST["mod_descripcion"],ENT_QUOTES)));
 
 
$id_categoria=intval($_POST['mod_id']);
$sql="UPDATE categorias SET foto='".$foto."', nombre_categoria='".$nombre."', descripcion_categoria='".$descripcion."' WHERE id_categoria='".$id_categoria."'";
$query_update = mysqli_query($con,$sql);
	if ($query_update){
		$messages[] = "Categoría ha sido actualizada satisfactoriamente.";
	} else{
		$errors []= "Lo siento algo ha salido mal intenta nuevamente.".mysqli_error($con);
	}
} else {
	$errors []= "Error desconocido.";
}
 
if (isset($errors)){
 
?>
<div class="alert alert-danger" role="alert">
	<button type="button" class="close" data-dismiss="alert">&times;</button>
		<strong>Error!</strong>
		<?php
		foreach ($errors as $error) {
			echo $error;
		}
		?>
</div>
<?php
}
if (isset($messages)){
 
	?>
	<div class="alert alert-success" role="alert">
		<button type="button" class="close" data-dismiss="alert">&times;</button>
		<strong>¡Bien hecho!</strong>
		<?php
		foreach ($messages as $message) {
			echo $message;
		}
		?>
	</div>
	<?php
}
 
?>

editar_categorias

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
if (isset($con))
{
	?>
	<!-- Modal -->
	<div class="modal fade" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
	  <div class="modal-dialog" role="document">
		<div class="modal-content">
		  <div class="modal-header">
			<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
			<h4 class="modal-title" id="myModalLabel"><i class='glyphicon glyphicon-edit'></i> Editar catalogo</h4>
		  </div>
		  <div class="modal-body">
			<form class="form-horizontal" method="post" id="editar_categoria" name="editar_categoria">
			<div id="resultados_ajax2"></div>
 
			  <div class="form-group">
				  <label for="foto" class="col-sm-3 control-label">Foto</label>
				  <div class="col-sm-8">
				    <input type="file" class="form-control" id="foto" name="foto">
				  </div>
			    </div>
 
			  <div class="form-group">
				<label for="mod_nombre" class="col-sm-3 control-label">Nombre</label>
				<div class="col-sm-8">
				  <input type="text" class="form-control" id="mod_nombre" name="mod_nombre"  required>
					<input type="hidden" name="mod_id" id="mod_id">
				</div>
			  </div>
 
 
			  <div class="form-group">
				<label for="mod_descripcion" class="col-sm-3 control-label">Descripción</label>
				<div class="col-sm-8">
				  <textarea class="form-control" id="mod_descripcion" name="mod_descripcion" ></textarea>
				</div>
			  </div>
 
 
		  </div>
		  <div class="modal-footer">
			<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
			<button type="submit" class="btn btn-primary" id="actualizar_datos">Actualizar datos</button>
		  </div>
		  </form>
		</div>
	  </div>
	</div>
	<?php
}
?>

No coloco el archivo buscar categorias por limitacion del sitio. Gracias

Este es todo el codigo, antes de insertar el campo imagen podia editar los datos de la categoria ahora no se puede editar ni eliminar. No guarda la imagen en la carpeta del servidor y la ruta en la bd ni la muestra.

adjunto imagen que evidencia el error.

Espero me puedan orientar y agradezco por su colaboracion

Sin-titulo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de jeinner
Val: 3
Ha aumentado 1 puesto en AJAX (en relación al último mes)
Gráfica de AJAX

Error: no guarda en la ruta en mysql

Publicado por jeinner (2 intervenciones) el 19/07/2017 16:21:39
Buen dia, Es posible que este tema o pregunta no sea de Ajax y mas bien es de PHP,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar