login.php 990 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. include '../../db.php';
  3. @session_start();
  4. //pull auth parameters
  5. $email = isset($_REQUEST['email']) ? $_REQUEST['email'] : null;
  6. $password = isset($_REQUEST['password']) ? $_REQUEST['password'] : null;
  7. //make sure parameters are present
  8. if(!$email || !$password)
  9. {
  10. http_response_code(400);
  11. echo 'missing parameters: email or password';
  12. return;
  13. }
  14. //pull info on user from database
  15. $stmt_file = $dbh->prepare("SELECT id_user, name, password FROM user WHERE email=:email");
  16. $stmt_file->bindValue(':email', $email);
  17. $stmt_file->execute();
  18. $rows = $stmt_file->fetchAll(PDO::FETCH_ASSOC);
  19. //check if user missing
  20. if(!count($rows))
  21. {
  22. http_response_code(404);
  23. echo 'user not found';
  24. return;
  25. }
  26. //validate password entered
  27. if(!password_verify($password, $rows[0]['password']))
  28. {
  29. http_response_code(403);
  30. echo 'invalid password';
  31. return;
  32. }
  33. //set session vars for future calls
  34. $_SESSION['id_user'] = $rows[0]['id_user'];
  35. $_SESSION['name'] = $rows[0]['name'];
  36. //
  37. echo 'OK';
  38. ?>