authenticate.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. session_start();
  3. if ((empty($_SESSION['check_word'])) || (empty($_POST['captcha']))) {
  4. die("請填寫驗證碼");
  5. }else{
  6. if ($_SESSION['check_word'] != $_POST['captcha']) {
  7. die("驗證碼錯誤,請重新輸入");
  8. }
  9. }
  10. $hostname = 'GMGIS\SQLEXPRESS';
  11. $username = 'BIMuser';
  12. $password = 'Component3444';
  13. $db_name = 'permissions';
  14. try {
  15. $pdo = new PDO('sqlsrv:Server='.$hostname.';Database='.$db_name,$username,$password);
  16. $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  17. } catch (PDOException $e) {
  18. echo $e;
  19. echo json_encode('Error connecting to the server.');
  20. die ();
  21. }
  22. $sth = $pdo->prepare("SELECT [UserID],[UserName],[DepartmentID],[Email],[Account],[Password] FROM [User] WHERE [Account] = ?;");
  23. $sth->execute(array($_POST['username']));
  24. if (!isset($_POST['username'], $_POST['password'])) {
  25. exit('Please fill both the username and password fields!');
  26. }
  27. $i = 0;
  28. $query = $sth->fetchAll();
  29. foreach ($query as $row){
  30. $i++;
  31. if (md5($_POST['password']) == $row["Password"]) {
  32. session_regenerate_id();
  33. $_SESSION['loggedin'] = TRUE;
  34. $_SESSION['name'] = $row["UserName"];
  35. $_SESSION['UserID'] = $row["UserID"];
  36. $_SESSION['Account'] = $row["Account"];
  37. $_SESSION['Email'] = $row["Email"];
  38. $_SESSION['DepartmentID'] = $row["DepartmentID"];
  39. $_SESSION['check_word'] = '';
  40. echo 'success';
  41. } else {
  42. echo '密碼錯誤,請重新輸入';
  43. }
  44. }
  45. if ($i == 0) {
  46. echo '帳號不存在,請再次檢查';
  47. }
  48. $sth = null;
  49. $pdo = null;