Introduction to PHP part3

Slides:



Advertisements
Similar presentations
模块五 动态网页技术 任务五 查询记录 任务一 表单设计制作 任务二 简单动态的 ASP 页面制作任务三 页面与数据库的集成任务四 添加记录 任务六 电商系统融入网站.
Advertisements

Web 开发基础 第二章 表格与页面布局. 回顾 Internet 和 万维网 网页的工作原理 网页的基本结构 标记及其属性 段落标记,图片标记,超级链接标记 相对路径,绝对路径,物理路径.
《计算机网络技术》 动态网页制作技术 常用HTML控件课程积件 杨 姝.
第六章 网页设计与制作基础.
白玉苦瓜 余光中.
第五章 JSP内置对象 第4章学习了页面组成元素和使用方法。本章学习JSP内置对象的使用。使用JSP内置对象,可以方便操作页面,访问页面环境,实现页面内、页面间、页面与环境之间的通讯。 学习目标 熟悉主要内置对象的概念 理解主要内置对象的作用域和生命期 理解主要内置对象的作用和关系 熟悉主要内置对象的使用方法.
林敏慧 管理大樓 10樓 5105 資料庫管理.
第5章 HTML 標籤介紹.
第8讲 HTML与PHP基础 静态网页 vs. 动态网页.
HTML概念 HTML(Hyper Text Markup Language 超文本标识语言) 是一种用来制作超文本文档的简单标记语言。
第7章 表 格 清华大学出版社.
教学内容 1、演示并讲解用表格布局制作的网页 2、用表格制作网页.
Web程序设计基础 太原理工大学 计算机科学与技术学院 林福平 求实创新
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
模块1 网页设计基础 实训1 体验HTML文档 1.1 网页基础知识 1.2 网站配色方案 1.3 网站设计常用软件
第3章 JavaScript语言基础.
5.1 – 表格(FORM) 輸入元素 : 兩種傳遞方法 : GET or POST 範例 1. 文字欄位 Text box
HTML.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
第3章 超文本标记语言(HTML) 3.1 基本结构标记 3.2 文本格式标记 3.3 超链接标记<A></A>
Introduction to database
建國技術學院資訊管理學系 饒瑞佶 2004/7/5 彰化縣政府補助辦理網頁設計資料庫應用班 建國技術學院資訊管理學系 饒瑞佶 2004/7/5.
PHP+MySQL互動式網頁程式設計班 範例實作-網路留言板 講師:林業峻 CSIE, NTU 6 /27, 2010.
輕量級伺服器設置 1.HFS檔案伺服器架設實務與演練 2.AppServ與網路架站概說 3.AppServ+Xoops架設實務與演練
PHP程式設計 二、HTML & PHP基本語法 建國科技大學 資訊管理學系 饒瑞佶.
Chap5 PHP程式設計進階 授課講師:.
第十五章 常見的資料庫管理系統 目的 Oracle 微軟SQL Server 微軟Access MySQL Oracle 應用伺服器
【PHP程式設計】 實作一:計算BMI.
第四章 網頁表單與資料傳遞.
留言版 1.先Create一個留言板的table
資料庫管理 HOMEWORK #3 楊立偉教授 台灣大學工管系 2013 Fall.
第十一章 資料庫設計與權限設定.
利用PHP將資料存入MySQL PHP 5 Tutorial 範例:
課程名稱:資料庫系統 授課老師:李春雄 博士
網路概念 APACHE PHP MYSQL HTML BY 董仔 08/01/14.
HTML 钟晖云 QQ:
Lesson 5 :基礎應用二(留言版) (2004/08/20).
資料庫管理 HOMEWORK #3 楊立偉教授 台灣大學工管系 2015 Fall.
Speaker: Kai-Jia Chang Adviser : Quincy Wu Date :
操作資料庫 教授:楊維邦 教授 助教:黃存賢 陳廷宣.
PHP+MySQL互動式網頁程式設計班 檔案上傳程式設計 講師:林業峻 CSIE, NTU 7 / 3, 2010.
MySQL.
PHP 程式流程控制結構.
資料庫管理 HOMEWORK #4 楊立偉教授 台灣大學工管系 2014 Fall.
使用PHP來操作資料庫 教授:楊維邦 教授 助教:李政均、劉秋良.
PHP 變數、常數與運算子 變數 常數 運算子
网站设计 前端 选择器(复习),表单.
MySQL管理 透過phpmyadmin來完成(MySQL的管理系統)
架站實做—AppServ
网页设计与制作教程第5版 机械工业出版社同名教材 配套电子教案.
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
Ch09 在網頁之間傳遞資訊 網頁程式設計.
第六章 迴圈與陣列.
表格(HTML – FORM).
第12章 MySQL資料庫系統的使用 12-1 網頁資料庫的基礎 12-2 MySQL資料庫系統
HTTP 1.1 Method OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT
HTML 103 互動式網頁 助教:黃毓瑩.
利用PHP將資料存入MySQL PHP 5 Tutorial 範例:
第6章 PHP的数据采集.
Lesson 4 :基礎應用一(計數器) (2005/01/27).
網路科技在商店經營管理之應用 第一章 osCommerce系統需求 Ting-Yi Chang (張庭毅)
PHP程式設計 五、程式流程控制結構 建國科技大學 資訊管理學系 饒瑞佶.
表格 (Table).
課程名稱:資料庫系統 授課老師:李春雄 博士
分頁.
第2章 块级标签 经济管理学院.
HTML表单 JSP借由标签所构成的表单区块中,取得用户在其中特定字段输入的数据內容 。 JSP 动态网页新技术.
表单页面 表单是用户利用浏览器对Web站点网络数据库进行查询的一种界面,用户利用表单可以输入信息或选择选项等,然后将这些信息提交给服务器进行处理。通过表单,既可以将浏览器的信息发送到Internet服务器上,同时表单也可以使用户与站点的浏览者交互或从浏览者那里收集信息。它是网页的设计者和使用者相互交流的工具。表单对象包括文本域(单行、多行、密码)、列表、菜单、复选框、单选框、按钮等。
教师:李金双 网页制作 教师:李金双
Presentation transcript:

Introduction to PHP part3

Outline 複習上禮拜課程 MySQL資料庫 建立使用者輸入介面(表單) 如何傳遞使用者資料給Server(GET/POST) 資料庫概念Overview phpMyAdmin(web介面管理資料庫) PHP連結資料庫

動態網頁 現在的網頁不單單只是單向的顯示網頁給使用者端, 更可以和使用者作互動 因此需要製作一個使用者介面讓使用者可以輸入的動作 Ex: Google搜尋引擎 因此需要製作一個使用者介面讓使用者可以輸入的動作 使用HTML來設計一個輸入的介面 表單(Form) Web server必須也要有個相對應的程式可以處理使用者輸入的資料, 並給予適當的回應

PHP的表單處理 網頁表單為網站的使用者介者,利用此介面將使用者輸入的資料傳送到伺服端的PHP程式進行處理,也可以說是PHP程式的輸入介面。 Web伺服器 瀏覽程式的網 頁表單 User input data 執行結果回傳給瀏覽程式顯示。 PHP程式

表單(Form) 先定義出一個表單, 在表單裡面可以有很多輸入欄位 會一次將一個表單裡面所有的輸入欄位送給web server 文字欄位(Text), 密碼欄位(Password), 單一選擇鈕(Radio), 多重選擇鈕(Check Box), 文字區塊:可輸入大量文字(Text Area) 會一次將一個表單裡面所有的輸入欄位送給web server 將想要使用者輸入的欄位都置放在同一個表單裡

當資料傳送到server後, 由哪個php程式來處理這些資料 表單(Form) 表單的傳送方式有GET和POST GET:最大長度為255 ,會於網址尾端加上?變數名稱1=值&變數名稱2=值…。http://ip/get.php?a=1&b=2 POST:所傳訊息不會顯示,資料長度無限制。(伺服器的php還是會設定一限制) 處理表單資料的php php所在的ip 當資料傳送到server後, 由哪個php程式來處理這些資料 選擇要使用GET或POST方式傳送資料

(在此我們將person.html和get.php放在同個資料夾下) PHP範例 (GET Method) 問卷調查的簡單範例 在server端有一個person.html, 會秀出以下的表單 <form method="get" action="get.php" name="myform"> 姓名 <input name="name"><br> 是否為本系學生 <input name="check" type="checkbox"> 年級  <select name="year"> <option value="first">大一</option> <option value="second">大二</option> <option value="third">大三</option> <option value="fourth">大四</option> </select> 男 <input name="sex" value="boy" type="radio"> 女 <input name="sex" value="girl" type="radio"><br> <input name="submit" value="submit" type="submit"><br> </form> 這個表單傳送的方式為GET, 表單傳送到server後, server會尋找是否有get.php, 若有, 則將表單資料丟給get.php處理 (在此我們將person.html和get.php放在同個資料夾下) 表單的html原始碼

使用GET傳送表單, 會將傳送的資料都顯示在瀏覽器的網址列上 按下submit後, 將表單資料送到server 送出的資料經過get.php的處理後回傳給使用者的結果

$check=$_GET['check']; $year=$_GET['year']; echo $name; get.php的原始碼 <?php $name=$_GET['name']; $sex=$_GET['sex']; $check=$_GET['check']; $year=$_GET['year']; echo $name; echo "性別是$sex<br>"; if (strcmp("on",$check)==0){ echo "就讀本系 $year year"; } else{ echo "不是本系學生"; ?> 使用$_GET陣列來取得使用者傳來的資料 注意事項: 在表單裡面form的欄位的name代表著送出的欄位名稱 echo的字串會送回給client strcmp是用來比較兩個字串是不是相同的function, 相同會回傳0

PHP範例 (POST Method) 留言板範例 在server端有一個message.html, 會秀出以下的介面 <form method="post" action="message.php" name="form"> 訪客留言 訪客暱稱 <input name="name"><br> 留言<br> <textarea cols="30" rows="5" name="message"></textarea><br> </form>

注意事項 使用POST method來傳送資料不會顯示在網址列上 送出的資料為name=John message=Hello

$nickname=$_POST['name']; $message=$_POST['message']; message.php的原始碼 <?php $nickname=$_POST['name']; $message=$_POST['message']; $time=date("Y-m-d H:i:s"); echo "<table border=\"1\""; echo "cellpadding=\"2\" cellspacing=\"2\"> <tbody> <tr>"; echo "<td > $nickname </td>"; echo "<td > $time </td></tr><tr>"; echo "<td colspan=\"2\" rowspan=\"1\">"; echo "$message </td></tr></tbody></table>"; ?> 注意事項 使用$_POST陣列來接收POST傳送過來的資料 date(“Y-m-d H:i:s”)可得到目前的年月日時分秒 若想要顯示表格或圖, echo 相對應的HTML語法

Outline 複習上禮拜課程 MySQL資料庫 建立使用者輸入介面(表單) 如何傳遞使用者資料給Server(GET/POST) 資料庫概念Overview phpMyAdmin(web介面管理資料庫) PHP連結資料庫

何謂資料庫 資料庫就是用來儲存一堆資料 日常生活中處處可見資料庫的存在 銀行記錄客戶存款與提款金額 航空公司管理班機航次和定位資料 學校記錄學籍和選課成績 但是資料庫不只是單純儲存在那裡, 還需要能夠不時地汰舊換新, 且能提供使用者有用的資訊 需要資料庫管理系統來幫忙維護資料庫

資料庫與資料庫管理系統的關係 使用者介面 用來管理, 分析, 查詢 儲存資料的地方 資料庫 資料庫管理系統

關聯式資料庫 資料表和資料表也常有關連存在 通常一張資料表都會盡量精簡, 避免資料的重複性, 以防資料被修改後的不一致性 我們可透過資料表間的關聯性, 找到更多資訊 客戶資料表 訂單資料表 客戶 編號 姓名 地址 電話 1 小明 台北市敦化南路 02-2222 2 小華 台中市精誠路 04-1111 3 小小 新竹市光復路 03-5555 訂單 序號 日期 客戶 編號 是否付款 1 11/23 3 否 2 11/24 是

資料定義語言 定義一筆資料裡有哪些欄位, 每個欄位的資料型態, 簡稱DDL 範例:學生表格定義

建立資料表間的關聯性 (cont) 使用主鍵(primary key)和外來鍵(foreigner key)來建立資料表間的關聯性 可想成是資料的身分證號碼 可由多個欄位組成, 只要是獨一無二即可 當有很多欄位可以成為主鍵,選擇一個合理且比較通用 客戶 編號 姓名 地址 電話 1 小明 台北市敦化南路 02-2222 2 小華 台中市精誠路 04-1111 3 小小 新竹市光復路 03-5555 主鍵

建立資料表間的關聯性 外來鍵(foreigner key): 用來連結某一個表格上和另一個表格之間的關係 外來鍵通常是另一個表格的主鍵 客戶資料表 訂單資料表 客戶 編號 姓名 地址 電話 1 小明 台北市敦化南路 02-2222 2 小華 台中市精誠路 04-1111 3 小小 新竹市光復路 03-5555 訂單 序號 日期 客戶 編號 是否付款 1 11/23 3 否 2 11/24 是 訂單資料表的主鍵 外來鍵, 可和客戶資料表建立連結 客戶資料表的主鍵

MySQL PHP本身支援多種資料庫系統的使用, 不過PHP+MySQL是最常見的組合 phpMyAdmin是一套以php3寫成,針對MySQL資料庫系統的Web管理界面。它可以很方便地以圖形化界面,來對MySQL資料庫內之資料做增刪的做動,更可以做資料庫本身的增刪管理

使用phpMyAdmin管理資料庫 http://ip/home/mysql IP為MySQL server的ip address, 由於我們都架在同一台電腦, 所以和PHP server的IP相同

管理資料庫的使用者 預設的管理者為root, 沒有密碼, 所以一開始就先設定root的密碼 可新增其他使用者來連結資料庫

更新連線資料庫的帳號密碼 新增密碼後, 要重新連進phpMyAdmin介面必須要更改設定檔, 將密碼更新 更改Program Files\EasyPHP5.3.0\phpmyadmin下的config.inc.php 將密碼填入$cfg['Servers'][$i]['password']

建立資料庫 在資料庫和資料表等命名請用英文

建立資料表 建立資料表

如果是Primary key的欄位是文字, 請型態要選擇VarChar, 並且要給它長度的限制值 建立資料表的欄位 如果是Primary key的欄位是文字, 請型態要選擇VarChar, 並且要給它長度的限制值

建立好的資料表

在Designer部分, 可將資料表間建立關聯 建立資料表的關聯性 在Designer部分, 可將資料表間建立關聯

建立完資料表後, 將資料庫的內容填入各個資料表 填入資料 建立完資料表後, 將資料庫的內容填入各個資料表 資料填寫處

選擇完欲查詢欄位後, 點選更新語法, 可得到SQL程式 和Access的查詢介面相像 選擇完欲查詢欄位後, 點選更新語法, 可得到SQL程式

PHP連結資料庫 假設有一個資料庫存著書籍的資料表(如下表所示), 如何寫一個php程式連結資料庫來讀取書籍資料表? PHP和MySQL相關的函式庫 存取書籍資料表的範例程式 轉換成HTML格式

範例: 網路書店 在server端有一個bookstore.html的網頁, 可用來查詢自己的訂單 處理資料庫的php原始碼 若輸入Peh, 則得到的結果如下

資料庫部分

今日練習 預設披薩店裡的庫存量是每種披薩各10個 計算出客戶點的披薩總共要多少錢 (基本題) 建立披薩的資料庫, 如果已經沒有足夠的披薩, 必須跟客戶說材料不足, 無法供應 (50% bonus)