博客來網路書店查詢

書名

博客來網路書店查詢

星期二, 10月 26, 2010

PHP&MySQL--4 2010年10月課程講義預覽

PHP&MySQL--4
一、 陣列簡介
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:
1. 表單部分(1.php)


〈html〉〈head〉
〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉
〈title〉表單登入〈/title〉〈/head〉〈body〉
〈form name="form1" method="post" action="2.php"〉請輸入姓名:
〈input type="text" name="username" maxlength="6" size="8"〉〈br〉
請輸入密碼:
〈input type="password" name="passwd" maxlength=”6” size="8"〉〈br〉
〈input type="submit"〉〈input type="reset"〉〈/form〉 〈/body〉〈/html〉



2. 接收表單資料

〈? session_start( ); ?〉〈html〉〈head〉
〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉
〈title〉驗證表單資料〈/title〉〈/head〉〈body〉 〈?
if(!isset($_POST['username']))
{
?〉
〈script〉
window.alert('請輸入帳號');
//history.back( );
location.href="http://localhost/class3/session/1.php";
〈/script〉〈?
}
if(!isset($_POST['passwd']))
{
?〉
〈script〉
window.alert('請輸入密碼');
//history.back( );
location.href="http://localhost/class3/session/1.php";
〈/script〉
〈?
}
if($_POST['username']=="")
{ ?〉
〈script〉
window.alert('請輸入帳號');
history.back( );
//location.href="http://localhost/class3/session/1.php";
〈/script〉〈?
}
if($_POST['passwd']=="")
{
?〉
〈script〉
window.alert('請輸入密碼');
history.back( );
//location.href="http://localhost/class3/session/1.php";
〈/script〉
〈?
}
$_SESSION['username']=$_POST['username'];
$_SESSION['passwd']=$_POST['passwd'];
echo '〈br/〉〈a href="3.php"〉第三頁〈/a〉';
?〉〈/body〉〈/html〉
3. 第三頁的連結
〈? session_start( ); ?〉〈html〉〈head〉
〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉
〈title〉查閱資料〈/title〉〈/head〉〈body〉 〈?
if(!isset($_SESSION['username']))
{
?〉
〈script〉
window.alert('請輸入帳號');
location.href='./1.php';
〈/script〉
〈?
}
if(!isset($_SESSION['passwd']))
{
?〉
〈script〉
window.alert('請輸入密碼');
location.href='./1.php';
〈/script〉
〈?
}
echo '歡迎光臨';
echo '〈br/〉〈a href="4.php"〉登出〈/a〉';
?〉〈/body〉〈/html〉



4. 第四頁登出


〈? session_start( ); ?〉〈html〉〈head〉
〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉
〈title〉登出〈/title〉〈/head〉〈body〉 〈?
session_unset( );
session_destroy( );
?〉
〈script〉
//window.alert('請輸入帳號');
location.href='./1.php';
〈/script〉
〈/body〉〈/html〉



四、 修改:當網頁關閉時強制刪除session資料

〈title〉查閱資料〈/title〉〈/head〉〈body onUnLoad="checkunload();"〉
〈script〉
function checkunload()
{
location.href="./4.php";
}
〈/script〉




五、 header運用—轉移網頁
〈? header("Location: http://www.google.com"); ?〉
Q1:如果此例的utf-8含有BOM,執行時會如何呢?
Q2:如果網頁上還有其他資訊顯示,網頁可以轉移嗎?

〈html〉〈head〉
〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉
〈title〉轉換網址〈/title〉〈/head〉
〈body〉〈?
header("Location: http://www.google.com");
?〉
?〉〈/body〉〈/html〉





六、 以下幾種函數都必須放在第一行,
且之前不能有任何輸出,包含空白:
header( )、setcookie( )、session_start( )、ob_start( )
七、 header運用—驗證身份後做網頁轉換【提供表單網頁】


〈? ob_start( ) ;?〉
〈html〉〈head〉〈meta http-equiv="content-type" content="text/html;charset=utf-8"〉
〈title〉驗證帳號與密碼〈/title〉〈/head〉
〈body〉〈?
if (($_POST['username']=='php') and ($_POST['passwd']=='mysql'))
header("Location: success.php");
else header("Location: failed.php");
?〉〈/body〉〈/html〉






八、 header運用—網頁每隔20秒向server讀取資料



〈? ob_start( ) ;?〉
〈html〉〈head〉〈meta http-equiv="content-type" content="text/html;charset=utf-8"〉
〈title〉網頁每隔20秒向server讀取資料〈/title〉〈/head〉
〈body〉〈?
header("refresh:20");
echo "現在時間:".date("h:i:s");
?〉〈/body〉〈/html〉



九、 header運用—網頁5秒後將轉移至google



〈? ob_start() ;?〉
〈html〉〈head〉〈meta http-equiv="content-type" content="text/html;charset=utf-8"〉
〈title〉網頁5秒後將轉移至google〈/title〉〈/head〉
〈body〉〈?
header('refresh:5; url="http://www.google.com"');
echo "五秒後連結google";
?〉〈/body〉〈/html〉




十、 與搜尋引擎有關:robots.txt


user-agent: *
disallow: /cig-bin
disallow:/members/data
disallow:/*.pdf$
十一、 如果欲禁止google抓取jpg圖片:robots.txt
user-agent: Googlebot-image
disallow:/*.jpg$




十二、 關於include

〈html〉〈head〉
〈meta http-equiv="Content-Type" content="text/html; charset=utf-8"〉
〈title〉foreach與print_r〈/title〉〈/head〉
〈body〉
〈TABLE align=center border=1 width=80%〉
〈TR〉〈TD〉〈? include("menu.php"); ?〉〈/TD〉
〈TD〉〈P〉這裡請輸入你的內容〈/TD〉〈/TR〉
〈/TABLE〉
〈/body〉〈/html〉





若改為require會有怎樣的情況發生呢?
若將menu.php刪除 會有怎樣的反應呢?
如果不想顯示錯誤訊息,該如何處理呢?
〈TABLE align=center border=1 width=80%〉
〈TR〉〈TD〉〈? if (!@include("menu.php")) die("連結錯誤"); ?〉〈/TD〉
〈TD〉〈P〉這裡請輸入你的內容〈/TD〉〈/TR〉
〈/TABLE〉〈/body〉〈/html〉
十三、 資料庫是什麼?
十四、 若忘記root密碼:【請參考網路硬碟提供的指令依序進行密碼設定】
十五、 一些MySQL指令
說明 指令
顯示目前資料庫 show databases;
檢視資料表:例如檢視mysql資料庫內的資料表 【請先使用資料庫】 show tables from mysql;
顯示資料表 【請先使用資料庫】 show tables;
檢視欄位 【請先使用資料庫】 show columns from db from mysql;
建立資料庫 create database pcschooldb;
刪除資料庫 drop database pcschooldb;
使用資料庫 use test;
十六、 資料庫設計
十七、 什麼是SQL檔案
十八、 利用phpMyAdmin建pcschool資料庫,將student_create_table.sql匯入
十九、 將student.sql匯入,請觀察匯入的結果。【student.sql檔案為big5編碼】
二十、 利用phpMyAdmin建立pcschool2資料庫,但校對請選擇「Big5」,並請您將student.sql匯入,請觀察匯入的結果。【student.sql檔案為big5編碼】
二十一、 談資料表索引
二十二、 其他

沒有留言: