Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2016, 19:07
Avatar de kip13
kip13
 
Fecha de Ingreso: agosto-2011
Mensajes: 167
Antigüedad: 12 años, 9 meses
Puntos: 13
Pregunta Problema base de datos PHP y Ajax

Hola, me gustaria que me ayuden en algo que me sucedio esta tarde, estaba trabajando con mi proyecto basado en una reserva de horas mediante PHP y Ajax, la verdad es que estaba configurando FullCalendar que es el que utilizo para mostrar las horas reservadas, entonces luego de haber hecho aquello entre a la pagina donde hago las reservas y al reservar simplemente no pasa nada, no se ejecuta la funcion javascript que esta configurada para que se realice al momento del submit.
No tengo idea de que habra pasado, cabe recalcar que tengo avanzado en proyecto casi un 60% y pues ya habia probado en dias anteriores aquella función de reservar y de buscar una reserva y todo funcionaba a la perfeccion, no entiendo que pasa, utilizo AJAX por cierto para realizar la consulta y añadir la reserva.
No se si quizas sea el servidor local, la base de datos, etc, quisiera saber si a alguien alguna vez le paso esto, la verdad es que estoy algo desesperado porque he revisado todo el código y al parecer no tengo nada extraño, la base de datos también la revise y parece que todo esta perfecto.
Adjuntare el codigo javascript y el PHP para que puedan observar y tal vez ayudarme si encuentran algun error.

AJAX.JS
Código PHP:
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
function 
objetoAjax(){
var 
xmlhttp=false;
    try {
        
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (
e) {
        try {
           
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (
E) {
            
xmlhttp false;
          }
    }

    if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
        
xmlhttp = new XMLHttpRequest();
    }
    return 
xmlhttp;
}

function 
consultar(){
 
        
//Recogemos los valores introducimos en los campos de texto

        
nombre document.consulta.nombres.value;
       
correo document.consulta.correo.value;
 
         
//Aquí será donde se mostrará el resultado
         
divResultado document.getElementById('resultado');

 
        
//instanciamos el objetoAjax
        
ajax objetoAjax();
 
        
//Abrimos una conexión AJAX pasando como parámetros el método de envío, y el archivo que realizará las operaciones deseadas
        
ajax.open("POST""buscar_reserva.php"true);
 
        
//cuando el objeto XMLHttpRequest cambia de estado, la función se inicia
        
ajax.onreadystatechange = function() {
 
             
//Cuando se completa la petición, mostrará los resultados 
            
if (ajax.readyState == 4){
 
                
//El método responseText() contiene el texto de nuestro 'consultar.php'. Por ejemplo, cualquier texto que mostremos por un 'echo'
              
texto = (ajax.responseText);
          
//mostrar resultados en esta capa
          
divResultado.innerHTML texto;
          
         
            }
        } 
 
        
//Llamamos al método setRequestHeader indicando que los datos a enviarse están codificados como un formulario. 
        
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); 
 
        
//enviamos las variables a 'enviar.php' 
        
ajax.send("&nombre="+nombre+"&correo="+correo)
        
         
 

BUSCAR_RESERVA.PHP
Código PHP:
<?php
setlocale
(LC_ALL,"es_ES@euro","es_ES","esp"); // LC_TIME
?><?php 
session_start
();

require (
'/config.php');
$link mysqli_connect("$hotsdb","$usuariodb","$clavedb") or die(mysqli_error());
         
mysqli_select_db$link'calendario');
         
$link->query("SET NAMES utf8"); 

$nombre =  mysqli_real_escape_string($link,$_POST['nombre']);
$correo =  mysqli_real_escape_string($link,$_POST['correo']);



if (
$nombre == null){
 echo 
"INGRESE EL NOMBRE CON EL QUE RESERVASTE";
     
} else{
      if (
$correo == null){ echo "INGRESE EL CORREO CON EL QUE RESERVASTE";
}else{
     
$consulta "SELECT * FROM calendar WHERE nombre LIKE '".$nombre."%' AND correo LIKE '".$correo."%' ";
    
$resultado mysqli_query ($link$consulta) or die (mysqli_error());
    if (
mysqli_num_rows($resultado) == 0){
         echo 
"LOS DATOS QUE INGRESASTE NO COINCIDEN CON NINGUNA RESERVA HECHA";
        }else{
  while(
$row mysqli_fetch_array($resultado)){
    echo 
utf8_encode("<p> // ".ucwords(strftime("%A %d "strtotime($row['start'])))." de ".ucwords(strftime("%B "strtotime($row['start'])))." desde las ".ucwords(strftime("%H:%M"strtotime($row['start'])))." hasta las ".ucwords(strftime("%H:%M"strtotime($row['end'])))." ".utf8_decode($row['nombre'])." </p> \n");

}
     
mysqli_close($link);  } }
}
?>
Adjunto tambien la interfaz donde ingreso los datos de busqueda, no he configurado la apariencia aun, pero aquello no importa.

CONSULTAR_RESERVA.PHP
Código HTML:
<!doctype html>
<html>
<head>

<script type="text/javascript" src="ajax2.js"></script>
<link rel="shortcut icon" href="images/favicon_atrako.png">
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Consultar reservación - Atrako Records</title>
</head>
 <p>Buscar reserva</p>
    <form name="consulta" action="" onsubmit="consultar();return false">

  <label>
Buscar <input type="text" name="nombre" />
<input id="txt" type="text" name="correo" />


  <input id="btn" type="submit" value="Consultar" />


  </label>

  </form>

  <div id="resultado"></div>
<body>
</body>
</html> 
Al momento de realizar el submit en el form y donde se supone deberia ejecutarse la funcion consultar() que se encuentra en el archivo ajax.js, no pasa nada, solo refresca la pagina y resetea los textbox, como si no encontrara aquella funcion.



La barra de direcciones queda asi.

Espero puedan ayudarme guiandome para encontrar la solucion.

Utilizo WampServer Version 3.0.0 64bit, por si lo necesitan saber.

Saludos y muchas gracias!!