Foros del Web » Programando para Internet » PHP »

Iniciar sesion con 3 intentos

Estas en el tema de Iniciar sesion con 3 intentos en el foro de PHP en Foros del Web. Hola, estoy trabajando con un script php para que me inicie sesion con validacion en 3 intentos, pero no me funciona. Soy nuevo en php ...
  #1 (permalink)  
Antiguo 30/04/2011, 22:43
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 8 años, 7 meses
Puntos: 0
Iniciar sesion con 3 intentos

Hola, estoy trabajando con un script php para que me inicie sesion con validacion en 3 intentos, pero no me funciona. Soy nuevo en php y en el foro. gracias.
Este es el codigo y tambien les mando el enlace del archivo.

Cita:
<html>
<head>
<title>Documento sin título</title>
<script language="javascript" type="text/javascript">
function closeWindow() {
window.open('','_parent','');
window.close();
}
</script>
</head>

<body>

<?php

//iniciamos sesión
session_start();

//añadimos 1 a la sesión

$_SESSION['intentos']++ ;

//Comprobamos intentos
if ($_SESSION['intentos'] > 3)
{
echo "<br><br>Demasiados intentos<br><br>";
echo '<a href="logininside.php">Regresar</a><br>';
echo '<a href="javascript:closeWindow();">Cerrar</a>';

//destruimos sesión para poder empezar de nuevo
session_destroy();

//finalizamos
die(); }

$clave = "123";

//Metemos la contraseña enviada desde el formulario en una variable
$contrasenya=$_POST['contrasenya'];

echo "Intoduce una contrasenya";

if ($contrasenya == $clave)
{
echo "<br>Enhorabuena, tienes acceso al sistema"; session_destroy();
}
else
{
echo "<br>Intentalo de nuevo, llevas ".($_SESSION['intentos']-1)." intentos de 3";

//Creamos formulario para introducir clave
echo '<form method="post" action='.$_SERVER['PHP_SELF'].'>

<input type="text" name="contrasenya" id="contrasenya" />
<input type="submit" name="button" id="button" value="Enviar" />
<input type="reset" name="button" id="button" value="Cancelar" />

</form>';}

?>

</body>
</html>

Y este es el enlace: http://sanmartinenlinea.com/abel/uapphp/logininside.php

Gracias
  #2 (permalink)  
Antiguo 30/04/2011, 23:00
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 15 años, 8 meses
Puntos: 406
Respuesta: Iniciar sesion con 3 intentos

No funciona... pero que, te manda error?, no hace lo que debe?, hornea panecillos en vez de pizza... se especifico, el adivino todavía anda de vacaciones
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 30/04/2011, 23:13
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 16 años, 4 meses
Puntos: 105
Respuesta: Iniciar sesion con 3 intentos

Holas,

la linea donde dice:

session_start();

Eso tiene que ir al comienzo de tu archivo:

Código PHP:
Ver original
  1. <?php session_start(); ?>
  2. <html>
  3. <head>
  4. <title>Documento sin título</title>
  5. <script language="javascript" type="text/javascript">
  6. function closeWindow() {
  7. window.open('','_parent','');
  8. ...
  9. ...
  10. ...


Saludos
Gildus
__________________
.: Gildus :.
  #4 (permalink)  
Antiguo 30/04/2011, 23:15
Avatar de fekaa11  
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 8 años, 7 meses
Puntos: 34
Respuesta: Iniciar sesion con 3 intentos

Código PHP:
Ver original
  1. <?php
  2. session_register("intentos");
  3. ?>
  4. <html>
  5. <head>
  6. <title>Prueba</title>
  7. </head>
  8.  
  9. <body>
  10. <?php echo "<form method=\"POST\" action=\"".$_SERVER['PHP_SELF']."\">"; ?>
  11. <input type="text" name="contrasenya" id="contrasenya" />
  12. <input type="submit" name="button" id="button" value="Enviar" />
  13. <input type="reset" name="button" id="button" value="Cancelar" />
  14. <?php
  15. echo "</form>";
  16. //añadimos 1 a la sesión
  17.  
  18. $_SESSION["intentos"]++;
  19.  
  20. //Comprobamos intentos
  21. if ($_SESSION['intentos'] > 3)
  22. {
  23. echo "<br><br>Demasiados intentos<br><br>";
  24. echo '<a href="ejemplo.php">Intentar nuevamente</a><br>';
  25. echo '<a href="javascript:closeWindow();">Cerrar</a>';
  26.  
  27. //destruimos sesión para poder empezar de nuevo
  28.  
  29. //finalizamos
  30. die(); }
  31.  
  32. $clave = "123";
  33.  
  34. //Metemos la contraseña enviada desde el formulario en una variable
  35. $contrasenya=$_POST['contrasenya'];
  36.  
  37. echo "Intoduce una contrasenya";
  38.  
  39. if ($contrasenya == $clave)
  40. {
  41. echo "<br>Enhorabuena, tienes acceso al sistema"; session_destroy();
  42. }
  43. else
  44. {
  45. echo "<br>Intentalo de nuevo, llevas ".($_SESSION['intentos']-1)." intentos de 3";
  46. }
  47. ?>
  48. </body>
  49. </html>
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.
  #5 (permalink)  
Antiguo 30/04/2011, 23:15
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Iniciar sesion con 3 intentos

Ok, a ver, me sale unos errores de php

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/s/m/e/smenlinea/html/abel/uapphp/logininside.php:6) in /home/content/s/m/e/smenlinea/html/abel/uapphp/logininside.php on line 19

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/s/m/e/smenlinea/html/abel/uapphp/logininside.php:6) in /home/content/s/m/e/smenlinea/html/abel/uapphp/logininside.php on line 19

me dice en la linea 19, y la linea 19 es precisamente esta linea: session_start();

Pero, se supone q esta bien y que debe iniciar la sesion, pero no se. Lo podrias probar en tu localhost??
Gracias
  #6 (permalink)  
Antiguo 30/04/2011, 23:19
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 15 años, 8 meses
Puntos: 406
Respuesta: Iniciar sesion con 3 intentos

Es tal y como te ah contestado @gildus, debes colocar session_start() al comienzo del archivo, no debe de haber ninguna salida antes de esta, ni código html ni echos, var_dump, etc
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #7 (permalink)  
Antiguo 30/04/2011, 23:29
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Iniciar sesion con 3 intentos

Muchas gracias por todo!!

Etiquetas: intentos
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:31.