• Save
第八章解答
Upcoming SlideShare
Loading in...5
×
 

第八章解答

on

  • 657 views

 

Statistics

Views

Total Views
657
Views on SlideShare
657
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

第八章解答 第八章解答 Document Transcript

  • 第 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.Cookiesd.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 = 1session.gc_divisor = 100session.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頁