Tất cả các biến đều được chỉ định kiểu dữ liệu, và như chúng ta đã nói ở trên, giá trị của chúng có thể bị thay đổi trong quá trình sử dụng.. o Kiểu String được sử dụng để chứa các dữ li
Trang 1 Mỗi câu lệnh trong php được kết thúc bằng dấu (;) Dấu này là một toán tử dùng
để phân biệt các cấu trúc với nhau
Trang 3KiỂU DỮ LiỆU CƠ BẢN, HẰNG, BiẾN TRONG PHP
1 Biến trong PHP
PHP quy định bất kỳ từ nào có dấu $ ở trước đều là tên của biến Ví dụ: $a
Tên biến là một chuỗi các ký tự chỉ bao gồm các chữ số, chữ cái (a z) và dấu gạch
dưới ( _ ) Và PHP quy định phân biệt các biến chữ hoa và chữ thường là khác nhau, ví dụ $ab và $Ab là 2 biến hoàn toàn khác nhau.
PHP tự động khởi gán giá trị của các biến này là rỗng (đối với kiểu dữ liệu văn bản) hoặc 0 (đối với kiểu dữ liệu số)
Để gán giá trị cho các biến, bạn sử dụng câu lệnh gán như sau:
$tên_biến = giá trị cần gán;
Ví dụ:
$Nam_sinh=1980;
$ho_ten=“Thuận";
Trang 4KiỂU DỮ LiỆU CƠ BẢN, HẰNG, BiẾN TRONG PHP
2 Các kiểu dữ liệu trong PHP
PHP có 3 kiểu dữ liệu cơ bản: Integer, double và string Tất cả các biến đều được chỉ định kiểu dữ liệu, và như chúng ta đã nói ở trên, giá trị của chúng có thể bị thay đổi trong quá trình sử dụng
o Kiểu giá trị Integer sử dụng 4 byte của bộ nhớ và có giá trị nằm trong khoảng
từ -2 tỷ đến 2 tỷ
o Kiểu dữ liệu double là kiểu dữ liệu số thực, cho phép chứa các số thực
o Kiểu String được sử dụng để chứa các dữ liệu như là các ký tự văn bản, ký tự đặc biệt và các chữ số Dữ liệu kiểu string được đặt trong cặp dấu ngoặc kép
“ " chỉ định một xâu (hay còn gọi là chuỗi ký tự)
Trang 5KiỂU DỮ LiỆU CƠ BẢN, HẰNG, BiẾN TRONG PHP
3 Định nghĩa hằng
Hàm define() được sử dụng để tạo một hằng số Hàm này có cấu trúc sau:
define ("tên_hằng","giá trị của hằng");
Ví dụ:
define ("PI", "3.14");
<?php define("PI",3.1423);
$r = 10;
echo "Diện tích" 2*PI*$r*$r;
?>
Trang 6KiỂU DỮ LiỆU CƠ BẢN, HẰNG, BiẾN TRONG PHP
5 Phạm vi của biến
Nếu biến được khai báo trong Script thì có phạm vi trong toàn Script
Nếu biến được khai báo trong một hàm nào đó thì chỉ có tác dụng trong hàm đó
6 Kiểm tra/ loại bỏ biến:
Sử dụng hàm isset(Tên_biến) để kiểm tra biến đó có tồn tại hay không? Kết quả trae về kiểu boolean
Sử dụng hàm is_numeric(Tên_biến) để kiểm tra biến có phải là kiểu số hay
không
Sử dụng hàm is_string(Tên_biến) để kiểm tra biến có phải là kiểu số hay không
Trang 9CÁC PHÉP TOÁN TRONG PHP
4 Các phép toán tự tăng giảm
5 Phép toán về chuỗi
Để tăng (hoặc giảm) giá trị của một biến lên (xuống) một đơn vị có thể sử dụng
phép toán tự tăng ++ và tự giảm
-Có hai cách viết phép toán tự tăng giảm:
o ++&Tên_biến (hoặc $Tên_biến)
o &Tên_biến++ (hoặc $Tên_biến )
Lưu ý: cần phân biệt hai cách viết trên
Phép cộng chuỗi: Để cộng (ghép) hai chuỗi lại với nhau ta sử dụng dấu chấm (.)
Trang 11CẤU TRÚC ĐIỀU KHIỂN
1 Cấu trúc rẽ nhánh
Cấu trúc if:
Cú pháp: if (điều kiện) câu lệnh php;
Cấu trúc if … else:
Cú pháp: if (điều kiện) công việc 1;
else công việc 2;
Cấu trúc if lồng nhau
Cú pháp: if (điều kiện 1) công việc 1;
elseif(điều kiện 2) công việc 2;
else công việc 3;
Lưu ý:
Trang 12CẤU TRÚC ĐIỀU KHIỂN
//cấu trúc if… else…
$h=1;
if ($h > 0) echo (" h là số dương");
elseif($h<0) echo "$h là số âm";
else echo "$h là số không“;
Trang 13CẤU TRÚC ĐIỀU KHIỂN
1 Cấu trúc rẽ nhánh
Cấu trúc switch: sử dụng khi có nhiều sự lựa chọn
Cú pháp:
switch (n) {
case <giá trị 1>: Câu lệnh 1; break;
case <giá trị 2>: Câu lệnh 2; break;
… case <giá trị n>: Câu lệnh n; break;
default: Câu lệnh mặc định;
}
Trang 14CẤU TRÚC ĐIỀU KHIỂN
Trang 15CẤU TRÚC ĐIỀU KHIỂN
Trang 16CẤU TRÚC ĐIỀU KHIỂN
}
Trang 17TRUY CẬP ĐẾN FORM
1 Đặt điểm của Form
Trang 18TRUY CẬP ĐẾN FORM
1 Đặt điểm của Form
o name: tên form
o action: hành động
o method: phương thức
Ví dụ khi muốn lấy giá trị từ Form đưa về trang xuly.php thì tại thuộc tính action
nhập vào đường dẫn đến trang đó:
<form action = "xuly.php" method ="POST" name="form1">
………
</form>
Trang 19TRUY CẬP ĐẾN FORM
Để lấy giá trị từ các phần tử form ta sử dụng các hàm $_GET hoặc $_POST
2 Hàm $_GET
Là hàm xây dựng sẵn dùng để lấy các giá trị từ form có sử dụng method = GET
Thông tin khi truyền đi với phương thức GET sẽ được hiển thị trên Browser’s
address bar Mọi người có thể nhìn thấy thông tin và số ký tự tối đa là 100
Cú pháp lấy giá trị từ các phần tử form
$_GET[“Tên phần tử form”]
3 Hàm $_POST
Là hàm xây dựng sẵn dùng để lấy các giá trị từ form có sử dụng method = POST
Thông tin khi truyền đi với phương thức POST sẽ không được hiển thị trên Browser’s address bar
Trang 20KẾT NỐI CSDL MYSQL TRONG PHP
1 Tạo kết nối đến MySQL
$biến_kết_nối = mysql_connect(“máy_chủ”,“tên truy cập CSDL”,“mật_khẩu”)
or die(“Không kết nối được”);
Trong đó:
• Hàm die(“Chuỗi”): Đưa ra thông báo và kết thúc
• Với cách viết trên, die chỉ thực hiện khi lệnh trước nó không thành công
Trang 21KẾT NỐI CSDL MYSQL TRONG PHP
3 Xây dựng câu truy vấn và thực hiện câu truy vấn
$biến = mysql_query(“Lệnh SQL”) or die(“Không thực hiện được SQL”);
Ví dụ:
<?php
$sql= mysql_query(“select * from sinhvien”);
?>
Các hàm cần thiết sử dụng để truy cập dữ liệu:
Hàm mysql_num_rows(data): Số lượng bản ghi trong bảng dữ liệu
Hàm mysql_fetch_array(data, [array_type]): trả về bản ghi trong bảng dữ liêệu như là môệt mảng kết hợp với các côệt là khóa
Hàm mysql_affected_rows([connection]): trả về số bản ghi trong bảng bị
Trang 22mysql_connect("localhost", "root", "")or die("cannot connect");
mysql_select_db(“QLSV") or die("khong co");
$sql=mysql_query("select MaSV, HoTen from SINHVIEN");
if( mysql_num_rows($sql)<>0) {
while($row = mysql_fetch_object($sql) ) {
//Xuất thông tin $MaSV = $row->MaSV;
$HoTen = $row->Hoten;
echo "$ MaSV <br>";
echo $ HoTen;
} } else echo "Không có dữ liệu";
Trang 23KẾT NỐI CSDL MYSQL TRONG PHP
4 Chọn CSDL cần truy cập
Truy xuất dữ liệu trong bảng sinh viên
<?php
mysql_connect("localhost", "root", "")or die("cannot connect");
mysql_select_db(“QLSV") or die("khong co");
$sql=mysql_query("select MaSV, HoTen from SINHVIEN");
if( mysql_num_rows($sql)<>0) {
while($row =mysql_fetch_array ($sql) ) {
//Xuất thông tin $MaSV = $row[“MaSV”];
$HoTen = $row[“Hoten”];
echo "$ MaSV <br>";
echo $ HoTen;
}
Trang 24KẾT NỐI CSDL MYSQL TRONG PHP
5 Đóng kết nối
Hàm mysql_close($biến_kết_nối)
Ví dụ:
<?
$con=mysql_connect ("localhost", "root","123") die(“không kết nối được”);
mysql_select_db(“QLSV") or die("khong co");
//thực hiện các công việc
………
mysql_close($con);
?>
Trang 25KẾT NỐI CSDL MYSQL TRONG PHP
6 Thêm thông tin vào CSDL
Dùng hàm mysql_query(chuỗi cần chèn)
Ví dụ: Khi thêm thông tin vào trong bảng SINHVIEN gồm hai trường MaSV, TenSV
<?php
$con=mysql_connect("localhost", "root", "")or die("cannot connect");
mysql_select_db(“QLSV") or die("khong co");
$sql="insert into MaSV values(‘SV05’,‘Nguyễn Hằng Nga')";
$result = mysql_query($sql);
if (isset($result))
echo "da chen csdl" ;
?>
Trang 26KẾT NỐI CSDL MYSQL TRONG PHP
6 Thêm thông tin vào CSDL
Thông thường khi nhập thông tin vào CSDL, cần xây dựng một trang PHP dùng để
xác nhận lại các thông tin của người nhập trước đó Trường hợp lấy thông tin của
sinh viên mới vào bảng SINHVIEN Có thể xây dựng các trang để xử lý theo các
bước sau:
- Người dùng nhập thông tin và ấn vào nút Gửi thông tin!
- Trang xác nhận sẽ lấy các thuộc tính từ trang đăng ký bằng biến form hay thông qua phương thức $_POST
-Kiểm tra dữ liệu người dùng nhập vào đầy theo yêu cầu chưa nếu chưa thì thông báo cho người dùng nhập lại
- Sau khi mọi thông tin hợp lệ thông tin được lưu thì thông báo cho người dùng biết đã lưu thông tin
Trang lấy thông tin sinh viên như sau:
• Trước tiên cần chèn đoạn Javascript để kiểm tra dữ liệu nhập
Trang 27KẾT NỐI CSDL MYSQL TRONG PHP
6 Thêm thông tin vào CSDL
}
Trang 28KẾT NỐI CSDL MYSQL TRONG PHP
6 Thêm thông tin vào CSDL
Khai báo thể form và hai thẻ input dạng text yêu cầu người sử dụng nhập
MaSV và TenSV như sau:
<form name=“nhap" action="dangky.php" onsubmit="return CheckInput();"
method="post" >
Mã sinh viên: <input type="text" name="txtma" width="20" maxlength=“4" /><br>
Tên sinh viên:<input type="text" name="txtten" width="10" maxlength=“50" /><br>
<input type="submit" name="submit" value=“Gửi thông tin" />
<input type="reset" name="reset" value=“Hủy" />
</form>
Chú ý: khai báo số ký tự lớn nhất cho phép nhập vào bằng với kích thước đã khai
báo trong cơ sở dữ liệu ứng với thuộc tính maxlength
Trang 29KẾT NỐI CSDL MYSQL TRONG PHP
6 Thêm thông tin vào CSDL
Đoạn mã cập nhật thông tin vào CSDL
<?php
$con=mysql_connect("localhost", "root", "")or die("cannot connect");
mysql_select_db(“QLSV") or die("khong co");
Trang 30KẾT NỐI CSDL MYSQL TRONG PHP
7 Lấy thông tin từ CSDL lên trang web
Đoạn mã cập nhật thông tin vào CSDL
<?php
$con=mysql_connect("localhost", "root", "")or die("cannot connect");
mysql_select_db(“QLSV") or die("khong co");
Trang 31KẾT NỐI CSDL MYSQL TRONG PHP
8 Hiển thị thông tin và sửa thông tin
Đoạn mã hiển thị thông tin trong bảng
<td width="145">Mã sinh viên </td>
<td width="172">Tên sinh viên </td>
Trang 32KẾT NỐI CSDL MYSQL TRONG PHP
8 Hiển thị thông tin và sửa thông tin
Đoạn mã hiệu chỉnh dữ liệu trên trang web lưu vào CSDL
Trang 33KẾT NỐI CSDL MYSQL TRONG PHP
8 Hiển thị thông tin và sửa thông tin
Đoạn mã hiệu chỉnh dữ liệu trên trang web lưu vào CSDL
<form name="FInput" action="hieuchinh.php?masv=<?php echo $masv; ?>"
method="post" >
Mã sinh viên:
<input type="text" name="txtma" width="20" maxlength="50" value="<?php echo
$ma; ?>" /> <br>
Tên sinh viên:
<input type="text" name="txtten" width="50" maxlength="50" value="<?php echo
$ten; ?>" /> <br>
<input type="submit" name="submit" value="Dang ky" />
<input type="reset" name="reset" value="huy" />
</form>
Trang 34CÁC BiẾN ĐÃ ĐỊNH NGHĨA TRƯỚC HAY DÙNG
Biến mảng này chứa thông tin ngữ cảnh của đoạn mã đang chạy như là tên server,
tên file đang chạy, thông tin về kết nối,…
<?PHP
echo $_SERVER['HTTP_HOST'];
?>
Trang 35CÁC BiẾN ĐÃ ĐỊNH NGHĨA TRƯỚC HAY DÙNG
3 Biến $_SESSION
Giải quyết vấn đề này bằng cách cho phép lưu trữ dữ liệu của người dùng trên server
để sử dụng về sau ( như username, món hàng ) Tuy nhiên những thông tin session này chỉ là tạm thời và thường bị xoá đi ngay khi người dùng rời khỏi trang web đã dùng session
Việc đầu tiên trước khi bạn làm bất cứ việc gì với session là bạn phải chạy nó trước, và
nó được đặt ngay trên đầu trong code của bạn, trước khi HTML được xuất ra
<?php
session_start(); // dủng để đăng ký cho người dùng 1 session ở trên Server
?>
Lưu giá trị của session: Khi bạn muốn lưu trữ 1 thông tin nào đó ở session, được
dùng như 1 mảng kết hợp đó là nơi bạn lưu và lấy dữ liệu ra
<?php
session_start();
Trang 36CÁC BiẾN ĐÃ ĐỊNH NGHĨA TRƯỚC HAY DÙNG
3 Biến $_SESSION
Sử dụng SESSION: Khi bạn tạo 1 biến và lưu nó vào 1 session, bạn có lẽ muốn dùng
nó sau này, tuy nhiên, trước khi bạn dùng biến session đó, bạn nên kiểm tra nó đã dc khởi tạo hay chưa Thao tác này được thực hiện thông qua hàm isset để kiểm tra nó có được khởi tạo hay chưa
<?php
session_start();
if(isset($_SESSION['bien'])) $_SESSION['bien'] = $_SESSION['bien']+ 1;
else $_SESSION['bien'] = 1;
echo "giá trị biến = " $_SESSION['bien'];
?>
Trang 37CÁC BiẾN ĐÃ ĐỊNH NGHĨA TRƯỚC HAY DÙNG
4 Biến $_FILE
Biến được cung cấp bởi HTTP (HyperText Transfer Protocol ) post file uploads
Đoạn code hướng dẫn tạo trang upload file
Bước 1: Trước tiên các bạn tạo 1 trang form_upload.html
Bước 2: Tạo trang upload_file.php có nội dung code như sau
<?php
if ($_FILES["file"]["error"] > 0) {
echo "Error: " $_FILES["file"]["error"] "<br />";
} else {
echo "Upload: " $_FILES["file"]["name"] "<br />";
Trang 38CÁC BiẾN ĐÃ ĐỊNH NGHĨA TRƯỚC HAY DÙNG
4 Biến $_FILE
Biến được cung cấp bởi HTTP (HyperText Transfer Protocol ) post file uploads
Đoạn code hướng dẫn tạo trang upload file
Bước 3: Chúng ta tiến hành upload file lên server
if ($_FILES["file"]["error"] > 0)
{echo "Error: " $_FILES["file"]["error"] "<br />";
if ($_FILES["file"]["error"] > 0){
echo "Return Code: " $_FILES["file"]["error"] "<br />";
}else
Trang 39CÁC BiẾN ĐÃ ĐỊNH NGHĨA TRƯỚC HAY DÙNG