Ph n 2 php mysql
Download
1 / 43

Phần 2 : PHP & MySQL - PowerPoint PPT Presentation


  • 123 Views
  • Uploaded on

Phần 2 : PHP & MySQL. Nội dung. Form & Cơ chế truyền dữ liệu Kỹ thuật gửi tập tin Kết nối dữ liệu. Form và Form Field Cơ chế Truyền và Nhận dữ liệu giữa các trang web Truyền/Nhận qua Phương thức GET Truyền/Nhận qua Phương thức POST Một số ví dụ. Nội dung 5.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Phần 2 : PHP & MySQL' - asis


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Ph n 2 php mysql

Phần2 : PHP & MySQL


N i dung
Nội dung

  • Form & Cơchếtruyềndữliệu

  • Kỹthuậtgửitập tin

  • Kếtnốidữliệu


Form c ch truy n d li u

Form và Form Field

Cơ chế Truyền và Nhận dữ liệu giữa các trang web

Truyền/Nhận qua Phương thức GET

Truyền/Nhận qua Phương thức POST

Một số ví dụ

Nội dung 5

Form & cơchếtruYềndữliệu


Form form field

Nội dung 5.1

Form & form field


Form v form field
Form và Form Field

  • Là container chứa các thành phần nhập liệu khác.

<FORM NAME=“…” ACTION=“…” METHOD=“…”>

<!-- các thành phần của Form -->

</FORM>

  • Các thuộc tính của <FORM>

    • NAME: tên FORM

    • ACTION: chỉ định trang web nhận xử lý dữ liệu từ FORM này khi có sự kiện click của button SUBMIT.

    • METHOD: Xác định phương thức chuyển dữ liệu (POST,GET)


C c th nh ph n c a form
Các thành phần của Form

  • Gồm các loại Form Field sau:

    • Text field

    • Password field

    • Hidden Text field

    • Check box

    • Radio button

    • File Form Control

    • Submit Button, Reset Button, Generalized Button

    • Multiple-line text field

    • Label

    • Pull-down menu

    • Scrolled list

    • Field Set


Th input
Thẻ <input>

<INPUTTYPE= “KiểuLoại”NAME= stringVALUE= string …………>

  • Type:

    • text / password/ radio/ checkbox

    • hidden

    • submit / button


Th select
Thẻ <select>

<SELECT name=“??” multiple>

<optgrouplabel=“string”>

<option value=“”> XYZ </option>

<option value=“” selected> 123</option>

</optgroup>

……</SELECT>

  • Type:

    • Combobox

    • Listbox


C ch truy n nh n d li u

Nội dung 5.2

Cơ chế truyền nhận dữ liệu



C ch truy n nh n d li u2
Cơ chế truyền nhận dữ liệu

  • Trang web nhập dữ liệu :

    • Sử dụng đối tượng <form>

    • Nhập liệu thông qua các formfield

    • Thực hiện việc truyền dữ liệu thông qua Submit

  • <FORM ACTION=“URL”METHOD=“GET/POST”>

  • <input type=“submit” value=“Xử lý”>

  • </FORM>

  • Trang web nhận dữ liệu (URL): Sử dụng các biến toàn cục của PHP

    • $_POST[“FieldName”]

    • $_GET[“FieldName”]

    • $_REQUEST[“FieldName”]


C ch truy n nh n d li u trang web nh p li u
Cơ chế truyền nhận dữ liệu – Trang web nhập liệu

timSach.php

<html>

<body>

<h1>Tìm sách</h1>

<formaction="xlTimSach.php" Method="GET" >

Từ khóa : <input type="text" name="txtTukhoa"/>

<inputtype="submit" value="Tìm"/>

</form>

</body>

</html>


C ch truy n nh n d li u trang web nh p li u1
Cơ chế truyền nhận dữ liệu – Trang web nhập liệu

xltimSach.php

<html>

<body>

<?php

$sTukhoa = $_REQUEST["txtTukhoa"];

?>

<h1>Tìm sách</h1>

Từ khóa tìm sách là : <?php echo $sTukhoa; ?>

<br />

Kết quả tìm là :

</body>

</html>


C ch truy n nh n d li u trang web nh p li u2
Cơ chế truyền nhận dữ liệu – Trang web nhập liệu

xuly.php

<html>

<body>

<form action="xuly.php" Method="GET" >

Từ khóa : <input type="text" name="txtTukhoa"/>

<input type="submit" value="Tìm"/>

</form>

<?php

$sTukhoa = $_REQUEST["txtTukhoa"];

if (isset($sTukhoa))

{

print "Từ khóa tìm sách là : $sTukhoa";

echo "<br>Kết quả tìm là : ";

}

?>

</body>

</html>


Truy n nh n qua ph ng th c get
Truyền/Nhận qua Phương thức GET liệu

  • Tham số truyền đi qua địa chỉ URL

    • http://domain/pathfile?fieldname1=value1&fieldname2=value2

    • Ví dụ:

      • http://localhost/xuly.php?txtTukhoa=PHPHost

  • Nhận dữ liệu thông qua biến toàn cục của PHP

    • $_GET[“FieldName”]

    • $_REQUEST[“FieldName”]


Ph ng th c get u khuy t i m
Phương thức GET – Ưu khuyết điểm liệu

  • Khuyết điểm

    • Không thích hợp để truyền dữ liệu có tính bảo mật (password)

    • Dung lượng Dữ liệu truyền đi có giới hạn

    • URL submit bằng phương thức GET được lưu lại trên server

  • Ưu điểm

    • Người dùng có thể bookmark địa chỉ URL

    • Người dùng có thể Giả lập phương thức GET để truyền dữ liệu mà không cần thông qua FORM


Ví dụ liệu

File: GET.HTM

<HTML>

<HEAD>

<TITLE>Input data</TITLE>

</HEAD>

<BODY>

<IMG SRC=“images/N72.jpg”><br>

<A HREF=‘chitiet.php?Ma=N72’>Xem chi tiết</A>

</BODY>

</HTML>


V d tt
Ví dụ (tt) liệu

File: CHITIET.PHP

<HTML>

<HEAD>

<TITLE>Input data</TITLE>

</HEAD>

<BODY>

<?php

echo "Ma dien thoai la " . $_GET["Ma"];

?>

</BODY>

</HTML>


Truy n nh n qua ph ng th c post
Truyền/Nhận qua Phương thức POST liệu

  • Tham số truyền đi được ẩn bên trong FORM

  • Nhận dữ liệu thông qua biến toàn cục của PHP

    • $_POST[“FieldName”]

    • $_REQUEST[“FieldName”]


Ph ng th c post u khuy t i m
Phương thức POST – Ưu khuyết điểm liệu

  • Ưu điểm

    • Bảo mật hơn phương thức GET

    • Không giới hạn dung lượng dữ liệu truyền đi

  • Khuyết điểm

    • Kết quả trang web trả về không thể bookmark

    • Có thể gây ra lỗi nếu người dùng muốn quay lại trang kết quả (nhấn nút Back hoặc Refresh) do bị expired

    • Dữ liệu có thể không truyền đi được do vấn đề về security


K thu t g i t p tin

Cơ chế Upload File liệu

Thiết kế Form để Upload tập tin

Mảng $_FILES và xử lý tập tin upload trên server

Vấn đề quyền truy cập tập tin trên server

Nội dung 6

Kỹ thuật gửi tập tin


C ch upload file
Cơ chế Upload File liệu

Internet or Intranet

Yêu cầu gọi trangxlupload.php

Webserver

file

Website

ABC

PHP Temp

Di chuyển / Sao chép

Diskdriver


Thi t k form upload file
Thiết kế Form để Upload File liệu

  • Thiết lập thuộc tính Form

    • Method = POST

    • Enctype = multipart/form-data

uploadForm.php


M ng files
Mảng $_FILES liệu

  • Là một mảng 2 chiều, chứa tập hợp các thông tin liên quan đến các tập tin được upload lên web-server trong một lần gọi dịch vụ web.

fileAssigment1

fileAssigment2

fileAssigment3

fileAssigment4

fileAssigment5

$_FILES[……]


M ng files1
Mảng $_ liệuFILES

$_FILES[……]

Lỗi phát sinh khi truyền tập tin lên server

VD: 0, 1, 2

Tên file và phần mở rộng của file

VD: 9912001.png

Kích thước của file (tính theo Byte)

VD: 4500

Đường dẫn lưu tạm tập tin upload trên server

VD: c:\xamp\tmp\phpA897x0.tmp

Kiểu của file theo chuẩn MINE

VD: image/png


X l t p tin upload tr n server
Xử lý tập tin upload trên server liệu

  • Sau khi tập tin đã được truyền xong cho server :

    • Kiểm tra lỗi

    • Kiểm tra ràng buộc (kích thước, kiểu tập tin)

    • Đặt tên mới cho tập tin (nếu cần)

    • Sao chép / di chuyển tập tin về thư mục Website

  • Một số hàm

booleanis_uploaded_file(string filePathname)

booleancopy(string filePathname, stringdest)

booleanmove_uploaded_file(string filePathname, stringdest)


uploadForm.php liệu

uploadManager.php


V n v quy n truy c p file
Vấn đề về quyền truy cập File liệu

Cấp quyền cho thư mục /upload

PHP Warning: move_uploaded_file(upload/14.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in.

Account

IUSR_XXX

  • Lưu ý :

  • Chỉ cấp quyền ghi cho thư mục cần thiết

  • Không cấp quyền ghi cho thư mục WebRoot


K t n i d li u mysql

Nội dung 7 liệu

Kết nối dữ liệu Mysql


C c b c thao t c csdl trong php
Các bước thao tác CSDL trong PHP liệu

  • Kết nối với CSDL

  • Xây dựng câu truy vấn dữ liệu

  • Thực thi câu truy vấn

  • Xử lí kết quả trả về từ câu truy vấn SELECT

  • Ngắt kết nối với CSDL


1 t o k t n i csdl
1. Tạo Kết nối CSDL liệu

  • Kết nối MySQL và Chọn CSDL

    resourcemysql_connect(stringhost, stringLoginName, stringpassword)

    intmysql_select_db(stringdbName, resourceconnection)

Connection

Application

Database

<?php

$connection = mysql_connect(“localhost",“root”,“root");

mysql_select_db(“TestDB", $connection);

?>


2 x y d ng c u truy v n tt
2. Xây dựng câu truy vấn (tt) liệu

$sUserName = “admin”;

$sPassword = “123”;

 $strSQL ?


SELECT liệu[Liệt kê thuộc tính]

FROM [Danh sách các bảng]

WHERE [ĐK Kết+lọc]

Group by [Thuộc tính Gom nhóm]

Order by [Thuộc tính sắp thứ tự]

HAVING [ĐK trên nhóm]


3 th c thi c u truy v n
3. Thực thi câu truy vấn liệu

011010011

011010011

Connection

resourcemysql_query(stringSQL_cmd, resourceconnection)

Application

Database

Query

<?php

$strSQL = “INSERT INTO Users (UserName, Password) VALUES (‘admin',‘123‘)”;

mysql_query($strSQL);

?>

Insert

Delete

Update

<?php

$strSQL = “SELECT * FROM Users”;

$result=mysql_query($strSQL);

?>

Select


4 x l k t qu tr v

Hiển thị dữ liệu trả về liệu

Sử dụng hàm

$row = mysql_fetch_array($result)

Số lượng FIELD

$num = mysql_num_fields($result);

Truy cập đến từng FIELD

echo $row[“UserName”];

Hoặc

echo $row[0];

cursor

4. Xử lý kết quả trả về

Ví dụ:

CSDL BookstoreDB – Bảng T_Users

Xuất records từ CSDL ra trang HTML


5 ng t k t n i d li u
5. Ngắt kết nối dữ liệu liệu

boolmysql_close(resource connection) ;

Tự động thực thi khi kết thúc mã lệnh nhờ cơ chế tự động thu rác (garbage collector) – PHP4,5


M t s v n mysql font unicode
Một số vấn đề - MySQL & Font Unicode liệu

  • Font UNICODE

Encode

Decode

<?php

mysql_query(“set names ‘utf-8’”);

?>


Ph n trang d li u

rowsPerPage liệu

Phân trang dữ liệu

offset

numRows

maxPage

pageNum


Ph n trang d li u1
Phân trang dữ liệu liệu

  • Trường hợp dữ liệu lấy về có quá nhiều mẫu tin (hiển thị bảng quá dài)

  • Chia dữ liệu hiển thị trên nhiều trang

    • Tổng số kết quả trả về:$numRows

    • Số kết quả hiển thị trên 1 trang:$rowsPerPage

    • Tổng số trang hiển thị: $maxPage

      $maxPage = ceil($numRows / $rowsPerPage);

    • Số thứ tự trang hiển thị:$pageNum = 1,2,…

    • Chỉ số kết quả bắt đầu trong trang thứ $pageNum:

      $offset = ($pageNum - 1) * $rowsPerPage;


Ph n trang d li u tt
Phân trang dữ liệu (tt) liệu

  • Các bước thực hiện phân trang

    • Tính các thông số phân trang ($rowsPerPage, $pageNum, $offset)

    • Lấy thông tin cần hiển thị ($numRows)

    • Hiển thị thông tin của trang hiện tại ($offset, $rowsPerPage)

    • Tạo liên kết chỉ đến các trang ($maxPage $pageNum)

    • Xem Ví dụ

(1) Select * From T_Book

(2) Select * From T_Book LIMIT $offset, $rowsPerPage


ad