twitter ユーザのログアウト処理作成
#12 ログアウト処理を作ろう
http://dotinstall.com/lessons/tw_connect_php_v2/21912
を参考に
ログアウト処理を実装
index.php を最初に編集していく
まず、twitter ユーザ名をホーム画面で表示したいので
PHP部分にソースを追記していく
1 2 3 | function h( $s ){ return htmlspecialchars( $s ,ENT_QUOTES, "UTF-8" ); } |
を追加して h() で簡単に使えるようにする
この htmlspecialchars() はHTMLの無害化のために使われる
詳しくは
http://php.net/manual/ja/function.htmlspecialchars.php
のリファレンスを参照
twitter ユーザ名で表示するには
1 | <?php echo h( $_SESSION [ 'me' ][ 'tw_screen_name' ]); ?> |
とすると
twitterユーザ名で表示される
これは callback.php で
1 | $_SESSION [ 'me' ] = $user ; |
というように
me の中に twitter ユーザ情報を格納しているため
次にログアウト機能を実装する
vim logout.php
でファイルを作成し
1 2 3 4 | require_once ( 'config.php' ); require_once ( 'codebird.php' ); session_start(); |
で
設定ファイル関連、セッションスタートを行う
1 | $_SESSION = array (); |
でセッションを初期化
1 | if (isset( $_COOKIE [session_name())){ |
でクッキーの値があるか確認し
あるのなら、以下の処理を行う
1 | setcookie(session_name(), '' ,time()-86400, '/tw_connect_php/' ); |
で
setcookie() で cookieの値をセットする
time()-86400
は1日前の時間を指定
setcookie() については
http://php.net/manual/ja/function.setcookie.php
のリファレンスを参照
引数をメモすると
session_name(), クッキーの名前
time()-86400 クッキーの有効期限
‘/tw_connect_php/’ クッキーを有効にするパス
となる
そして
1 | session_destroy(); |
セッションの破棄
1 | header( 'Location: ' .SITE_URL); |
でトップ画面であるログイン画面に飛ばす