SlideShare a Scribd company logo
1 of 6
第 8 章解答                                                 PHP 6 與 MySQL 基礎學習教室



1.設計一個網頁,當使用者按下重新整理,會顯示「請勿重複開啟」訊息。

解答:
<?session_start();?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>session</title></head><body>
<?
if(!isset($_SESSION['addr']))
 {
  $_SESSION['addr']=$_SERVER["REMOTE_ADDR"];
  echo "謝謝您的登入";
 }
else
  echo "請勿重複登入";
?></body></html>



2.設計一個網頁,當使用者兩小時內重複開啟,會顯示「兩小時候請再開啟」訊
息。


解答:
<? ob_start() ;?>
<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>cookie</title></head><body>
<?
 if(isset($_COOKIE["pass"]))
    echo "已經使用過了,請再稍等 2 小時"."<br>";
 else
   {
    setcookie ("pass", "php",time()+(60*60*2));
    echo "第一次開啟網頁,您在 2 小時內不能再度使用"."<br>";
   }
?></body></html>




                                      第1頁
第 8 章解答                                                 PHP 6 與 MySQL 基礎學習教室



3.請設計以下的網頁:
sessionform1.htm 讓使用者輸入帳號及密碼
sessionform1.php 接收表單傳遞過來的帳號及密碼,並產生兩個 Session 變數
sessionform2.php 判斷是否有 form1.php 產生的 Session 變數,有則顯示
                 「OK」,沒有則顯示「Cancel」
sessionform3.php 銷毀 session 變數及 session id,並加上 form2.php 連結,以確
                 認 session 是否清除

解答:
sessionform1.htm

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登入</title></head>
<body>
<form name="form1" method="post" action="sessionform1.php">
登入帳號:<input name="loginname" type="text"><br>
登入密碼:<input name="loginpwd" type="password"><br>
<input type="submit" value="送出"><input type="reset" value="重設">
</form></body></html>


sessionform1.php


<?session_start();?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>sessionform1</title></head><body>
<a href = "sessionform2.php"> 連到下一頁面</a><br>
<a href = "sessionform3.php"> 登出</a><br>
<?
if (isset($_POST['loginname']) and isset($_POST['loginpwd']))
 {
  $_SESSION['loginname']=$_POST['loginname'];
  $_SESSION['loginpwd']=$_POST['loginpwd'];
 }
else
 echo("沒有內容儲存,請返回表單網頁")
?>
</body></html>


                                      第2頁
第 8 章解答                                                PHP 6 與 MySQL 基礎學習教室




sessionform2.php


<?session_start() ;?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>sessionform2</title></head><body>
<?
 echo "你的帳號:".$_SESSION['loginname']."<br>" ;
 echo "密碼:".$_SESSION['loginpwd']."<br>" ;
?>
<a href = "sessionform1.php"> 登錄 session</a><br>
<a href = "sessionform3.php"> 登出</a><br>
</body></html>


sessionform3.php


<?session_start(); ?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>sessionform3</title></head><body>
 <?
session_unset();
session_destroy();
?>
<a href = "sessionform1.php"> 登錄 session</a><br>
<a href = "sessionform2.php"> 連到下一頁面</a><br>
</body></html>



4.請設計以下的網頁:
cookieform1.htm 讓使用者輸入帳號及密碼
cookieform1.php 接收表單傳遞過來的帳號及密碼,並產生兩個 Cookie 變數
cookieform2.php 判斷是否有 form1.php 產生的 Cookie 變數,有則顯示
                「OK」,沒有則顯示「Cancel」
cookieform3.php 銷毀 Cookie 變數,並加上 form2.php 連結,以確認 Cookie
                是否清除

解答:

                                      第3頁
第 8 章解答                                                PHP 6 與 MySQL 基礎學習教室


cookieform1.htm

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登入</title></head>
<body>
<form name="form1" method="post" action="cookieform1.php">
登入帳號:<input name="loginname" type="text"><br>
登入密碼:<input name="loginpwd" type="password"><br>
<input type="submit" value="送出"><input type="reset" value="重設">
</form></body></html>


cookieform1.php


<?ob_start();?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>cookieform1</title></head><body>
<a href = "cookieform2.php"> 連到下一頁面</a><br>
<a href = "cookieform3.php"> 登出</a><br>
<?
if (isset($_POST['loginname']) and isset($_POST['loginpwd']))
 {
  setcookie ("loginname",$_POST['loginname'],time()+(60*60*2));
  setcookie ("loginpwd",$_POST['loginpwd'],time()+(60*60*2));
 }
else
 echo("沒有內容儲存,請返回表單網頁")
?>
</body></html>


cookieform2.php


<?ob_start() ;?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>cookieform2</title></head><body>
<?

                                      第4頁
第 8 章解答                                                PHP 6 與 MySQL 基礎學習教室



 echo "你的帳號:".$_COOKIE['loginname']."<br>" ;
 echo "密碼:".$_COOKIE['loginpwd']."<br>" ;
?>
<a href = "cookieform1.php"> 登錄 cookie</a><br>
<a href = "cookieform3.php"> 登出</a><br>
</body></html>


cookieform3.php


<?ob_start(); ?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>cookieform3</title></head><body>
 <?
 setcookie ("loginname","",time()+(60*60*2));
 setcookie ("loginpwd","",time()+(60*60*2));
?>
<a href = "cookieform1.php"> 登錄 cookie</a><br>
<a href = "cookieform2.php"> 連到下一頁面</a><br>
</body></html>



5.以下幾種是否為網頁間資料分享的方法:a.表單 b.網址 URL 參數 c.Cookies
d.Session

解答:
四種皆是。
但這四種資料分享的方式各有差異。
a.表單 :資料只能存在表單及接收資料的網頁。
b.網址 URL 參數:透過網址傳遞,資料欠缺安全性。
c.Cookies:儲存於使用者端電腦,若使用者瀏覽器提高安全性則將無法存取。
d.Session:當網頁關閉後就會消失。




                                      第5頁
第 8 章解答                                PHP 6 與 MySQL 基礎學習教室



6.請查閱你的 php.ini 內 session id 儲存的位置

解答:
   請查詢主機內 php.ini 檔案內容,請尋找「session.save_path」,就可知道
session id 儲存的位置



7.Server 上 session 檔案保存期限是由哪些設定決定?

解答:
php.ini 內相關設定:
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440
這三行設定分別為 session 清除垃圾比例分子(session.gc_probability)、session
清除垃圾比例分母(session.gc_divisor)、session 資料保存最大時間
(session.gc_maxlifetime)。   以上述設定為例,代表主機會在瀏覽器失去訊息後
1440 秒清除 1/100 session 檔案。至於為何不全部清除呢?因為主機無法判斷
「瀏覽器失去訊息」 「瀏覽器關閉」 「網路傳輸速度慢」
                     是          或        ,所以主機不會主動
把所有 session 資料清除。


8.不同瀏覽器可以共用 Cookie 嗎?

解答:
不同瀏覽器不可以共用 Cookie。

9.如何讓 Cookie 變數失效?

解答:
當 Cookie 變數逾期或變數內容清空,Cookie 變數就會失效



10.如何讓 Seesion 變數失效?

解答:
當網頁關閉或執行 session_unset( )函數銷毀 session 變數。




                            第6頁

More Related Content

Viewers also liked

Financial management and accounting part-iii
Financial management and accounting  part-iiiFinancial management and accounting  part-iii
Financial management and accounting part-iiiNayyar Kazmi
 
экскурсия в школьную библиотеку
экскурсия в школьную библиотекуэкскурсия в школьную библиотеку
экскурсия в школьную библиотекуОльга Климантова
 
เทคนิคการจัดการเรียน การสอนโดยใช้ Social Media
เทคนิคการจัดการเรียนการสอนโดยใช้ Social Mediaเทคนิคการจัดการเรียนการสอนโดยใช้ Social Media
เทคนิคการจัดการเรียน การสอนโดยใช้ Social MediaSatapon Yosakonkun
 
Honeypot to Semantic Web interest group at the BBC
Honeypot to Semantic Web interest group at the BBCHoneypot to Semantic Web interest group at the BBC
Honeypot to Semantic Web interest group at the BBCSimon Cross
 
香港六合彩
香港六合彩香港六合彩
香港六合彩xvektg
 
Pieter Toor Veripos
Pieter Toor VeriposPieter Toor Veripos
Pieter Toor VeriposJoost Boers
 
ensayomaestria1
ensayomaestria1ensayomaestria1
ensayomaestria1fwlondon
 
изменение прилагательных по числам и родам
изменение прилагательных по числам и родамизменение прилагательных по числам и родам
изменение прилагательных по числам и родамОльга Климантова
 
Polish PR specialists on PR measurement
Polish PR specialists on PR measurementPolish PR specialists on PR measurement
Polish PR specialists on PR measurementAnna Miotk
 
Ruang Lingkup Biologi Ismail
Ruang Lingkup Biologi IsmailRuang Lingkup Biologi Ismail
Ruang Lingkup Biologi Ismailismail fizh
 

Viewers also liked (20)

Financial management and accounting part-iii
Financial management and accounting  part-iiiFinancial management and accounting  part-iii
Financial management and accounting part-iii
 
экскурсия в школьную библиотеку
экскурсия в школьную библиотекуэкскурсия в школьную библиотеку
экскурсия в школьную библиотеку
 
เทคนิคการจัดการเรียน การสอนโดยใช้ Social Media
เทคนิคการจัดการเรียนการสอนโดยใช้ Social Mediaเทคนิคการจัดการเรียนการสอนโดยใช้ Social Media
เทคนิคการจัดการเรียน การสอนโดยใช้ Social Media
 
usid2008
usid2008usid2008
usid2008
 
Patrimonios Culturales de América
Patrimonios Culturales de AméricaPatrimonios Culturales de América
Patrimonios Culturales de América
 
Honeypot to Semantic Web interest group at the BBC
Honeypot to Semantic Web interest group at the BBCHoneypot to Semantic Web interest group at the BBC
Honeypot to Semantic Web interest group at the BBC
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Pieter Toor Veripos
Pieter Toor VeriposPieter Toor Veripos
Pieter Toor Veripos
 
проект по чтению
проект по чтениюпроект по чтению
проект по чтению
 
ensayomaestria1
ensayomaestria1ensayomaestria1
ensayomaestria1
 
изменение прилагательных по числам и родам
изменение прилагательных по числам и родамизменение прилагательных по числам и родам
изменение прилагательных по числам и родам
 
Prezentaciya kometa
Prezentaciya kometaPrezentaciya kometa
Prezentaciya kometa
 
моя улица
моя улицамоя улица
моя улица
 
флаг россии
флаг россиифлаг россии
флаг россии
 
осенние конкурсы
осенние конкурсыосенние конкурсы
осенние конкурсы
 
Polish PR specialists on PR measurement
Polish PR specialists on PR measurementPolish PR specialists on PR measurement
Polish PR specialists on PR measurement
 
Ruang Lingkup Biologi Ismail
Ruang Lingkup Biologi IsmailRuang Lingkup Biologi Ismail
Ruang Lingkup Biologi Ismail
 
спортивный праздник
спортивный праздникспортивный праздник
спортивный праздник
 
аксёново
аксёновоаксёново
аксёново
 
золотое кольцо россии
золотое кольцо россиизолотое кольцо россии
золотое кольцо россии
 

Similar to 第八章解答

第七章解答
第七章解答第七章解答
第七章解答jiannrong
 
Zencart网站模板复制过程
Zencart网站模板复制过程Zencart网站模板复制过程
Zencart网站模板复制过程xiaochenlbm
 
Magento页面载入的执行流程
Magento页面载入的执行流程Magento页面载入的执行流程
Magento页面载入的执行流程Sim Jiason
 
台科大暑期資工營 - 前端入門
台科大暑期資工營 - 前端入門台科大暑期資工營 - 前端入門
台科大暑期資工營 - 前端入門Yi-Feng Xie
 
深入剖析浏览器
深入剖析浏览器深入剖析浏览器
深入剖析浏览器jay li
 
搭載網頁核心的基本架構
搭載網頁核心的基本架構搭載網頁核心的基本架構
搭載網頁核心的基本架構Anna Su
 
给聚划算后端开发的前端培训
给聚划算后端开发的前端培训给聚划算后端开发的前端培训
给聚划算后端开发的前端培训j5726
 
部分PHP问题总结[转贴]
部分PHP问题总结[转贴]部分PHP问题总结[转贴]
部分PHP问题总结[转贴]wensheng wei
 
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.xIntroduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.xBo-Yi Wu
 
HTML5概览
HTML5概览HTML5概览
HTML5概览Adam Lu
 
OPENCART 購物平台開發實務 DAY3教學 for 1.5.X
OPENCART 購物平台開發實務 DAY3教學 for 1.5.XOPENCART 購物平台開發實務 DAY3教學 for 1.5.X
OPENCART 購物平台開發實務 DAY3教學 for 1.5.X蘇姵欣 PeiSu
 
十步学会用Css+Div建站
十步学会用Css+Div建站十步学会用Css+Div建站
十步学会用Css+Div建站yiditushe
 
6kbbs vulnerability report
6kbbs vulnerability report6kbbs vulnerability report
6kbbs vulnerability reportinsight-labs
 
6 wordpress教學 - 蔡宗翰
6 wordpress教學 - 蔡宗翰6 wordpress教學 - 蔡宗翰
6 wordpress教學 - 蔡宗翰HCGO
 
Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)振揚 陳
 
OpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIOpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIHung-yu Lin
 
高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践longhao
 
Cas Sso Intro
Cas Sso IntroCas Sso Intro
Cas Sso IntroShiny Zhu
 

Similar to 第八章解答 (20)

第七章解答
第七章解答第七章解答
第七章解答
 
Zencart网站模板复制过程
Zencart网站模板复制过程Zencart网站模板复制过程
Zencart网站模板复制过程
 
Magento页面载入的执行流程
Magento页面载入的执行流程Magento页面载入的执行流程
Magento页面载入的执行流程
 
台科大暑期資工營 - 前端入門
台科大暑期資工營 - 前端入門台科大暑期資工營 - 前端入門
台科大暑期資工營 - 前端入門
 
深入剖析浏览器
深入剖析浏览器深入剖析浏览器
深入剖析浏览器
 
Html&css基础
Html&css基础Html&css基础
Html&css基础
 
搭載網頁核心的基本架構
搭載網頁核心的基本架構搭載網頁核心的基本架構
搭載網頁核心的基本架構
 
给聚划算后端开发的前端培训
给聚划算后端开发的前端培训给聚划算后端开发的前端培训
给聚划算后端开发的前端培训
 
部分PHP问题总结[转贴]
部分PHP问题总结[转贴]部分PHP问题总结[转贴]
部分PHP问题总结[转贴]
 
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.xIntroduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.x
 
HTML5概览
HTML5概览HTML5概览
HTML5概览
 
OPENCART 購物平台開發實務 DAY3教學 for 1.5.X
OPENCART 購物平台開發實務 DAY3教學 for 1.5.XOPENCART 購物平台開發實務 DAY3教學 for 1.5.X
OPENCART 購物平台開發實務 DAY3教學 for 1.5.X
 
十步学会用Css+Div建站
十步学会用Css+Div建站十步学会用Css+Div建站
十步学会用Css+Div建站
 
6kbbs vulnerability report
6kbbs vulnerability report6kbbs vulnerability report
6kbbs vulnerability report
 
6 wordpress教學 - 蔡宗翰
6 wordpress教學 - 蔡宗翰6 wordpress教學 - 蔡宗翰
6 wordpress教學 - 蔡宗翰
 
Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)
 
OpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIOpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part II
 
Structs2簡介
Structs2簡介 Structs2簡介
Structs2簡介
 
高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践
 
Cas Sso Intro
Cas Sso IntroCas Sso Intro
Cas Sso Intro
 

More from jiannrong

生命教育與動物保護
生命教育與動物保護生命教育與動物保護
生命教育與動物保護jiannrong
 
生命教育
生命教育生命教育
生命教育jiannrong
 
Python匯出入csv以及繪製圖表初稿
Python匯出入csv以及繪製圖表初稿Python匯出入csv以及繪製圖表初稿
Python匯出入csv以及繪製圖表初稿jiannrong
 
網站規劃
網站規劃網站規劃
網站規劃jiannrong
 
VB 課程進階第三天預排內容
VB 課程進階第三天預排內容VB 課程進階第三天預排內容
VB 課程進階第三天預排內容jiannrong
 
第十二章解答
第十二章解答第十二章解答
第十二章解答jiannrong
 
第十一章解答
第十一章解答第十一章解答
第十一章解答jiannrong
 
第十章解答
第十章解答第十章解答
第十章解答jiannrong
 
MySQL資料表正規化草稿
MySQL資料表正規化草稿MySQL資料表正規化草稿
MySQL資料表正規化草稿jiannrong
 
第六章解答
第六章解答第六章解答
第六章解答jiannrong
 
第五章解答
第五章解答第五章解答
第五章解答jiannrong
 
第四章解答
第四章解答第四章解答
第四章解答jiannrong
 
第三章解答
第三章解答第三章解答
第三章解答jiannrong
 
第二章解答
第二章解答第二章解答
第二章解答jiannrong
 
第一章解答
第一章解答第一章解答
第一章解答jiannrong
 
Hb1004 function3
Hb1004 function3Hb1004 function3
Hb1004 function3jiannrong
 
Php6 mysql 0
Php6 mysql 0Php6 mysql 0
Php6 mysql 0jiannrong
 
User Manage3
User Manage3User Manage3
User Manage3jiannrong
 
User Manage2
User Manage2User Manage2
User Manage2jiannrong
 

More from jiannrong (20)

生命教育與動物保護
生命教育與動物保護生命教育與動物保護
生命教育與動物保護
 
生命教育
生命教育生命教育
生命教育
 
Python匯出入csv以及繪製圖表初稿
Python匯出入csv以及繪製圖表初稿Python匯出入csv以及繪製圖表初稿
Python匯出入csv以及繪製圖表初稿
 
網站規劃
網站規劃網站規劃
網站規劃
 
VB 課程進階第三天預排內容
VB 課程進階第三天預排內容VB 課程進階第三天預排內容
VB 課程進階第三天預排內容
 
第十二章解答
第十二章解答第十二章解答
第十二章解答
 
第十一章解答
第十一章解答第十一章解答
第十一章解答
 
第十章解答
第十章解答第十章解答
第十章解答
 
MySQL資料表正規化草稿
MySQL資料表正規化草稿MySQL資料表正規化草稿
MySQL資料表正規化草稿
 
第六章解答
第六章解答第六章解答
第六章解答
 
第五章解答
第五章解答第五章解答
第五章解答
 
第四章解答
第四章解答第四章解答
第四章解答
 
第三章解答
第三章解答第三章解答
第三章解答
 
第二章解答
第二章解答第二章解答
第二章解答
 
第一章解答
第一章解答第一章解答
第一章解答
 
Hb1004 function3
Hb1004 function3Hb1004 function3
Hb1004 function3
 
Php6 mysql 0
Php6 mysql 0Php6 mysql 0
Php6 mysql 0
 
User Manage3
User Manage3User Manage3
User Manage3
 
User Manage2
User Manage2User Manage2
User Manage2
 
Timer
TimerTimer
Timer
 

第八章解答

  • 1. 第 8 章解答 PHP 6 與 MySQL 基礎學習教室 1.設計一個網頁,當使用者按下重新整理,會顯示「請勿重複開啟」訊息。 解答: <?session_start();?> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>session</title></head><body> <? if(!isset($_SESSION['addr'])) { $_SESSION['addr']=$_SERVER["REMOTE_ADDR"]; echo "謝謝您的登入"; } else echo "請勿重複登入"; ?></body></html> 2.設計一個網頁,當使用者兩小時內重複開啟,會顯示「兩小時候請再開啟」訊 息。 解答: <? ob_start() ;?> <html><head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>cookie</title></head><body> <? if(isset($_COOKIE["pass"])) echo "已經使用過了,請再稍等 2 小時"."<br>"; else { setcookie ("pass", "php",time()+(60*60*2)); echo "第一次開啟網頁,您在 2 小時內不能再度使用"."<br>"; } ?></body></html> 第1頁
  • 2. 第 8 章解答 PHP 6 與 MySQL 基礎學習教室 3.請設計以下的網頁: sessionform1.htm 讓使用者輸入帳號及密碼 sessionform1.php 接收表單傳遞過來的帳號及密碼,並產生兩個 Session 變數 sessionform2.php 判斷是否有 form1.php 產生的 Session 變數,有則顯示 「OK」,沒有則顯示「Cancel」 sessionform3.php 銷毀 session 變數及 session id,並加上 form2.php 連結,以確 認 session 是否清除 解答: sessionform1.htm <html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登入</title></head> <body> <form name="form1" method="post" action="sessionform1.php"> 登入帳號:<input name="loginname" type="text"><br> 登入密碼:<input name="loginpwd" type="password"><br> <input type="submit" value="送出"><input type="reset" value="重設"> </form></body></html> sessionform1.php <?session_start();?> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>sessionform1</title></head><body> <a href = "sessionform2.php"> 連到下一頁面</a><br> <a href = "sessionform3.php"> 登出</a><br> <? if (isset($_POST['loginname']) and isset($_POST['loginpwd'])) { $_SESSION['loginname']=$_POST['loginname']; $_SESSION['loginpwd']=$_POST['loginpwd']; } else echo("沒有內容儲存,請返回表單網頁") ?> </body></html> 第2頁
  • 3. 第 8 章解答 PHP 6 與 MySQL 基礎學習教室 sessionform2.php <?session_start() ;?> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>sessionform2</title></head><body> <? echo "你的帳號:".$_SESSION['loginname']."<br>" ; echo "密碼:".$_SESSION['loginpwd']."<br>" ; ?> <a href = "sessionform1.php"> 登錄 session</a><br> <a href = "sessionform3.php"> 登出</a><br> </body></html> sessionform3.php <?session_start(); ?> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>sessionform3</title></head><body> <? session_unset(); session_destroy(); ?> <a href = "sessionform1.php"> 登錄 session</a><br> <a href = "sessionform2.php"> 連到下一頁面</a><br> </body></html> 4.請設計以下的網頁: cookieform1.htm 讓使用者輸入帳號及密碼 cookieform1.php 接收表單傳遞過來的帳號及密碼,並產生兩個 Cookie 變數 cookieform2.php 判斷是否有 form1.php 產生的 Cookie 變數,有則顯示 「OK」,沒有則顯示「Cancel」 cookieform3.php 銷毀 Cookie 變數,並加上 form2.php 連結,以確認 Cookie 是否清除 解答: 第3頁
  • 4. 第 8 章解答 PHP 6 與 MySQL 基礎學習教室 cookieform1.htm <html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登入</title></head> <body> <form name="form1" method="post" action="cookieform1.php"> 登入帳號:<input name="loginname" type="text"><br> 登入密碼:<input name="loginpwd" type="password"><br> <input type="submit" value="送出"><input type="reset" value="重設"> </form></body></html> cookieform1.php <?ob_start();?> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>cookieform1</title></head><body> <a href = "cookieform2.php"> 連到下一頁面</a><br> <a href = "cookieform3.php"> 登出</a><br> <? if (isset($_POST['loginname']) and isset($_POST['loginpwd'])) { setcookie ("loginname",$_POST['loginname'],time()+(60*60*2)); setcookie ("loginpwd",$_POST['loginpwd'],time()+(60*60*2)); } else echo("沒有內容儲存,請返回表單網頁") ?> </body></html> cookieform2.php <?ob_start() ;?> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>cookieform2</title></head><body> <? 第4頁
  • 5. 第 8 章解答 PHP 6 與 MySQL 基礎學習教室 echo "你的帳號:".$_COOKIE['loginname']."<br>" ; echo "密碼:".$_COOKIE['loginpwd']."<br>" ; ?> <a href = "cookieform1.php"> 登錄 cookie</a><br> <a href = "cookieform3.php"> 登出</a><br> </body></html> cookieform3.php <?ob_start(); ?> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>cookieform3</title></head><body> <? setcookie ("loginname","",time()+(60*60*2)); setcookie ("loginpwd","",time()+(60*60*2)); ?> <a href = "cookieform1.php"> 登錄 cookie</a><br> <a href = "cookieform2.php"> 連到下一頁面</a><br> </body></html> 5.以下幾種是否為網頁間資料分享的方法:a.表單 b.網址 URL 參數 c.Cookies d.Session 解答: 四種皆是。 但這四種資料分享的方式各有差異。 a.表單 :資料只能存在表單及接收資料的網頁。 b.網址 URL 參數:透過網址傳遞,資料欠缺安全性。 c.Cookies:儲存於使用者端電腦,若使用者瀏覽器提高安全性則將無法存取。 d.Session:當網頁關閉後就會消失。 第5頁
  • 6. 第 8 章解答 PHP 6 與 MySQL 基礎學習教室 6.請查閱你的 php.ini 內 session id 儲存的位置 解答: 請查詢主機內 php.ini 檔案內容,請尋找「session.save_path」,就可知道 session id 儲存的位置 7.Server 上 session 檔案保存期限是由哪些設定決定? 解答: php.ini 內相關設定: session.gc_probability = 1 session.gc_divisor = 100 session.gc_maxlifetime = 1440 這三行設定分別為 session 清除垃圾比例分子(session.gc_probability)、session 清除垃圾比例分母(session.gc_divisor)、session 資料保存最大時間 (session.gc_maxlifetime)。 以上述設定為例,代表主機會在瀏覽器失去訊息後 1440 秒清除 1/100 session 檔案。至於為何不全部清除呢?因為主機無法判斷 「瀏覽器失去訊息」 「瀏覽器關閉」 「網路傳輸速度慢」 是 或 ,所以主機不會主動 把所有 session 資料清除。 8.不同瀏覽器可以共用 Cookie 嗎? 解答: 不同瀏覽器不可以共用 Cookie。 9.如何讓 Cookie 變數失效? 解答: 當 Cookie 變數逾期或變數內容清空,Cookie 變數就會失效 10.如何讓 Seesion 變數失效? 解答: 當網頁關閉或執行 session_unset( )函數銷毀 session 變數。 第6頁