Guest User

Untitled

a guest
Jan 15th, 2019
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. <?php
  2. // 3 => Connexion à la DB avant d'effectuer notre requête
  3. require_once ('../includes/db-connect.php');
  4.  
  5.  
  6. //4 => On récupère les variables du formulaire de connexion du backend
  7. $email = isset($_POST['email']) ? $_POST['email'] : '';
  8. $password = isset($_POST['password']) ? md5($_POST['password']) : '';
  9. //$password = isset($_POST['password']) ? $_POST['password'] : '';
  10.  
  11. // 5 => Si les variables du form ne sont pas vides on intérroge la base de données pour trouver le user
  12. if(!empty($email) && !empty($password)) {
  13.  
  14. // Gestion des exceptions PDO
  15. try {
  16. // 6 => Requête à la DB pour savoir si MySql connait ce user et peut nous communiquer son password
  17. // Requête SQL pour rechercher le user
  18. $sql = "SELECT * FROM newsletter WHERE email = '$email' AND password = '$password'";
  19. // On exécute la requête
  20. $req = $db->query($sql);
  21. // On récupère le résultat et on le stocke sous forme de tableau dans $datas
  22. $datas = $req->fetch(PDO::FETCH_ASSOC);
  23.  
  24.  
  25. // 7=> Si les valeurs email et password sont renseignées, le user a été trouvé.
  26. if( !empty($datas['email']) && !empty($datas['password']) && $datas['is_admin'] ) {
  27. // DEBUG
  28. //print_r($datas);
  29.  
  30. // On démarra la session
  31. session_start();
  32. // On stocke sur le serveur dans la superglobale $_SESSION les infos de connexion du user
  33. $_SESSION['email'] = $email;
  34. $_SESSION['password'] = $password;
  35. $_SESSION['admin'] = $datas['is_admin'];
  36. $_SESSION['logged'] = true;
  37.  
  38.  
  39.  
  40. // 8 enfin, on redirige le user vers la page dashboard.php et on lui passe en param les var prenom et nom
  41. header('Location: ../backend/dashboard.php?nom='.$datas['nom'].'&prenom='.$datas['prenom'].'');
  42.  
  43. }
  44.  
  45. elseif(!empty($datas['email']) && !$datas['is_admin']) {
  46. header('Location: ../backend/index.php?erreur=3');
  47. }
  48.  
  49. // sinon; la db ne le connaît pas, on le redirige vers la page de connexion avec en param dans l'url le code erreur 1
  50. else {
  51.  
  52. //
  53.  
  54. header('Location: ../backend/index.php?erreur=2');
  55. }
  56.  
  57. /*
  58. * Pour fermer la connexion avec la BDD, il suffit d'utiliser cette ligne :
  59. */
  60. $db = null;
  61.  
  62. // puis après l'insertion on redirige vers l'index avec en param dans l'url le code success = 1
  63. //header('Location: index.php?success=1');
  64. }
  65. catch(PDOException $e)
  66. {
  67. /*
  68. * Si on lève une exception, affichage de l'erreur en question :
  69. */
  70. echo '<p>Erreur lors de l\'insertion : '.$e->getMessage().'</p>';
  71. }
  72.  
  73. }
  74. // Si les variables sont vides, on redirige vers l'index et on passe en param dans l'url le code erreur = 1
  75. else {
  76.  
  77.  
  78. header('Location: ../backend/index.php?erreur=1');
  79. }
  80.  
  81.  
  82.  
  83.  
  84. ?>
Add Comment
Please, Sign In to add comment