Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con Unexpected token <

Estas en el tema de Problema con Unexpected token < en el foro de PHP en Foros del Web. Hola como estan, tendrian la ambailidad de brindarme su ayuda para resolver lo siguiente: Realice un login, locamente funciona bien pero al subirlo me da ...
  #1 (permalink)  
Antiguo 16/11/2015, 13:17
 
Fecha de Ingreso: mayo-2015
Mensajes: 47
Antigüedad: 9 años, 6 meses
Puntos: 0
Información Problema con Unexpected token <

Hola como estan, tendrian la ambailidad de brindarme su ayuda para resolver lo siguiente:

Realice un login, locamente funciona bien pero al subirlo me da el siguiente error en el panel del navegador:

Uncaught SyntaxError: Unexpected token <

Y el error se presenta en la linea 16 del php:

5 14:07:41 America/New_York] PHP Parse error: syntax error, unexpected '[' in /home/dli120/public_html/login/validacion_datos.php on line 16.

El código php lo tengo asì..

Código PHP:
Ver original
  1. <?php
  2. include("db.php");
  3. sleep(1);
  4. if(isSet($_POST['cedula']) && isSet($_POST['contrasena']))
  5. {
  6. // username and password sent from Form
  7. $cedula=$_POST['cedula'];
  8. $contrasena=$_POST['contrasena'];
  9. $sql="SELECT * FROM empleado WHERE contrasena_empleado='$contrasena' and ci_empleado='$cedula'";
  10. $res=mysql_query($sql,$con) or die (mysql_error());
  11.  
  12. if(mysql_num_rows($res)==1){
  13.    
  14. $_SESSION['login_user']=$cedula;
  15. $respuesta = [
  16.     'codigo' => 1
  17. ];
  18.  
  19. }else{
  20.    
  21.   $sql_01="SELECT * FROM cliente WHERE contrasena_cliente='$contrasena' and ci_cliente='$cedula'";
  22.   $res_01=mysql_query($sql_01,$con) or die (mysql_error());
  23.  
  24.    if(mysql_num_rows($res_01)==1){
  25.      
  26.      $_SESSION['login']=$cedula;
  27.      $respuesta = [
  28.     'codigo' => 2
  29.     ];
  30.  
  31.      }else{
  32.      $respuesta = [
  33.     'codigo' => 0
  34.     ];   
  35.  
  36.     }
  37.  
  38.  
  39.  }
  40. echo json_encode($respuesta);
  41.  
  42.  
  43. }
  44. ?>

Intente de diversas formas, pero no se que pasa..En la parte del javascript al recibir la respuesta me da error pero supongo que es por la parte del php..

Gracias por brindarme su tiempo...

Última edición por EmilianoEmiliano; 16/11/2015 a las 13:24
  #2 (permalink)  
Antiguo 16/11/2015, 14:10
 
Fecha de Ingreso: mayo-2015
Mensajes: 47
Antigüedad: 9 años, 6 meses
Puntos: 0
Información Respuesta: Problema con Unexpected token <

Talves esta mal la forma:

Código PHP:
Ver original
  1. $respuesta = [
  2.     'codigo' => 1
  3. ];

En el ajax lo tengo asì:


Código Javascript:
Ver original
  1. function enviar_validar(){
  2.     divResultado = document.getElementById('nerror');  
  3.     cedula=document.ingreso_sistema.cedula.value;
  4.     contrasena=document.ingreso_sistema.contrasena.value;
  5.     ajax=objetoAjax();
  6.     ajax.open("POST", "/naruto/login/validacion_datos.php",true);
  7.     divResultado.style.display = "block";
  8.     divResultado.innerHTML= '<img src="/naruto/images/loader.gif" alt="" />';
  9.    
  10. ajax.onreadystatechange = function(){
  11.     if (ajax.readyState == 4 && ajax.status == 200){
  12.         //Recogemos la respuesta y la parseamos a JSON
  13.         var respuesta = JSON.parse(ajax.responseText);
  14.  
  15.         //Si todo va bien, se redirecciona
  16.         if (respuesta.codigo == 1){
  17.             alert("Ingreso como empleado");
  18.             window.location ="/inicio/index_2.php";
  19.         }
  20.         //Caso contrario
  21.         else{
  22.            
  23.             if(respuesta.codigo == 2){
  24.                
  25.             alert("Ingreso como cliente");
  26.             window.location = "/inicio/index.php";
  27.            
  28.             }else{
  29.             divResultado.innerHTML = respuesta.mensaje;
  30.             divResultado.style.display = "block";
  31.             }
  32.            
  33.         }
  34.     }
  35. }
  36.  
  37.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  38.     //enviando los valores
  39.     ajax.send("cedula="+cedula+"&contrasena="+contrasena)
  40. }


Me fije que también al mostrar error en el token, también hacia referencia en esta parte:
Código Javascript:
Ver original
  1. var respuesta = JSON.parse(ajax.responseText);



  #3 (permalink)  
Antiguo 16/11/2015, 15:38
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 9 meses
Puntos: 69
Respuesta: Problema con Unexpected token <

La línea 16 del código que pones en el post es la misma de tu código completo?
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]

Última edición por chronos682; 16/11/2015 a las 15:43
  #4 (permalink)  
Antiguo 16/11/2015, 16:15
 
Fecha de Ingreso: mayo-2015
Mensajes: 47
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Problema con Unexpected token <

Hola gracias por responder, si es la misma la linea 16 en el código colocado anteriormente

En esta parte del php:

Código PHP:
Ver original
  1. $respuesta = [
  2.     'codigo' => 1
  3. ];
  #5 (permalink)  
Antiguo 16/11/2015, 17:16
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 9 meses
Puntos: 69
Respuesta: Problema con Unexpected token <

Estás usando mal el objetoAjax, prueba así:

Código Javascript:
Ver original
  1. <script>
  2.        
  3.         function enviar_validar()
  4.         {
  5.             divResultado = document.getElementById('nerror');  
  6.             cedula=document.ingreso_sistema.cedula.value;
  7.             contrasena=document.ingreso_sistema.contrasena.value;
  8.             pagina = new ObjetoAjax();
  9.             ajax = pagina.objeto;
  10.             ajax.open("POST", "/naruto/login/validacion_datos.php",true);
  11.             divResultado.style.display = "block";
  12.             divResultado.innerHTML= '<img src="/naruto/images/loader.gif" alt="" />';
  13.            
  14.             ajax.onreadystatechange = function()
  15.             {
  16.                 if (ajax.readyState == 4 && ajax.status == 200)
  17.                 {
  18.                     //Recogemos la respuesta y la parseamos a JSON
  19.                     var respuesta = JSON.parse(ajax.responseText);
  20.              
  21.                     //Si todo va bien, se redirecciona
  22.                     if (respuesta.codigo == 1)
  23.                     {
  24.                         alert("Ingreso como empleado");
  25.                          window.location ="/inicio/index_2.php";
  26.                     }
  27.                     else
  28.                     {
  29.                         if(respuesta.codigo == 2)
  30.                         {
  31.                             alert("Ingreso como cliente");
  32.                             window.location = "/inicio/index.php";
  33.                         }
  34.                         else
  35.                         {
  36.                             divResultado.innerHTML = respuesta.mensaje;
  37.                             divResultado.style.display = "block";
  38.                         }
  39.                        
  40.                     }
  41.                 }
  42.             }
  43.          
  44.             ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  45.             //enviando los valores
  46.             ajax.send("cedula="+cedula+"&contrasena="+contrasena);
  47.         }
  48.     </script>

A mi me funciona bien, ya lo probé.

PD: Si el código es para iniciar sesión por qué mejor no lo haces directamente desde el formulario por medio de POST sin tener que usar AJAX.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]

Última edición por chronos682; 16/11/2015 a las 17:31
  #6 (permalink)  
Antiguo 16/11/2015, 17:51
 
Fecha de Ingreso: mayo-2015
Mensajes: 47
Antigüedad: 9 años, 6 meses
Puntos: 0
Información Respuesta: Problema con Unexpected token <

Hola gracias por responder, ya lo probe pero igual creo que el problema es en la manera en que formo el array en el php:

Código PHP:
Ver original
  1. $respuesta =[
  2.     'codigo' => 2,
  3.     'mensaje' => '/naru/index.php'
  4.     ];

O la forma en que lo recibo:
Código Javascript:
Ver original
  1. var respuesta = JSON.parse(ajax.responseText);

Gracias por su tiempo...
  #7 (permalink)  
Antiguo 16/11/2015, 18:11
 
Fecha de Ingreso: mayo-2015
Mensajes: 47
Antigüedad: 9 años, 6 meses
Puntos: 0
Información Respuesta: Problema con Unexpected token <

Ya me fije en el error es exactamente aqui:

$respuesta =[
'codigo' => 2,
'mensaje' => '/naru/index.php'
];

Como deberia ser la manera adecuada de formar al arreglo correctamente..
  #8 (permalink)  
Antiguo 16/11/2015, 18:43
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 9 meses
Puntos: 69
Respuesta: Problema con Unexpected token <

Yo lo tengo así y no me da ningún error:

Código PHP:
Ver original
  1. $respuesta = [
  2.     'codigo' => 2,
  3.     'mensaje' => "Bienvenido"
  4. ];
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #9 (permalink)  
Antiguo 16/11/2015, 18:46
 
Fecha de Ingreso: mayo-2015
Mensajes: 47
Antigüedad: 9 años, 6 meses
Puntos: 0
Información Respuesta: Problema con Unexpected token <

Gracias por todo ya forme el array de la forma normal, me estaba complicando sin analizar la situación...
Gracias...

Etiquetas: html, mysql, select, sql, token, unexpected
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 05:21.