Advertisement
Guest User

Untitled

a guest
Dec 1st, 2016
1,269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.96 KB | None | 0 0
  1. <?php
  2. session_start();
  3.  
  4. $email = ''; $clave='';
  5. // $email = isset($_POST['email']) ? $_POST['email'] : "";
  6. // $clave = isset($_POST['clave']) ? $_POST['clave'] : "";
  7.  
  8. ?>
  9.  
  10. <!DOCTYPE html>
  11. <html>
  12. <head>
  13. <meta charset="utf-8"/>
  14. <title>Examen A</title>
  15. <!-- <link rel='stylesheet' type='text/css' href='css/estilos_3.css'> -->
  16. </head>
  17. <body bgcolor="lightblue">
  18. <h3>Login</h3>
  19. <form action="" method="post">
  20. <label>Correo Electrónico: </label><input type="text" name="email"
  21. value="<?php echo $email; ?>"/><br/>
  22. <label>Contraseña: </label><input type="password" name="clave"
  23. value="<?php echo $clave; ?>"/>
  24. <input type="submit" name="Enviar" value="Entrar"/>
  25. </form>
  26. <br/>
  27. </body>
  28. </html>
  29.  
  30. <?php
  31.  
  32. if ( isset($_POST['Enviar']) ) {
  33.  
  34. $email = $_POST['email'];
  35. $clave = $_POST['clave'];
  36.  
  37. $error = validar_datos($_POST);
  38.  
  39. if ( $error == "" ) { // Validación datos OK
  40.  
  41. $user = comprobar_credenciales($email, $clave);
  42.  
  43. // Si credenciales OK, crear sesión y cookie e invocar siguiente página
  44. if ( isset($user['usuario']) ) {
  45. $_SESSION['usuario'] = $user['usuario']; // Guardar nombre usuario, no email
  46.  
  47. // Establecer inicialmente a 1 la cookie nº visitas. Caso contrario, incrementar
  48. if ( isset($_COOKIE['usuario']) )
  49. setcookie('usuario', $_COOKIE['usuario']+1, time()+3600);
  50. else
  51. setcookie('usuario', 1, time()+3600);
  52.  
  53. header('Location: menu.php');
  54. }
  55. else
  56. echo "<font color='red'>Usuario/Contraseña no válidos</font></b>";
  57.  
  58. }
  59. else
  60. echo "<font color='red'>".$error."</font></b>";
  61.  
  62. } // Fin isset($_POST['Enviar'])
  63.  
  64. // Retorna blanco si se supera la validación. Caso contrario, distinto de blanco
  65. function validar_datos($datos) {
  66.  
  67. $mensaje = "";
  68.  
  69. if ( $datos['email'] == "" )
  70. $mensaje .= "Debe introducir el correo electrónico <br/>";
  71.  
  72. if ( $datos['clave'] == "" )
  73. $mensaje .= "Debe introducir la contraseña <br/>";
  74.  
  75. return $mensaje;
  76. }
  77.  
  78. // Retorna toda la fila encontradoa en la tabla de usuarios o null en caso contrario
  79. function comprobar_credenciales($email, $clave) {
  80.  
  81. try {
  82.  
  83. $conn = new PDO('mysql:host=localhost;dbname=examen;charset=utf8','root','Passw0rd');
  84. $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  85.  
  86. $stmt = $conn->prepare('SELECT * FROM usuarios WHERE email=:email and password=:clave');
  87. $stmt->execute(array(':email' => $email, ':clave' => $clave));
  88. $fila = $stmt->fetch(PDO::FETCH_ASSOC);
  89.  
  90. $stmt->closeCursor();
  91.  
  92. } catch (PDOException $ex) {
  93. print "¡Error!: " . $ex->getMessage() . "<br/>";
  94. exit;
  95. }
  96.  
  97. return $fila;
  98. }
  99.  
  100. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement