Foros del Web » Programando para Internet » Javascript »

Duda con Ajax+PHP+MySQL

Estas en el tema de Duda con Ajax+PHP+MySQL en el foro de Javascript en Foros del Web. Hola, buenas tardes, Tengo una duda con respecto a enviar información vía AJAX. No me aparece algún error al momento de procesar la información pero ...
  #1 (permalink)  
Antiguo 19/01/2018, 14:24
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Duda con Ajax+PHP+MySQL

Hola, buenas tardes,

Tengo una duda con respecto a enviar información vía AJAX. No me aparece algún error al momento de procesar la información pero esta no llega a la base de datos. Tengo lo siguiente:

Código PHP:
<div class="box-agenda">
    <label class="icon-book action list"  title="AGENDAR" onclick="agendar(<?php echo $rowSelectEvents['id_shedule']; ?>)"></label> 
    <label class="icon-ok action fav" title="FAVORITO" onclick="favorito(<?php echo $rowSelectEvents['id_shedule']; ?>)"></label> 
    <?php echo $mensaje?>
</div>
y en Javascript tengo el método para enviar la información:

Código Javascript:
Ver original
  1. function agendar(str) {
  2.  
  3.         var list = str;
  4.             if (window.XMLHttpRequest) {
  5.                 // code for IE7+, Firefox, Chrome, Opera, Safari
  6.                 xmlhttp = new XMLHttpRequest();
  7.             } else {
  8.                 // code for IE6, IE5
  9.                 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  10.             }
  11.            
  12.             alert(list);
  13.             xmlhttp.open("GET","bd/methods/method-agenda.php?q="+list,true);
  14.             xmlhttp.send();
  15.     }

sé que la información llega al script por el alert que tengo incluido, y sé que sí reconoce bien la ruta del archivo php porque al realizar algún cambio sobre este, por ejemplo agregarle "../" al inicio para saber si desconoce la ruta reacciona, marca error, así que sé que está bien dirigido.

Sin embargo, creo que la información no está llegando al archivo PHP, el cuál es este:

Código PHP:
require("bd/config-db.php");
    
    
$evento $_GET['q'];
    
    
$sqlInsertAgend mysqli_query($conn"Insert into cs_events(event_id_user, event_agenda) values (" $_SESSION['user'] . ", " $evento " )") or die(mysqli_error());
    
$mensaje =  "Insert into cs_events(event_id_user, event_agenda) values (" $_SESSION['user'] . ", " $evento " )"
No llega al script en PHP porque ni siquiera me muestra el error por mysqli_error() o el mensaje $mensaje al ser procesado.

Intente por medio del método POST en la función de javascript pero me sucedió exactamente lo mismo.

Quizá estoy omitiendo algo, ¿alguna idea?

Saludos!!
  #2 (permalink)  
Antiguo 19/01/2018, 14:26
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Respuesta: Duda con Ajax+PHP+MySQL

Por cierto, en:

Código PHP:
<label class="icon-book action list"  title="AGENDAR" onclick="agendar(<?php echo $rowSelectEvents['id_shedule']; ?>)"></label>  
<label class="icon-ok action fav" title="FAVORITO" onclick="favorito(<?php echo $rowSelectEvents['id_shedule']; ?>)"></label>
si llegan los valores de $rowSelectEvents['id_shedule'];
  #3 (permalink)  
Antiguo 19/01/2018, 15:58
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Duda con Ajax+PHP+MySQL

Pulsa la tecla F12 y selecciona la pestaña "Network" en el panel que se desplegará. Enseguida recarga la página. Aparecerá en dicho panel un listado de los archivos con los que estás trabajando en ese momento. Realiza la acción que hace el llamado a la función y espera hasta que el nombre del archivo "method-agenda.php" aparezca en la lista, selecciónalo y, en el panel que se desplegará a un costado, selecciona la pestaña "Response". Allí podrás visualizar la respuesta que estás obteniendo. Puedes aprovechar esto para imprimir los valores de las variables sensibles que tienes en el archivo PHP para verificar lo que está llegando y obteniéndose de los procesos que en él se ejecutan.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 19/01/2018 a las 16:08 Razón: Adición de información
  #4 (permalink)  
Antiguo 19/01/2018, 17:51
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Duda con Ajax+PHP+MySQL

Hola:

Detrás de los paréntesis yo suelo abrir comillas antes de la inserción del php, porque dudo de que la respuesta esté entrecomillada.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 22/01/2018, 09:57
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Respuesta: Duda con Ajax+PHP+MySQL

Hola Alexis88, caricatos gracias por sus respuestas!

Revisé como me indicaste, viendo la actividad por la pestaña de Network y localicé el problema. En la consulta no estaba llegando el valor de $_SESSION['user'], llegaba NULL, lo resolví de la siguiente manera, pero no sé si sea lo correcto:

Código Javascript:
Ver original
  1. function agendar(str) {
  2.  
  3.     var list = str;
  4.         if (window.XMLHttpRequest) {
  5.             // code for IE7+, Firefox, Chrome, Opera, Safari
  6.             xmlhttp = new XMLHttpRequest();
  7.         } else {
  8.             // code for IE6, IE5
  9.             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  10.         }
  11.            
  12.         xmlhttp.open("GET","bd/methods/method-agenda.php?q="+list+"&user="+<?php echo $_SESSION['user']; ?>,true);
  13.         xmlhttp.send(list);
  14. }

quedando la consulta:

Código PHP:
$evento $_GET['q'];
$user $_GET['user'];
    
$sqlInsertAgend mysqli_query($conn"Insert into cs_events(event_id_user, event_agenda) values (" $user ", " $evento " )"); 
Saludos!!
  #6 (permalink)  
Antiguo 22/01/2018, 11:49
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Duda con Ajax+PHP+MySQL

Si se trata de una variable de sesión, quizá te faltó continuar la sesión en el archivo PHP.

Código PHP:
Ver original
  1.  
  2. //Lo demás

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 22/01/2018, 17:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Duda con Ajax+PHP+MySQL

Hola:

¿Qué posibles valores podría tener $rowSelectEvents['id_shedule'], porque si javascript no lo reconoce como variable o valor válido podría generar la cadena null... (por eso te comenté antes lo de las comillas)...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: ajax-php-mysql, chrome, java, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:32.