Advertisement
Guest User

Untitled

a guest
Mar 8th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. <?php
  2.  
  3. $dbhost = "localhost";
  4. $dbname = "blabla";
  5. $dbuser = "blabla";
  6. $dbpass = "randomPasswordHere";
  7. $dbchar = "utf8mb4";
  8.  
  9.  
  10. function toggleDatabase () {
  11. if (!$dbConnected) {
  12. echo "yes we get here. ";
  13. try { echo "and here too. ";
  14. $db = new PDO('mysql:host='.$dbhost.';dbname='.$dbname.';charset='.$dbchar, $dbuser, $dbpass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
  15. $dbConnected = 1;
  16. } catch (PDOException $ex) { echo "and maybe here? ";
  17. $dbConnected = 0;
  18. foreach ( $ex as $xx ) {
  19. echo $xx.". ";
  20. }
  21. throw new MyDatabaseException( $ex -> getMessage(), (int)$ex->getCode());
  22. }
  23. } else {
  24. $db = null;
  25. }
  26. }
  27.  
  28. function addUser ($addUserUsername, $addUserPassword, $addUserEmail){
  29. $error .= "Fine from 1. ";
  30. echo $dbConnected;
  31. if ($dbConnected) {
  32. $error .= "Fine from 2. ";
  33. try {
  34. $addUserStmt = $db->prepare('SELECT * FROM users WHERE username=:username');
  35. $addUserStmt->execute(array('username' => $addUserUsername));
  36. $addUserResult = $addUserStmt ->fetchAll();
  37. $addUserFlag++;
  38. $error .= "Username is already taken. ";
  39. } catch (PDOException $ex) {
  40. }
  41. if (strlen($addUserUsername) < 3 || strlen($addUserUsername) > 25) {
  42. $addUserFlag++;
  43. $error .= "Username length too short/long. ";
  44. }
  45. if (!ctype_alnum($addUserUsername)) {
  46. $addUserFlag++;
  47. $error .= "Username not alphanumeric. ";
  48. }
  49. if (strlen($addUserPassword) < 8 || strlen($addUserPassword) > 50) {
  50. $addUserFlag++;
  51. $error .= "Password length too short/long. ";
  52. }
  53. if (strlen($addUserEmail) < 7) {
  54. $addUserFlag++;
  55. $error .= "Email not filled out. ";
  56. }
  57.  
  58. if (!$addUserFlag) {
  59. $error .= "Fine from 3. ";
  60. $addUserSignupdate = $date('m-d-y g:i a');
  61. $addUserSalt = hash('sha512', $addUserSignupDate);
  62. $addUserPassword = hash('sha512', $addUserPassword.$addUserSalt);
  63. $addUserPremium = date('m-d-y',strtotime("-1 days"));
  64.  
  65. $stmt = $db->prepare('INSERT INTO users (username, password, email, salt, signupDate) VALUES (:username, :password, :email, :salt, :premium, :signupDate)');
  66. $stmt->execute(array(
  67. 'username' => $addUserUsername,
  68. 'password' => $addUserPassword,
  69. 'email' => $addUserEmail,
  70. 'salt' => $addUserSalt,
  71. 'premium' => $addUserPremium,
  72. 'signupDate' => $addUserSignupDate
  73. ));
  74. return 1;
  75. } else {
  76. return array(0, $error);
  77. }
  78. }
  79. echo $error;
  80. }
  81.  
  82. function loginUser ($loginUserUsername, $loginUserPassword) {
  83. if ($dbConnected) {
  84.  
  85. $loginUserStmt = $db->prepare('SELECT * FROM users WHERE username=:username');
  86. $loginUserStmt->execute(array('username' => $loginUserUsername));
  87.  
  88. $loginUserResult = $loginUserStmt->fetchAll();
  89.  
  90. $loginUserPasswordHash = hash('sha512', $loginUserPassword.$loginUserResult['salt']);
  91.  
  92. if ($loginUserPassword == $loginUserResult['password']) {
  93. $_SESSION['username'] = $loginUserResult['username'];
  94. return 1;
  95. }
  96. }
  97. }
  98.  
  99. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement