一、 表單與資料接收的練習
1. text與password 表單【form1.html】:
〈html〉 〈head〉 〈title〉〈/title〉 〈meta http-equiv="Content-Type" content="text/html; charset=UTF-8"〉 〈/head〉 〈body〉 〈form name="form1" method="post" action="1.php" 〉 username:〈input type="text" name="username" size="6"〉〈br〉 password:〈input type="password" name="passwd" maxlength="6" size="10"〉〈br〉 〈input type="submit" value="ok"〉〈input type="reset" value="cancel"〉 〈input type="button" value="what?"〉 〈/form〉 〈/body〉 〈/html〉 |
接收:
〈html〉〈head〉 〈meta http-equiv="Content-Type" content="text/html; charset=UTF-8"〉 〈title〉〈/title〉〈/head〉〈body〉 〈? echo "1:".$_POST['username']."〈br〉"; echo "2:".$_POST['passwd']."〈br〉"; echo "3:".$username."〈br〉"; echo "4:".$passwd."〈br〉"; echo "5:".$_GET['username']."〈br〉"; echo "6:".$_GET['passwd']."〈br〉"; ?〉 〈/body〉〈/html〉 |
2. 選擇鈕
表單:
〈html〉 〈head〉 〈title〉〈/title〉 〈meta http-equiv="Content-Type" content="text/html; charset=UTF-8"〉 〈/head〉 〈body〉 〈form name="form3" method="get" action="3.php" 〉 sex: 〈input type="radio" name="sex" value="boy"〉公的 〈input type="radio" name="sex" value="girl"〉母的 〈br〉 Blood: 〈input type="radio" name="blood" value="O"〉O 〈input type="radio" name="blood" value="A"〉A 〈input type="radio" name="blood" value="B"〉B 〈input type="radio" name="blood" value="AB" checked 〉AB 〈br〉 〈input type="submit" value="ok"〉〈input type="reset" value="cancel"〉 〈/form〉 〈/body〉 〈/html〉 |
接收:
〈html〉 〈head〉 〈meta http-equiv="Content-Type" content="text/html; charset=UTF-8"〉 〈title〉〈/title〉 〈/head〉 〈body〉 sex is 〈? echo $_GET['sex'];?〉〈br〉 blood is 〈? echo $_GET['blood'];?〉〈br〉 〈/body〉 〈/html〉 |
checked與disabled屬性的設定
3. 核選框
表單:
〈html〉 〈head〉 〈title〉〈/title〉 〈meta http-equiv="Content-Type" content="text/html; charset=UTF-8"〉 〈/head〉 〈body〉 〈form name="form3" method="get" action="4.php" 〉 〈input type="checkbox" name="a" value="a"〉選項1 〈input type="checkbox" name="b" value="b"〉選項2 〈br〉 〈input type="submit" value="ok"〉〈input type="reset" value="cancel"〉 〈/form〉 〈/body〉 〈/html〉 |
接收:
〈html〉 〈head〉 〈meta http-equiv="Content-Type" content="text/html; charset=UTF-8"〉 〈title〉〈/title〉 〈/head〉 〈body〉 a is 〈? echo $_GET['a'];?〉〈br〉 b is 〈? echo $_GET['b'];?〉〈br〉 〈/body〉 〈/html〉 |
4. 下拉式選單
表單:
〈html〉 〈head〉 〈title〉〈/title〉 〈meta http-equiv="Content-Type" content="text/html; charset=UTF-8"〉 〈/head〉 〈body〉 〈form name="form6" method="get" action="6.php" 〉 please select: 〈select name="travel" size="1"〉 〈option value="1"〉台北烏來〈/option〉 〈option〉台北101〈/option〉 〈option〉台北林家花園〈/option〉 〈option value="4" selected〉D〈/option〉 〈option value="5"〉E〈/option〉 〈option value="6"〉F〈/option〉 〈option value="7"〉G〈/option〉 〈option value="8"〉H〈/option〉 〈option value="9"〉I〈/option〉 〈/select〉〈input type="submit" value="ok"〉〈input type="reset" value="cancel"〉 〈/form〉 〈/body〉 〈/html〉 |
selected與disabled屬性的設定
接收:
〈html〉〈head〉〈meta http-equiv="content-type" content="text/html;charset=UTF-8"〉 〈title〉request select〈/title〉〈/head〉 〈body〉 〈? echo $_GET['travel'];?〉 〈/body〉〈/html〉 |
二、 表單傳遞的問題:表單資料必須透過網址列才可傳送到第三頁
1. 表單網頁【請將form1.html改存成form2.html】
〈html〉 〈head〉 〈title〉〈/title〉 〈meta http-equiv="Content-Type" content="text/html; charset=UTF-8"〉 〈/head〉 〈body〉 〈form name="form2" method="post" action="form1.php" 〉 username:〈input type="text" name="username" size="6"〉〈br〉 password:〈input type="password" name="passwd" maxlength="6" size="10"〉〈br〉 〈input type="submit" value="ok"〉〈input type="reset" value="cancel"〉 〈input type="button" value="what?"〉 〈/form〉 〈/body〉 〈/html〉 |
2. 接收資料,並在下方加入連結【請將1.php改存成form1.php】
〈html〉〈head〉 〈meta http-equiv="Content-Type" content="text/html; charset=UTF-8"〉 〈title〉〈/title〉〈/head〉 〈body〉〈? echo "1:".$_POST['username']."〈br〉"; echo "2:".$_POST['passwd']."〈br〉"; $myname=$_POST['username']; if($_POST['username']=="") die("沒有帳號"); ?〉〈a href="form2.php"〉123〈/a〉 〈a href="form2.php?username=〈? echo $myname; ?〉"〉123〈/a〉 〈/body〉 〈/html〉 |
3. form2.php如果不經form1.php的情況下可以顯示資料嗎?
〈html〉 〈head〉 〈meta http-equiv="Content-Type" content="text/html; charset=UTF-8"〉 〈title〉〈/title〉 〈/head〉 〈body〉 是否有登入帳號的資訊? 〈? echo "post方式傳送的帳號:".$_POST['username']."〈br〉"; ?〉 透過網址列傳送帳號,具有危險性: 〈? echo "網址列傳送的帳號:".$_GET['username']."〈br〉"; ?〉 〈/body〉 〈/html〉 |
三、 表單傳遞的問題:使用者可在本機儲存表單html送至Server
〈html〉 〈head〉 〈title〉〈/title〉 〈meta http-equiv="Content-Type" content="text/html; charset=UTF-8"〉 〈/head〉 〈body〉 〈form name="form2" method="post" action="http://localhost/class1/form1.php" 〉 username:〈input type="text" name="username" value="haha" size="6"〉〈br〉 password:〈input type="password" name="passwd" maxlength="6" size="10" value="cc"〉〈br〉 〈input type="submit" value="ok"〉〈input type="reset" value="cancel"〉 〈input type="button" value="what?"〉 〈/form〉 〈/body〉 〈/html〉 |
四、 介紹checkbox分組之前,先介紹陣列
1. 陣列初始化
〈html〉〈head〉 〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉 〈title〉第一個陣列〈/title〉〈/head〉 〈body〉〈? $chinese[0] = 80; $chinese[1] = 60; $chinese[2] = 90; $chinese[3] = 50; $chinese[4] = 70; for ($a=0; $a〈5; $a++) echo "$chinese[$a] 〈br〉" ; ?〉〈/body〉〈/html〉 |
2. 請問以下陣列,網路硬碟上所提供的資料是否有缺?
〈html〉〈head〉 〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉 〈title〉第一個陣列,不給予索引值編號〈/title〉〈/head〉 〈body〉〈? $chinese[ ] = 80; $chinese[ ] = 60; $chinese[ ] = 90; $chinese[ ] = 50; $chinese[ ] = 70; for ($a=0;$a〈5;$a++) echo "座號".$a."同學的成績為:".$chinese[$a]."〈br〉" ; ?〉〈/body〉〈/html〉 |
3. 陣列可用array方式規劃,網路硬碟上所提供的資料是否有缺?
〈html〉〈head〉 〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉 〈title〉以array方式建立陣列,索引值編號任意給〈/title〉〈/head〉 〈body〉〈? $chinese=array( 1=〉80, 3=〉60, 6=〉90, 8=〉50, 9=〉70 ); for ($a=0;$a〈=10;$a++) echo "座號".$a."同學的成績為:".$chinese[$a]."〈br〉" ; ?〉〈/body〉〈/html〉 |
4. 陣列可用文字做為索引,不過要如何看到全部資料?
〈html〉〈head〉 〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉 〈title〉以array方式建立文字型態索引值陣列〈/title〉〈/head〉 〈body〉〈? $a=array( "Jan" =〉 "一月", "Feb" =〉 "二月", "Mar" =〉 "三月" ); echo $a["Mar"]."〈br〉"; ?〉〈/body〉〈/html〉 |
五、 for與foreach差別
1. 由「陣列可用array方式規劃」練習修改後比較,有何差別?
for ($a=0;$a〈=10;$a++) echo $chinese[$a]."〈br〉" ; foreach ($chinese as $value1) echo $value1."〈br〉"; |
2. 由「陣列可用文字做為索引」練習修改,加入foreach讀取所有資料
foreach ($a as $value1) echo $value1."〈br〉"; |
3. 由「陣列可用array方式規劃」練習修改,更快速顯示索引值與內容
foreach ($chinese as $key1 =〉$value1) echo "座號".$key1."同學的成績為:".$value1."〈br〉" ; |
六、 session start():檔名為session1.php
〈? session_start(); ?〉 〈html〉〈head〉〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉 〈title〉 session start()〈/title〉〈/head〉〈body〉 〈? echo '〉〉第一頁〈〈'; $_SESSION['color'] = '漂亮'; $_SESSION['city'] = '台北'; $_SESSION['time'] = date("Y年m月d日 H時i分s秒"); echo '〈br /〉〈a href="session2.php"〉第二頁〈/a〉'; ?〉〈/body〉〈/html〉 |
檔名為session2.php
〈? ob_start();//output buffering on session_start(); //啟動 session ?〉 〈html〉〈head〉〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉 〈title〉 session start() page2〈/title〉〈/head〉〈body〉 〈? echo '〉〉第二頁〈〈 〈br /〉'; echo $_SESSION['color']."〈br〉"; echo $_SESSION['city']."〈br〉"; echo date("Y年m月d日 H時i分s秒")." ==〉 ".$_SESSION['time']; echo '〈br/〉〈a href="session1.php"〉第一頁〈/a〉'; ?〉〈/body〉〈/html〉 |
七、 php5的時間調整:date.timezone -〉 Asia/Tokyo或Asia/Taipei
八、 session時間的初始化
〈? //ob_start(); session_start(); //啟動 session ini_set('date.timezone','Asia/Tokyo'); ?〉 |
備註:session暫存路徑修改 ini_set('session.save_path','../');
九、 其他
沒有留言:
張貼留言