HTML - ventanas de error

 
Vista:

ventanas de error

Publicado por Carmen (8 intervenciones) el 01/10/2008 17:30:07
Hola, estoy haciendo una web en html y php.
El caso es que cuando el usuario se identifica, y su contraseña no es correcta yo hago

echo "<tr><td><br><br><center>Usuario incorrecto. Contacte con el administrador si no recuerda su nombre de usuario. Pulsa <a href="javascript:history.go(-1)">AQUÍ</a> para volver atrás.<br><br>";

que lo que hace es que se va a una página en blanco me pone ese texto y yo tngo q darle atras para volver al index.php.

Lo que quiero, es que en vez de q se vaya a otra página, q me salga un mensaje de error yo le de a aceptar y ya sta, pero que no se mueva de la pagina del index.php
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

RE:ventanas de error

Publicado por Khristoff (17 intervenciones) el 03/10/2008 05:05:23
Podrías usar la función alert de javascript, eso solo te abriría una ventana de error común y corriente con el mensaje.

<script>
alert ("MENSAJE");
</script>

O si usas php

echo "<script>";
echo "alert ("MENSAJE")";
echo "</script>";
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

RE:ventanas de error

Publicado por Carmen (8 intervenciones) el 03/10/2008 09:30:04
Gracias Khristoff,
es exactamente lo que quería, pero lo que pasa es que al ponerlo y aceptar se me queda en una página en blanco, cómo puedo hacer para que aunque salte la ventanita de error, se quede en la página index.php para poder volver a insertar login y password??

Muchas gracias. Saludos
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

RE:ventanas de error

Publicado por Khristoff (17 intervenciones) el 03/10/2008 23:34:18
Ok, entonces podrías agregar una línea más al script.

Quedaría algo así:

<script>
alert("MENSAJE");
return false;
</script>

Espero solucione tu problema, saludos.
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

RE:ventanas de error

Publicado por Carmen (8 intervenciones) el 06/10/2008 09:28:45
Gracias khristoff,
pero después de poner la nueva línea

echo "<script>";
echo "alert ('Contraseña incorrecta. Contacte con el administrador si no recuerda su contraseña')";
echo "return false";
echo "</script>";

ya ni sale la ventanita, directamente se va a una pantalla en blanco, con lo cual no sirve. ¿Sabes cómo puedo solucionarlo? muchas gracias.

Saludos.
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

RE:ventanas de error

Publicado por Khristoff (17 intervenciones) el 08/10/2008 20:58:12
Hola!
Perdón por la demora.
¿Podrías poner el código del formulario que estás usando? Creo que solo así podría ayudarte mejor, se me hace extraño que después de darle aceptar te mande a otra página en blanco.

Saludos!

PD: =P Si debes eliminar la línea de: echo "return false";
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

RE:ventanas de error

Publicado por Carmen (8 intervenciones) el 09/10/2008 10:11:30
Hola, muchas gracias por contestar. A ver te explico:

YO tngo el formulario en index.php y el formulario es:

<form action = validar.php method="POST" name="formulario">
<span class="textoLogin">Usuario:</span><br><br>
<input name="login" type="text" class="cuadroEntradaLogin"><br><br>
<span class="textoLogin">Contraseña:</span><br><br>
<input name="password" type="password" class="cuadroEntradaLogin"><br><br>
<br>
<br>
<br>
<input name="enviar" type="submit" align="center" class="textoBotonLogin" value="Iniciar sesión">
<input name="borrar" type="reset" align="center" class="textoBotonLogin" value="Borrar datos">
</form>

Estos datos los mando por post a validar.php, donde chequeo si son ciertos o no, el código de validar es:

<?php session_start();
require_once('baseDeDatos.php');

if(isset($_POST['enviar']))
{
$login=$_POST['login'];
$password=$_POST['password'];
$conexion=conectar_db();
$resultado=mysql_query("SELECT * FROM usuarios WHERE login='$login'",$conexion);
if (mysql_affected_rows($conexion))
{
$usuario=mysql_fetch_row($resultado);
if (strcmp($password, $usuario[2])==0)
{
$_SESSION['login']=$login;
$_SESSION['password']=$password;
header("Location: consulta.php");
}
else
{
unset($_SESSION['login']);
unset($_SESSION['acceso']);
session_unset();
session_destroy();
//header("Location: index.php");
echo "<script>";
echo "alert ('Contraseña incorrecta. Contacte con el administrador si no recuerda su contraseña')"; echo "</script>";

}
}
else
{

unset($_SESSION['login']);
unset($_SESSION['acceso']);
session_unset();
session_destroy();
//header("Location: index.php");
echo "<tr><td><br><br><center>Usuario incorrecto. Contacte con el administrador si no recuerda su nombre de usuario. Pulsa <a href="javascript:history.go(-1)">AQUÍ</a> para volver atrás.<br><br>";
}
echo "</body></html>";
mysql_free_result($resultado);
mysql_close($conexion);
}
?>

Con lo que si login y password es correcto va a consultar.php, y si no en cada uno de los casos es dnd quiero q aparezca la ventanita de error pero se quede en index.php

Muchas gracias. Saludos
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

RE:ventanas de error

Publicado por Khristoff (17 intervenciones) el 15/10/2008 18:55:28
Lo que observo es que haces un POST a validar.php, por lo que no es posible que se quede en index.php así como tú dices. La página en blanco corresponde a validar.php puesto que no se muestra otra información más que el cuadro.

Lo que se puede hacer en este caso es redireccionar de nuevo a index.php una vez que se muestre la ventana de alerta, lo podrías hacer redireccionando directamente a index.php o usando $_SERVER[’HTTP_REFERER’] de php lo cual conservaría el valor de index.php puesto que fue la página de donde se llegó a validar.php.

Otra opción sería que incluyeras el código de validación en la misma página de index.php y cuando usaran el formulario hicieras el post hacia la misma página con $_SERVER['PHP_SELF']; después con if ($_POST) {...} validarías al usuario y contraseña pero ya sin salirte de la página y solo redireccionarías tu página a otra cuando un usuario se loggea correctamente; solo de esta manera el cuadro de alerta no aparecería con el fondo blanco, sino en la misma página del formulario.

Espero te de una idea de lo que se debe de hacer, y explicado un poco.
Saludos!
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

RE:ventanas de error

Publicado por Carmen (8 intervenciones) el 16/10/2008 10:06:50
Gracias Khristoff!! He probado lo que me has dicho y t cuento.

Si pongo la validación en el propio index.php, entonces ya la ventana de error me va perfectamente y se queda en el index, el problema es que entonces lo que me falla es cuando el login y password esta bien, que no me deja redireccionarlo a la pagina d consulta.

Y bueno, he intentado entonces redireccionarlo directamente desde el validar al index. y entonces no sale la ventana.

De todas formas seguiré probando todo lo que me has dicho, y si sale ya te cuento. Si se te ocurre algo, me cuentas.

Muchas gracias.Saludos.
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

RE:ventanas de error

Publicado por Khristoff (17 intervenciones) el 15/10/2008 20:56:04
Puedes descargarte este ejemplo que hice para que "optimices" lo que estás haciendo, lo hice lo más simple posible para que le entiendas mejor. Solo debes de implementar tus scripts php.

Cualquier duda a tus órdenes.
Saludos!

http://www.khristoff.com/download/form.rar
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

RE:ventanas de error

Publicado por Khristoff (17 intervenciones) el 15/10/2008 21:11:03
PD: Si quieres agrégame a tu messenger =P con el correo que sale ahí mío
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

RE:ventanas de error

Publicado por Carmen (8 intervenciones) el 20/10/2008 11:00:16
Muchas gracias Khristoff,
he utilizado tu idea del código que me enviaste para hacerlo.
Lo que he hexo es que en validar, dependiendo de la situación, es decir, si estaba mal el usuario, o la contraseña, o los dos, o estaban vacios, pues le he dado un valor a una variable $tipo.

Esta variable la he pasado en la cabecera al index por get, y luego en el index, dependiendo del valor de la variable, aparece un echo.

Muchas gracias por tu ayuda.

Si necesitas algo, ahi arriba tienes mi correo.

Saludos.
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

RE:ventanas de error

Publicado por Khristoff (17 intervenciones) el 20/10/2008 16:18:46
Por nada, estamos para servirte
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

RE:ventanas de error

Publicado por mick (2 intervenciones) el 09/06/2012 02:59:31
Hola carmen, en la variable $tipo le pasaste el "<script>alert ('Contraseña incorrecta. Contacte con el administrador si no recuerda su contraseña')</script>"? y como pasaste esa variable a la cabecera del index?

gracias desde ya por tu respuesta.

s2
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

RE:ventanas de error

Publicado por mick (2 intervenciones) el 09/06/2012 03:57:05
Khristoff, me podrías dar ese ejemplo para ver la idea que tomó carmen?

gracias desde ya por la respuesta.

saludos.
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