1번수업은 듣기만 함 - 로그인 폼 / 세션 / 변수 넘겨주기
쿠키 / 세션
보안상 신경 안 써도 되는 것 - 쿠키 사용. ex)장바구니. 하지만 요즘은 잘 안 쓰는 추세.
@email_name = session[:email]
if @u_email == "asdf@asdf.com"
if @u_password == "1234"
@comment = "로그인성공"
session[:email] = 'asdf@asdf.com'
<% if !session[:email].nil? %> ->nil = null / 물음표는 질문 unless로 사용해도된다.
<%= @email_name %>님이 로그인하셨습니다.
<a href="/logout">로그아웃</a>
<% end %>
redirect 명령어 -> 로그인 누르면 메인페이지에 로그인된채로 나온다.
redirect '/list_posts'
DB Server - 호예(Sinatra) - 회원
Sinatra - DBserver간의 연결을 도와줌 -> Datamapper를 사용.
sqlite3 / sinatra / datamapper 사용
require 'data_mapper'
추가
DataMapper::setup(:default, "sqlite3://#{Dir.pwd}/blog.db")
class Post
include DataMapper::Resource
property :id, Serial // sqlite에서 쓰이는 id이므로 유저 아이디는 id로 쓰면 안 된다.
property :user_name, String
property :user_password, String
property :created_at, DateTime
end
DataMapper.finalize
string = 문자열
text = 긴문자열
datetime = 시간
Hotel.auto_upgrade! -> DB로 전송.
페이지에서 post로 날려준 변수 -> 홈파일에서 params[:변수명]으로 받는다.
데이터 베이스 서버 = params[:변수명]을 처리해 주어야한다.
n_user = User.new -> 새로운 빈깡통 유저를 만든다.
n_user.user_email = params[:user_email] -> 크롬에서 날아온 오른쪽내용을 왼쪽에 저장한다.
n_user.user_password = params[:user_password]
n_user.save
양쪽 이름이 같을 이유는 없지만, 앞에 있는 user_password와 홈파일 맨위에서 만든 property 이름은 반드시 같아야 한다.
database_user = User.first(:user_email => params[:user_email]) -> 데이터베이스에서 유저를 뽑아내고 임시적으로 저장(왼쪽 변수), 대소문자 구별 필수, params -> 크롬에서 날아온 데이터, first다음 user_email는 property.과 같은 이름을 처음으로 뽑아내는 데이터베이스에 만들어진 이메일 (=> 루비문법.) 과 같은 첫번째 유저를 왼쪽 변수에 담는다.
if !database_user.nil?
if database_user.user_password == params[:user_password]
session[:email] = params[:user_email]
end
end
중요.
'잡동사니' 카테고리의 다른 글
[코드스터디] 5주차 (0) | 2015.06.25 |
---|---|
[코드스터디] 4주차 (0) | 2015.06.25 |
[코드스터디] 2주차 (0) | 2015.06.25 |
[코드스터디] 1주차 (0) | 2015.06.25 |
Linux 기초 2 (0) | 2015.06.24 |