Guest User

Untitled

a guest
Jun 7th, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. require 'sinatra'
  2. require 'mysql2'
  3. require 'mysql2-cs-bind'
  4.  
  5. def db
  6. # Mysqlドライバの設定
  7. Mysql2::Client.new(
  8. host: 'localhost',
  9. port: 3306,
  10. username: 'root',
  11. password: '',
  12. database: 'instagramer',
  13. reconnect: true,
  14. )
  15. end
  16.  
  17. def set_user(user_id)
  18. return nil if user_id.nil?
  19. @user = db.xquery("SELECT * From users WHERE id = ?", user_id).to_a.first
  20. end
  21.  
  22. def login?
  23. !session[:user_id].nil?
  24. end
  25.  
  26. class LoginApp < Sinatra::Base
  27. enable :sessions
  28.  
  29. set :public_folder, File.dirname(__FILE__) + '/public'
  30.  
  31. get '/' do
  32. set_user
  33. erb :index
  34. end
  35.  
  36. get '/login' do
  37. redirect '/' if login?
  38.  
  39. erb :login
  40. end
  41.  
  42. post '/login' do
  43. email = params[:email]
  44. password = params[:password]
  45.  
  46. user = db.xquery("SELECT * FROM users where email = ? and password = ?",email, password).to_a.first
  47.  
  48.  
  49. if user
  50. session[:user_id] = user[:id]
  51. redirect '/'
  52. else
  53. erb :login
  54. end
  55. end
  56. end
Add Comment
Please, Sign In to add comment