PHP入門速成(3)_php基礎

來源:互聯網
上載者:User

小結

通過以上三步,我們使用PHP快速地在單一頁面上實現了表單顯示和表單處理的功能。


設定Cookies

PHP提供了強大的設定和讀取Cookies的功能。在此,我們不想對Cookies進行過多的介紹,但是使用者應當認識到在設計WEB應用的過程中Cookies可能起到的重要作用。

使用者可以使用PHP提供的setcookie()函數建立或修改Cookie。setcookie()函數總共包括6個參數,能夠對cookie進行精確的控制。

使用setcookie()函數設定cookie的最簡單的方式為:

setcookie(‘name', ‘PETER');

這樣,在使用者訪問整個網站頁面的期間,PHP將會自動建立一個名為$name的變數,並將值PETER賦予該變數。我們把這種Cookie稱做會話Cookie,即其範圍為使用者的整個會話過程。

如果我們希望Cookie值在訪問使用者離開網站後仍然有效話,可以使用setcookie()函數的相應參數,設定Cookie的有效期間。這裡,我們需要對PHP的時間設定進行一下說明。PHP是一種基於Unix開發出的技術,使用者需要用自1970年1月1日之後的秒數表示目前時間。對於沒有任何Unix系統編程經驗的廣大普通使用者來說真是有點摸不著頭腦。不過,大家大可不必擔心,因為PHP為我們提供了一個非常簡便的解決方式,即mktime()函數。使用者可以在mktime()函數中按照小時、分、秒、月、日、年的順序輸入使用者希望表示的時間,mktime()函數將會返回該時間距離1970年1月1日的秒數。舉例來說,如果我們希望設定一個有效期間持續到2000年的Cookie的話,可以使用如下方式:

< ?php

$y2k = mktime(0,0,0,1,1,2000);

setcookie(‘name', ‘PETER', $y2k);

? >

如果使用者希望更新已經存在的cookie,可以採用簡單的直接覆蓋原值的方法。例如,即使我們已經按照上述代碼對cookie進行了設定,仍可以對其做以下改動:

< ?php

$y2k = mktime(0,0,0,1,1,2000);

setcookie(‘name', ‘JEFF', $y2k);

? >

這裡需要提醒使用者注意的一點是,雖然我們對cookie值進行了修改,但是在沒有載入經過修改的頁面之前,PHP中$name變數的值仍然不會改變。如果使用者希望在更改cookie值的同時更改 相應PHP變數的值,可以採用以下方式:

< ?php

$name = ‘JEFF';

$y2k = mktime(0,0,0,1,1,2000);

setcookie(‘name', $name, $y2k);

? > 在有效期間參數之後,setcookie()函數提供了設定可以讀取cookie值的頁面的路徑和域的參數。出於安全因素的考慮,在預設情況下,只有與設定cookie的頁面處於同一目錄或下屬子目錄的頁面才能夠讀取相應cookie值。但是,根據需要,我們也可以對這一設定進行修改。例如:

< ?php

setcookie(‘name', ‘jeff', $y2k, ‘~/myhome', ‘.domain.com');

? >

通過上述代碼,我們設定凡是位於~/myhome目錄下,屬於.domain.com域的頁面都能夠讀取該cookie值。
setcookie()函數的最後一個參數較少被使用。該參數可以指定只向運行安全連線協議,如SSL,的WEB伺服器返回cookie值。如果使用者希望啟動該參數功能,只需要將其值設為1即可。
使用PHP刪除cookie也非常簡便,使用者只需要在setcookie()函數中輸入希望刪除的cookie的名稱,PHP就會自瓿傷械納境ぷ鼇@紓?

< ?php setcookie(‘name'); ? >

最後,關於cookie還要說明一點。考慮到HTTP協議中cookie的運作方式,使用者一定要注意應當在顯示任何文字之前發送所有的cookie設定。如果使用者在編寫代碼時先設定顯示的文字然後再發送cookie的話,PHP就會彈出報錯資訊,無法完成cookie的設定。舉例來說:

< ?php

setcookie(‘name', ‘jeff');

echo “Hello Everyone!”;

? >

這種cookie設定的方式是正確的。但是如果採用如下方式:

< ?php

echo “Hello Everyone!”;

setcookie(‘name', ‘jeff');

? >

則會出現報錯資訊,無法完成cookie的設定。日期和時

PHP提供了多種簡便的功能以方便使用者顯示和控制日期和時間。

如果使用者希望以某種形式顯示某一日期或時間的話,可以使用PHP提供的date()函數。date().函數包括兩個參數,分別用於設定日期的顯示格式以及代表顯示日期的時間戳記,其中,時間戳記必須採用距離1970年1月1日的秒數方式表示。如同C語言中的strftime()函數或Perl中的POSIX::strftime()函數,PHP中的date()函數具有非常多的格式設定選項,這裡就不一一說明了。舉例來說,date()函數的使用方式如下:

< ?php
$birthday_stamp = mktime(10,10,0,10,20,1975);
$birthday_formatted = date(‘F d, Y - g:i a',$birthday_stamp);
echo “Peter was born on $birthday_formatted.”
? >

顯示結果為:Peter was born on October 10, 1975--10:10 p.m.


總結

PHP是一種快速建立動態WEB網站的強大工具,其熟悉的文法風格和原始碼開放的特效能夠使使用者在最短的時間內瞭解和掌握其功能並進而發揮出其巨大潛力。希望本文能夠對廣大讀者有所啟發。祝大家早日成為PHP高手。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.