Foros del Web » Programando para Internet » PHP »

No me muestra mensaje JavaScript

Estas en el tema de No me muestra mensaje JavaScript en el foro de PHP en Foros del Web. Bueno el problema es que quiero que mi mensaje javascript se ejecute cuando el user o pass esta incorrecto.. este es mi codigo de mi ...
  #1 (permalink)  
Antiguo 22/09/2012, 18:24
(Desactivado)
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peru Villa Maria
Mensajes: 29
Antigüedad: 11 años, 7 meses
Puntos: 0
No me muestra mensaje JavaScript

Bueno el problema es que quiero que mi mensaje javascript se ejecute cuando el user o pass esta incorrecto.. este es mi codigo de mi archivo control.php

Código PHP:
<?php
session_start
();
include_once 
"conexion.php";
include_once 
"function_login.php";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Custom JavaScript Dialog Boxes</title>
<link rel="stylesheet" type="text/css" href="dialog_box.css" />
<script type="text/javascript" src="dialog_box.js"></script>
</head>
<body>

<?php
    $id 
$_POST['username'];
    
$n 1;
    
$user strtolower($id{$n 1});
switch (
$user)
    {    
        case  
"a":
        
$_POST['password'] = md5($_POST['password']);
            
        if(
verificar_login_a($_POST['username'],$_POST['password'],$result) == 1)
        {
            
$_SESSION['userid'] = $result->id_user;
            
header("location:admin/index.php");
        }
        else
        {
            
//header("location:index.php");
            
?>
            <script type="text/javascript">
                location.href="index.php";
            </script>
            <script type="text/javascript" src="dialog_box.js">
                javascript:showDialog('Error','User o clave incorrecto.','error',2)
                location.href="index.php";
            </script>
            <?php
        
}
        break;
        
        case 
"e":
        
$_POST['password'] = md5($_POST['password']);
            
        if(
verificar_login_e($_POST['username'],$_POST['password'],$result) == 1)
        {
            
$_SESSION['userid'] = $result->id_alumno;
            
header("location:alumno/index.php");
        }
        else
        {
            
header("location:index.php");
        }
        break;
        default:
            
header("location:index.php");
    }
?>
</body>
</html>
al probarlo, escribiendo un user q empieze con a y un pass falso me tiene que salir el mensaje pero se queda en la pagina en blanco control.php :S
  #2 (permalink)  
Antiguo 22/09/2012, 18:29
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: No me muestra mensaje JavaScript

tenes que poner el codigo en un echo de php, asi se mostrará en pantalla y llegará al cliente el js
  #3 (permalink)  
Antiguo 22/09/2012, 21:09
(Desactivado)
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peru Villa Maria
Mensajes: 29
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: No me muestra mensaje JavaScript

Cita:
Iniciado por rodrigo791 Ver Mensaje
tenes que poner el codigo en un echo de php, asi se mostrará en pantalla y llegará al cliente el js
un ejemplo please.. no se como hacer lo que señalas...
  #4 (permalink)  
Antiguo 22/09/2012, 23:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: No me muestra mensaje JavaScript

JavaScript se ejecuta en el navegador del usuario (Cliente). PHP se ejecuta en el Servidor.
No mandas a ejecutar desde PHP una sentencia de JavaScript, sino que haces que el codigo JavaScript impacte en el navegador... para lo cual la única forma es que PHP lo envíe como output dentro de un echo
Código PHP:
Ver original
  1. echo "tu codigo JavaScript";

¿Realmente necesitas un ejemplo para entender ese detalle?

Pues usa Google y encontrarás miles: http://pabloruizisrelaxing.wordpress...dentro-de-php/
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 22/09/2012, 23:42
(Desactivado)
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peru Villa Maria
Mensajes: 29
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: No me muestra mensaje JavaScript

lei que para insertar javascript en php se hacia algo asi
Código PHP:
<?php
echo"contenido arriba";
?>
//aqui codigo javascript 
<?php
echo"contenido abajo";
?>
y no me salia, la verdad no pensaba que el codigo javasscript se podia poner entre comillas
lo intentare asi como dicen .xD
  #6 (permalink)  
Antiguo 23/09/2012, 00:18
(Desactivado)
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peru Villa Maria
Mensajes: 29
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: No me muestra mensaje JavaScript

lo hice de esta manera:
Cita:
echo "<script type='text/javascript' src='dialog_box.js'> javascript:showDialog('Warning','User o pass incorrecto.','warning') </script>";
No me sale ningun error en el dreamweaver,
pero igual, al probarlo, me redirecciona obviamente al control.php y se queda ahi, no me sale el mensaje :(

Última edición por luis123123; 23/09/2012 a las 00:26
  #7 (permalink)  
Antiguo 23/09/2012, 00:55
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: No me muestra mensaje JavaScript

Porque llamas 2 veces al mismo archivo? dialog_box.js ya lo llamaste en el head.
  #8 (permalink)  
Antiguo 23/09/2012, 09:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: No me muestra mensaje JavaScript

Cita:
Iniciado por luis123123 Ver Mensaje
lei que para insertar javascript en php se hacia algo asi
Código PHP:
<?php
echo"contenido arriba";
?>
//aqui codigo javascript 
<?php
echo"contenido abajo";
?>
y no me salia, la verdad no pensaba que el codigo javasscript se podia poner entre comillas
lo intentare asi como dicen .xD
Eso sería, si no entiendo mal, el contenido de una página en HTML, ya que las dos secciones (superior e inferior) se están ejecutando en servidor, mientras que el resto es en el Cliente... Es esecnailmente PHP embebido en html, algo perfectamente de manual.
Fijate que para el caso, es lo mismo que lo que necesitas para crear HTML por medio de PHP: Lo envías con echo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 23/09/2012, 10:40
 
Fecha de Ingreso: septiembre-2012
Ubicación: mexico
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: No me muestra mensaje JavaScript

Código HTML:
<script type="text/javascript">
                location.href="index.php";
            </script> 
¿Y si le quitas esta parte? creo que esta haciendo primero una redireccion a index.php y es por eso que no lanza el mensaje o como te dijeron más arriba no hace falta volver a declarar el mismo archivo 2 veces, es mejor djarlo solo en el header y mandarlo a llamar con etiquetas <script> javascript:showDialog('Warning','User o pass incorrecto.','warning'); </script> .
  #10 (permalink)  
Antiguo 23/09/2012, 18:41
(Desactivado)
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peru Villa Maria
Mensajes: 29
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: No me muestra mensaje JavaScript

Bueno probe mil maneras de hacerlo... tambien la que ustedes dicen este es el codigo arreglado, no se que estara fallando :( :
Código PHP:
<?php
session_start
();
include_once 
"conexion.php";
include_once 
"function_login.php";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="dialog_box.css" />
<script type="text/javascript" src="dialog_box.js"></script>
</head>
<body>

<?php
    $id 
$_POST['username'];
    
$n 1;
    
$user strtolower($id{$n 1});
switch (
$user)
    {    
        case  
"a":
        
$_POST['password'] = md5($_POST['password']);
            
        if(
verificar_login_a($_POST['username'],$_POST['password'],$result) == 1)
        {
            
$_SESSION['userid'] = $result->id_user;
            echo 
'<script type="text/javascript">location.href="admin/index.php"</script>';
        }
        else
        {
            echo 
"<script type='text/javascript'>
                 javascript:showDialog('Error','Su clave o contraseña es incorrecta.','error',2);
            </script>"
;
        }
        break;
        
        case 
"e":
        
$_POST['password'] = md5($_POST['password']);
            
        if(
verificar_login_e($_POST['username'],$_POST['password'],$result) == 1)
        {
            
$_SESSION['userid'] = $result->id_alumno;
            echo 
'<script type="text/javascript">location.href="alumno/index.php"</script>';
        }
        else
        {    
            echo 
"<script type='text/javascript'>
                 javascript:showDialog('Error','Su clave o contraseña es incorrecta.','error',2);
            </script>"
;
        }
        break;
        default:
            echo 
"<script type='text/javascript'>
                 javascript:showDialog('Error','Su clave o contraseña es incorrecta.','error',2);
            </script>"
;    
    }
?>
</body>
</html>

Etiquetas: java, javascript, mensaje, mysql, validar+servidor, bases-de-datos
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 16:55.