• »
  • PHP
  • 網頁設計
  • 電腦相關
  • » Cookie 應用:利用 PHP 製作簡單的網站登入系統,判斷使用者是否已登入
    上一篇:

    Cookie 應用:利用 PHP 製作簡單的網站登入系統,判斷使用者是否已登入

    常在網路上的朋友,應該對這個名詞不陌生吧,究竟是好的還是不好的呢?其實說法有很多,但應用的好的話,可以帶給管理者與使用者許多的方便。Cookie 簡單來說就是某些網站,為了提供更適合的內容、或找出使用者的偏好,為了辨別使用者身份而儲存在瀏覽器上的資料。 Cookie 是獨一無二的,每台電腦、每個瀏覽器、每位使用者每次取得的 Cookie 都會不一樣,這也是為什麼 Cookie 有所謂的:有效期限

    最常見的 Cookie 應用就是登入系統了,如何在每次登入不需要再打一次帳號、密碼,如何關掉瀏覽器後,下次使用可以直接收 Gmail 、看 Facebook …都需要Cookie 的使用,所以當瀏覽器不開啟 Cookie 也會帶來相對程度的麻煩。本文所介紹的方法就資訊安全來講,非常不及格,純粹作為練習Cookie 的使用方法。

    Cookie 應用:利用 PHP 製作簡單的網站登入系統,判斷使用者是否已登入 - Demo

    How to Program?

    第1步 首先開啟一個檔案,在一開始的地方現做一個取得 Cookie 的動作,如果取不到,則要把畫面導向登入頁面。

    <?php if(!isset($_COOKIE["login"])){
            header("Location: http://twweeb.org/t/login.php"); //將網址改為要導入的登入頁面
            }
        else{    ?>
    您已登入
    <?php } ?>

    Cookie 應用:利用 PHP 製作簡單的網站登入系統,判斷使用者是否已登入 - 01

    第2步 接下來是製作登入頁面的 Cookie 判定,在登入成功之後,網站要產生一個 Cookie 給瀏覽器。因此在最一開始我們要判定使用者送出來的資料 Username 和Password是否和設定的一致,如果一樣就送出一個 Cookie 給瀏覽器。

    <?php 
        if($_POST[password] == '密碼' 
            && $_POST[username] == '帳號'){
                setcookie("login",'USER', time()+3600);
                header("Location: http://twweeb.org/t/index.php"); //將網址改為登入成功後要導向的頁面
        } 
    ?>
            <form method="post" action="login.php" style="width:100%;margin:0 auto;">
                <div><label for="user_login">
                    <input id="username" type="text" size="28" name="username" value="" />
                </label></div>
                <div><label for="user_password">
                    <input id="password" type="password" size="28" name="password" value="" />
                </label></div>
                <div>
                    <button type="submit" title="Pass" name=".login" value="Pass" >Pass</button>
                </div>
            </form>
    <?php  } ?>

    Cookie 應用:利用 PHP 製作簡單的網站登入系統,判斷使用者是否已登入 - 02

    第3步 接著再儲存的時候一定要注意的地方就是,要設定編碼為「…不帶簽名」 ,有的編輯器會寫成「不帶BOM」;因為如果有帶簽名,會影響到Cookie的讀取與寫入。

    Cookie 應用:利用 PHP 製作簡單的網站登入系統,判斷使用者是否已登入 - 03

    Demo

    Advertisement
    Follow US
    About Post
    Date: 2014.01.17 Tags: , , , , ,
    Discussion

    Leave a Reply