PHP+MySQL+Dreamweaver整合教學(PHPMaker運用設計網站教學):快速設計網站與網頁
總教頭特別企畫【專業整合課程】比傳統的學習的還要快速與實用!


感謝您造訪 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地。 你可進入教學詳細內容介紹頁面,詳細瞭解PHP程式設計+MySQL資料庫(PHPMaker運用設計網站教學)及相關技術維護影片教學(完整配套措施),馬上可以設計架站程式與PHP網頁,快速建立MySQL資料庫、自動生成PHP網頁。可對資料庫進行瀏覽、修改、查詢、加入和刪除(整合成我們需要的網站)。

要在網路上經營網站賺大錢,不能只會下載現有的程式來架站(自己設計才能完全符合專業的特殊需求),你不用死背PHP語法,更可以完全不用花錢用購買資料庫(PHPMySQL完全免費!)你可以透過技術學習,讓PHP程式網頁+網路資料庫+Dreamweaver整合教學→讓你快速成為:【動態網站程式設計專家→你能因此賺大錢】!

 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學):

http://por.tw/php/new-E_learning/index.php


PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用教學)密訓基地  總教頭  敬上



瀏覽模式: 普通 | 列表
如何用PHP網頁,取得目前Linux主機PHP版本?(phpversion)

如果你是租用虛擬主機,如何知道Linux主機PHP版本呢?
----------------------------------------------------------
方法如下:
先用網頁編輯軟體
例如:Dreamweaver 新增一個新的PHP動態空白網頁
切到程式碼
刪除全部字串,再貼入下面語法,存檔並上傳至主機網站下
在瀏覽器網址列輸入該PHP路徑,開啟該網頁
即可以看到該Linux主機PHP版本!

----------------------------------------------------------

<?php

// prints e.g. 'Current PHP version: 3.0rel-dev'

echo "Current PHP version: ".phpversion();

?>

-----------------------------------------------------------
語法 : string phpversion (void)

說明 :

傳回現在所安裝的PHP的版本。

-----------------------------------------------------------
參考 : phpinfo( ) phpcredits( ) php_logo_guid( )

隱藏apache和php的版本訊息可以盡量減少敏感訊息洩露的方法,並不會使你的伺服器真的更安全,如果你現在使用的版本比較舊,請務必盡快將系統升級,降低被蠕蟲攻擊的風險。

隱藏apache和php的版本訊息,web server避免一些不必要的麻煩,可以把apache和php的版本訊息不顯示


隱藏 Apache 版本訊息

/etc/apache2/apache2.conf 或 /etc/httpd/conf/httpd.conf

ServerTokens ProductOnly
ServerSignature Off

重啟 apache
現在 http 頭裡面只看到:
Server: Apache

隱藏 PHP 版本
php.ini

expose_php On
改成
expose_php Off

重啟apache後,php版本在http頭中隱藏了。

詳解 :

為了防止某些別有用心的傢伙窺視我們的伺服器,應該做些什麼.
我們來看一下關聯的2個參數,分別為ServerTokens和ServerSignature,通過控制這2個閥門應該就能起到一些作用,比如我們可以在配置檔案中這麼寫:
ServerTokens Prod
ServerSignature Off

ServerTokens
用於控制伺服器是否相應來自使用者端的請求,向使用者端輸出伺服器系統類型或內建模組等重要的系統訊息。 在主配置檔案中提供全局控制預設閥值為"Full"(ServerTokens Full),所以,如果你的Linux發行版本沒有變更過這個閥值的話,所有與你的系統有關的敏感訊息都會向全世界公開。比如RHEL會將該 閥值變更為"ServerTokens OS",而Debian依然使用預設的"Full"閥值
以apache-2.0.55為例,閥值可以設定為以下某項(後面為相對應的Banner Header):
Prod >>> Server: Apache
Major >>> Server: Apache/2
Minor >>> Server: Apache/2.0
Minimal >>> Server: Apache/2.0.55
OS >>> Server: Apache/2.0.55 (Debian)
Full (or not specified) default >>> Server: Apache/2.0.55 (Debian) PHP/5.1.2-1+b1 mod_ssl/2.0.55 OpenSSL/0.9.8b

ServerSignature
控制由系統生成的頁面(錯誤訊息,mod_proxy ftp directory listing等等)的頁腳中如何顯示訊息。

可在全局設定檔案中控制,或是通過.htaccess檔案控制
預設為"off"(ServerSignature Off),有些Linux發行版本可能會開啟這個閥門,比如Debian在預設的虛擬主電腦上預設將這個閥門設定為開放
全局閥門的閥值會被虛擬主電腦或目錄單位的配置檔案中的閥值所覆蓋,所以,必須確保這樣的事情不應該發生
可用的閥值為下面所示:
Off (default): 不輸出任何頁腳訊息 (如同Apache1.2以及更舊版本,用於迷惑)
On:輸出一行關於版本號以及處於運行中的虛擬主電腦的ServerName (2.0.44之後的版本,由ServerTokens負責是否輸出版本號)
EMail: 建立一個傳輸到給ServerAdmin的"mailto"

注意:上述關於如何設定2個閥門從而盡量減少敏感訊息洩露的方法,並不會使你的伺服器真的更安全,如果你現在使用的版本比較舊,請務必盡快將系統升級,降低被蠕蟲攻擊的風險。

PHP程式設計問題諮詢:
我想在每個檔最前,最後面都加上一檔.但一個一個添加很麻煩
有沒有解決的辦法?

---------------------------------------------------------
PHP程式設計問題回覆:
 我想在每個檔最前,最後面都加上一檔.但一個一個添加很麻煩
您可以這樣處理:

1:打開php.ini文件
設置 include_path= "c:"

2:寫兩個文件
auto_prepend_file.php 和 auto_append_file.php 保存在c磁碟,他們將自動依附在每個php檔的頭部和尾部.

3:在php.ini中找到:
Automatically add files before or after any PHP document.
auto_prepend_file = auto_prepend_file.php;依附在頭部
auto_append_file = auto_append_file.php;依附在尾部

以後你每個php檔就相當於
<?php
Include "auto_prepend_file.php" ;

.......//這裏是你的程式


Include "auto_append_file.php";
?>
---------------------------------------------------------

當magic_quotes_gpc=off

當magic_quotes_gpc=off

Pstzine0x03裡"[0x06] 高級PHP代碼審核技術"一文中關於 "5.3.6 變數key與魔術引號" 部分的php原始程式碼分析

author: ryat#www.wolvez.org
team:http://www.80vul.com
date:2009-04-10

一、綜述

magic_quotes_gpc是php中的一個安全選項,在php manual中對此有如下描述:

When on, all ' (single-quote), " (double quote), (backslash) and NULL characters are escaped with a backslash automatically. This is identical to what addslashes() does

雖然magic_quotes_gpc有助於提升程式的安全性並且在php中默認開啟,但同時也帶來了其他的一些問題,因此在php6中將去掉此選項。

二、當magic_quotes_gpc=off

考慮到部分伺服器關閉了magic_quotes_gpc或者其他的一些原因[如影響功能等],很多程式在如magic_quotes_gpc=off下自己實現一個代碼來類比magic_quotes_gpc=on的情況. 如下面的一段代碼:

define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());

...

foreach(array('_COOKIE', '_POST', '_GET') as $_request) {

foreach($$_request as $_key => $_value) {

$_key{0} != '_' && $$_key = daddslashes($_value);

}

}

...

function daddslashes($string, $force = 0) {

!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());

if(!MAGIC_QUOTES_GPC || $force) {

if(is_array($string)) {

foreach($string as $key => $val) {

$string[$key] = daddslashes($val, $force);

}

} else {

$string = addslashes($string);

}

}

return $string;

}

利用addslashes()函數類比了magic_quotes_gpc=on時的效果,看上去很完美,其實是有缺陷的或者說只是類比了magic_quotes_gpc的部分功能.

三、magic_quotes_gpc的代碼分析

php在註冊$_GET/$_POST等超全域變數時magic_quotes_gpc部分的代碼:

// php_variables.c

PHPAPI void php_register_variable_safe(char *var, char *strval, int str_len, zval *track_vars_array TSRMLS_DC)

{

// 對變數值的處理

...

if (PG(magic_quotes_gpc)) {

Z_STRVAL(new_entry) = php_addslashes(strval, Z_STRLEN(new_entry), &Z_STRLEN(new_entry), 0 TSRMLS_CC);

} else {

Z_STRVAL(new_entry) = estrndup(strval, Z_STRLEN(new_entry));

}

...

PHPAPI void php_register_variable_ex(char *var_name, zval *val, zval *track_vars_array TSRMLS_DC)

{

// 對變數名的處理

...

zend_bool is_array = 0;

...

for (p = var; *p; p++) {

if (*p == ' ' || *p == '.') {

*p='_';

} else if (*p == '[') {

is_array = 1;

ip = p;

*p = 0;

break;

}

}

var_len = p - var;

// 上面這段代碼沒有考慮變數名的原始長度,所以這裡是not binary safe

// 也就是說,提交 test.php?ryat%00wst=1 將會生成$_GET['ryat']=1

...

if (is_array) {

// 如果變數名是陣列的形式

...

} else {

// php > 5.2.1

if (PG(magic_quotes_gpc)) {

// php = 4.x && php <= 5.2.1

// if (PG(magic_quotes_gpc) && (index!=var)) {

escaped_index = php_addslashes(index, index_len, &index_len, 0 TSRMLS_CC);

} else {

escaped_index = index;

}

...

} else {

// 這部分的magic_quotes_gpc處理和上面一樣

...

由上面的代碼可以看到,magic_quotes_gpc=on時不僅僅用addslashes處理了變數值,而且處理了變數名[既$_GET/$_POST等超全域變數的key,另外要注意的是:[1]在php4和php<5.2.1的版本中,不處理第一維的key:)]

而前面那段模擬magic_quotes_gpc的代碼僅僅處理了陣列的值,因此是存在安全隱患的。

四、實例[ECShop SQL injection 漏洞分析]

文件includes/init.php判斷get_magic_quotes_gpc(),如果為off則調用addslashes_deep():

// includes/init.php

if (!get_magic_quotes_gpc())

{

if (!empty($_GET))

{

$_GET = addslashes_deep($_GET);

}

if (!empty($_POST))

{

$_POST = addslashes_deep($_POST);

}

$_COOKIE = addslashes_deep($_COOKIE);

$_REQUEST = addslashes_deep($_REQUEST);

}

addslashes_deep()在文件includes/lib_base.php裡最後通過addslashes()處理

// includes/lib_base.php

function addslashes_deep($value)

{

if (empty($value))

{

return $value;

}

else

{

return is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);

// 只處理了陣列的值:)

}

}

下面看下具體的導致漏洞的代碼,文件 pick_out.php裡:

// pick_out.php

if (!empty($_GET['attr']))

{

foreach($_GET['attr'] as $key => $value)

{

$key = intval($key);

$_GET['attr'][$key] = htmlspecialchars($value);

// foreach處理的是指定陣列的拷貝,所以這裡的處理並不影響陣列原先的key和value

// 因此可以引入任意的key:)

// 程式師的邏輯出了問題?

}

}

...

foreach ($_GET['attr'] AS $key => $value)

{

$attr_url .= '&attr[' . $key . ']=' . $value;

$attr_picks[] = $key;

if ($i > 0)

{

if (empty($goods_result))

{

break;

}

// 利用key進行注射:)

$goods_result = $db->getCol("SELECT goods_id FROM " . $ecs->table("goods_attr") . " WHERE goods_id IN (" . implode(',' , $goods_result) . ") AND attr_id='$key' AND attr_value='$value'");

由於magic_quotes_gpc=off時沒有對$key處理,同時在陣列賦值時存在邏輯問題,最終導致了注射漏洞:)

EXP:

http://www.80vul.com/exp/ecshop-pch-005.txt

五、參考:

http://bugs.php.net/bug.php?id=41093
PHP程式設計問題諮詢:
要如何使Html/PHP格式的字串不被解釋,而是照原樣顯示?


---------------------------------------------------------
PHP程式設計問題回覆:
使Html/PHP格式的字串不被解釋,你可以這樣處理:

<?PHP
$str="<h1>PHP</h1>";
Echo "被解釋過的: ".$str."<br>經過處理的:";
Echo  htmlentities(nl2br($str));
?>
---------------------------------------------------------
PHP程式設計問題諮詢:
我怎麼知道系統預設支援什麼函數?


---------------------------------------------------------
PHP程式設計問題回覆:
要怎麼知道系統預設支援什麼函數,請看以下的範例:


<?php
$arr = get_defined_functions();
Function php() {
}
echo  "<pre>";
Echo  "這裏顯示系統所支援的所有函數,和自定以函數php ";
print_r($arr);
echo  "</pre>";
?>

---------------------------------------------------------
『將軍』你是武藝高強?膽識過人?精通騎射?您生錯時代啦!
『戰馬』你是汗血寶馬?善奔能越?躍馬中原?此戰場沒有你的舞台!
動態的架站程式時代,要自訂PHP程式頁面有那麼難嗎?
MySQL『資料庫』與『資料表』,用PHP程式有那麼難呼叫嗎?
不用死背『PHP程式』與『MySQL資料庫』語法也能設計嗎?
這是自動化軟體程式的年代(用PHPMaker設計在彈指之間完成)
這不是:神話!程式軟體模組取代了這一切複雜的工程
死背『PHP程式』與『MySQL資料庫』語法,是為學校考試用的!
因為,有些人的技術已經離這個網站的實用性非常遙遠!
------------------------------------------------------------
大家都知道網路創業的好處:
1.初期建置網站金額較低,甚至零成本。
2.初期人事、水電成本較低。
3.網路店面比較沒有曝光的地區限制(除非產品、物流、語言的限制)。
4.消費者可以在任何時間瀏覽與選購商品(24小時營業)。
5.初期可採用眾多的網路平台,免費宣傳、曝光方式,之後再採用付費的方式,提高效益。
6.即使沒有成功,成本損失也較低。


想要網路創業自動賺錢,你應該具備那些專業技能呢?

那座而言不如起而行,如何開始您的第一步行動呢?

1.先評估自己會什麼網路技能?不會那些網路技能?
將自己的優勢寫下來,也將自己需要進修的專業技能逐一記錄下來

2.找到您需要的課程(利用下班時間,努力精研)
最好是影片課程,不要只是一般書店的書籍或網路電子書
(因為圖片與文字根本學習效率不好,無法有效迅速學會,學習中有問題要問誰?)
實際網路經營時發生網站語法錯誤或網站被駭客入侵!
那您最好有個專業『會程式語言與架設主機』的老師可以免費技術諮詢
不然,一發生問題,您的網路事業就停擺了,網站一停就無收入!
(就好像上班放無薪假一樣....悽慘!)。
有甚至網站資料全毀,資料庫也出問題,你要在第一時間內就能快速修護!
這一點你可要小心!網路創業絕對要有:技術諮詢!
迅速回覆的專業老師(或專業技術顧問)。
不然,就像大海裡頭的孤鳥,叫天天不應,叫地地也不靈
(自己閉門造車摸索是網路創業者最悲慘的失敗原因!)。


attachments/201208/5398530876.jpg

2.你的網站要自己架設!
(請人設計網站費用貴,小則三四萬高者也有十幾萬元的,往後網站維護也不方便!)

這方面你可以學習:
1.網站架設與網頁設計教學
詳細介紹:
http://por.tw/Website_Design/E_learning/index.php
長期技術支援網站:
http://por.tw/Website_Design

2.購物網站架站教學
詳細介紹:
http://por.tw/sale/cmmerse-4-all/index.php
長期技術支援網站:
http://por.tw/sale

3.部落格架站、行銷、賺錢術教學
詳細介紹:
http://por.tw/blog/E_learning/index.php
長期技術支援網站:
http://por.tw/blog

4.PHP+MySQL+PHPMaker+Dreamweaver整合教學
(PHPMaker運用設計網站教學)

詳細介紹:
http://por.tw/php/new-E_learning/index.php
長期技術支援網站:
http://por.tw/php

5.Flash-動畫製作教學
詳細介紹:
http://por.tw/flash/new-E_learning/index.php
長期技術支援網站:
http://por.tw/flash
-------------------------------------------------------------------------
3.網站圖片非常重要,你如果不會拍照與修圖,那您就要學習:
商業商品攝影教學
詳細介紹:
http://por.tw/design/photographing_Course/index.php
長期技術支援網站:
http://por.tw/design
-------------------------------------------------------------------------
4.影片能讓您的網站更出色,如果您不會錄影
或影片剪接、編輯、上字幕、做特效,那您就要學習:

【錄影影片製作】技術教學
詳細介紹:
http://por.tw/photo-video/video_Course/index.php
長期技術支援網站:
http://por.tw/photo-video
-------------------------------------------------------------------------
5.有了網站,接下來就是『如何將網站經營的有聲有色?』
這就需要專業的網路行銷技術:
A.搜尋引擎排名SEO教學
詳細介紹:
http://por.tw/seo/new-seo/index.php
長期技術支援網站:
http://por.tw/seo

B.EDM電子報製作教學
詳細介紹:
http://por.tw/edm/edm_Marketing/index.php
長期技術支援網站:
http://por.tw/edm

C.電子書製作賺錢密技教學
詳細介紹:
http://por.tw/ebook/new-ebook/index.php
長期技術支援網站:
http://por.tw/ebook

D.【訂單王】超級網路秒殺成交法-A-page 【一頁定江山】行銷賺錢術
詳細介紹:
http://por.tw/page/new-E_learning/index.php
長期技術支援網站:
http://por.tw/page
-------------------------------------------------------------------------
6.如果您想要學習『專案方式』的專業技能,您可以學習:
A.「網路創業賺錢_如何從網路創業賺錢賺到第一個100萬!」課程
詳細介紹:
http://por.tw/soho/new-E_learning/index.php
長期技術支援網站:
http://por.tw/soho

B.藉助『程式』邁向網路自動賺錢術(Auto Rich -自富課程)
詳細介紹:
http://por.tw/Rich/new-E_learning/index.php
長期技術支援網站:
http://por.tw/Rich

C.【正印家族】授權營運專案‧自動印鈔機賺錢術
詳細介紹:
http://por.tw/money/new-E_learning/index.php
長期技術支援網站:
http://por.tw/money
-------------------------------------------------------------------------
7.您的網站可以用兩種方式經營
1.是租用虛擬主機
(創業初期,如果尚無長遠規劃可租虛擬主機空間架設網站)

2.是自己擁有獨立主機!
如果您有此長遠的規劃,那您可以申購此服務:
替你架設Linux主機伺服器+影片教你維護(還有遠端技術協助)讓你自己當家作主!
http://por.tw/linux/new-E_learning/index.php
長期技術支援網站:
http://por.tw/linux
-------------------------------------------------------------------------
8.此外,如果你對國外軟體感覺不好用,那您可以學習:
軟體中文化實戰教學影片
軟體中文化實戰教學影片教學詳細介紹:
http://por.tw/f2blog/new-E_learning/index.php
長期技術支援網站:
http://por.tw/f2blog

不論是英文、日文、大陸簡體或其他軟體,能透過軟體中文化技術變成:繁體中文版
那在網路事業的經營上,所有要用到的軟體,就能通通變成:繁體中文版啦!
那是業經營起來當然是:得心應手!手到擒來!

-------------------------------------------------------------------------

用PHPMaker快速生成PHP網站管理進出貨的好處

學員來函諮詢:
老師您好:
好久不見,有一個問題想請教您,最近有接觸到一個倉儲的業務,是有關於管理進出貨的
不知道有沒有相關PHP的軟體可以處理,詳細的說明請見附檔
謝謝
祝:安康

------------------------------------------------------------------
洪總教頭回覆:
可以用此教學:課程中的PHPMaker快速生成PHP網站
 
 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學):

http://por.tw/php/new-E_learning/index.php
 
---------------------------------------------------------------------------------
用PHPMaker快速生成PHP網站管理進出貨的好處:
1.生成管理進出貨是網路網站,只要能上網,有帳號與密碼任何人都可以瀏覽
(有管理者權限者,可以進階新增、修改、搜尋甚至刪除)
2.解決個人電腦版進銷存的缺點
3.快速生成(不用花很多時間設計)更不用花錢購買套裝進銷存軟體
(買軟體萬一日後不能更新或擴增...不合用就變成:垃圾!)
4.獨家系統(依據自己需要設計欄位,不會有一般進銷存用不到的雜七雜八選項或欄位的缺點)
5.可以自由擴增,不會受制於人或被套裝軟體綁死。

簡單的使用PHP程式(日曆算法)

您知道在使用PHP程式中,日曆算法是如何達成的嗎?

/**
  * 日曆
  *
  */
 if (function_exists('date_default_timezone_set')) {
     date_default_timezone_set('Asia/Chongqing');
 }
 $date = isset($_GET['date']) ? $_GET['date'] : date('Y-m-d');
 $date = getdate(strtotime($date));
 $end = getdate(mktime(0, 0, 0, $date['mon'] + 1, 1, $date['year']) - 1);
 $start = getdate(mktime(0, 0, 0, $date['mon'], 1, $date['year']));
 $pre = date('Y-m-d', $start[0] - 1);
 $next = date('Y-m-d', $end[0] + 86400);
 $html = '<table border="1">';
 $html .= '<tr>';
 $html .= '<td><a href="' . $PHP_SELF . '?date=' . $pre . '">-</a></td>';
 $html .= '<td colspan="5">' . $date['year'] . ';' . $date['month'] . '</td>';
 $html .= '<td><a href="' . $PHP_SELF . '?date=' . $next . '">+</a></td>';
 $html .= '</tr>';
 $arr_tpl = array(0 => '', 1 => '', 2 => '', 3 => '', 4 => '', 5 => '', 6 => '');
 $date_arr = array();
 $j = 0;
 for ($i = 0; $i < $end['mday']; $i++) {
     if (!isset($date_arr[$j])) {
         $date_arr[$j] = $arr_tpl;
     }
     $date_arr[$j][($i+$start['wday'])%7] = $i+1;
     if ($date_arr[$j][6]) {
         $j++;
     }
 }
 foreach ($date_arr as $value) {
     $html .= '<tr>';
     foreach ($value as $v) {
         if ($v) {
             if ($v == $date['mday']) {
                 $html .= '<td><b>' . $v . '</b></td>';
             } else {
                 $html .= '<td>' . $v . '</td>';
             }
         } else {
             $html .= '<td>&nbsp;</td>';
         }
     }
     $html .= '</tr>';
 }
 $html .= '</table>';
 echo $html;  

為什麼我得不到變數(PHP程式教學問與答)

問題:我在一網頁向另一網頁POST資料name,為什麼輸出$name時卻得不到任何值?

技術回覆:在PHP4.2以後的版本中register_global預設為off

  若想取得從另一頁面送出的變數:

方法一:在PHP.ini中找到register_global,並把它設定為on.

方法二:在接收網頁最前面放上這個extract($_POST);extract($_GET);(注意extract($_SESSION)前必須要有Session_Start()).

方法三:一個一個讀取變數$a=$_GET["a"];$b=$_POST["b"]等,這種方法雖然麻煩,但比較安全.

  2:除錯你的程式

在運行時必須知道某個變數為何值。我是這樣做的,建立一檔案debug.php,其內容如下:

<?PHP
Ob_Start();
Session_Start();
Echo "<pre>";

Echo "本頁得到的_GET變數有:";
Print_R($_GET);

Echo "本頁得到的_POST變數有:";
Print_R($_POST);

Echo "本頁得到的_COOKIE變數有:";

Print_R($_COOKIE);

Echo "本頁得到的_SESSION變數有:";
Print_R($_SESSION);
Echo "</pre>";
?>

然後在php.ini中設定:include_path = "c:/php",並將debug.php放在此檔夾,以後就可以在每個網頁裏包括此檔,檢視得到的變數名和值.

  3:如何使用session

凡是與session有關的,之前必須呼叫函數session_start();

為session付值很簡單,如:

<?php
Session_start();
$Name = "這是一個Session例子";
Session_Register("Name");//注意,不要寫成:Session_Register("$Name");
Echo $_SESSION["Name"];
//之後$_SESSION["Name"]為"這是一個Session例子"
?>

在php4.2之後,可以為session直接付值:

<?PHP
Session_Start();
$_SESSION["name"]="value";
?>

取消session可以這樣:

<?php
session_start();
session_unset();
session_destroy();
?>
取消某個session變數在php4.2以上還有BUG.

注意:

1:在呼叫Session_Start()之前不能有任何輸出.例如下面是錯誤的.
==========================================
1行
2行 <?PHP
3行 Session_Start();//之前在第一行已經有輸出
4行 .....
5行 ?>
==========================================


提示1:

凡是出現"........headers already sent..........",就是Session_Start()之前嚮流覽器輸出資訊.

去掉輸出就標準,(COOKIE也會出現這種錯誤,錯誤原因一樣)

提示2:


如果你的Session_Start()放在迴圈語句裏,並且很難確定之前哪裡向流覽器輸出資訊,可以用下面這種方法:

1行 <?PHP Ob_Start(); ?>
........這裏是你的程式......
本PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地立志於收集各類PHP程式設計、MySQL資料庫及網頁設計技術教學資訊,便於本人和廣大網友及網友查詢檢索,無論公司或個人認為本站存在侵權內容均可與本站聯繫,任何此類反饋資訊一經查明屬實後,將立即移除!