Thứ Ba, 13 tháng 8, 2013

Bài tập học php cơ bản - Bài 4: Viết ứng dụng thêm thành viên bằng PHP và MYSQL

Viết ứng dụng thêm thành viên bằng PHP và MYSQL


Ở bài tập trước, trong hương trình học php cơ bản ,chúng ta đã học đã xây dựng ứng dụng thành viên. Cho phép người sử dụng thực thi công việc đăng nhập vào hệ thống website

Trong bài này chúng ta sẽ tiếp tục công việc phát triển ứng dụng cơ bản trên, để người sử dụng sau khi đăng nhập có những thao tác đặc quyền như thêm, quản lý, sửa, xoá thành viên của trang web.

Sau khi đăng nhập vào trang admin người dùng sẽ được đẩy sang trang quản lý admin, tại đây chỉ những ai đã đăng nhập đúng với username và password trong cơ sở dữ liệu và có quyền hạn level là 2 thì mới có thể truy xuất vào trang này. Vì vậy chúng ta cần thao tác kiểm tra session để quản lý phiên làm việc của người sử dụng. Đặt đoạn code sau ở những trang bạn muốn kiểm tra quyền truy cập của người sử dụng.
01<?php
02session_start();
03if(isset($_SESSION['userid']) && $_SESSION['level'] == 2)
04{
05 // tại đây thực thi các hoạt động khi đăng nhập thành công.
06}
07else
08{
09 header("location: login.php");
10 exit();
11}
12?>
Như vậy, ta tạo trang add_user.php và đặt đoạn code trên, đồng thời viết thêm 1 form thực thi công việc thêm thành viên.



01<form action='add_user.php' method='POST'>
02Level: <select name='level'>
03<option value='1'>Member</option>
04<option value='2'>Admin </option>
05</select><br />
06Username: <input type='text' name='username' size='25' /><br />
07Password: <input type='password' name='password' size='25' /> <br />
08Re-Password: <input type='password' name='re-password' size='25' /><br />
09<input type='submit' name='adduser' value='Add New User' />
10</form>
Tương tự như những bài tập trước, chúng ta cũng lần lượt kiểm tra từng đối tượng. Trước hết cần xem thử người dùng đã nhấn nút Add New user chưa ?, sau đó lại khai báo 2 biến $u và $p, mặc định ban đầu ta cho 2 biến này là rỗng. Kế tới ta kiểm tra xem người dùng đã nhập đầy đủ thông tin chưa. Cuối cùng là so sánh giữa password và re-password có giống nhau hay không. Tiếp theo chúng ta gán biến $l sẽ bằng với giá trị mà khi người dụng chọn level cho user đó. (xem lại hoc-php-co-ban-bai-1-huong-dan-tao.html
01<?php
02if(isset($_POST['adduser']))
03{
04$u=$p="";
05 if($_POST['username'] == NULL)
06 {
07  echo "Vui long nhap username<br />";
08 }
09 else
10 {
11  $u=$_POST['username'];
12 }
13 if($_POST['password'] != $_POST['re-password'])
14 {
15  echo "Password va re-password khong chinh xac<br />";
16 }
17 else
18 {
19  if($_POST['password'] == NULL )
20  {
21   echo "Vui long nhap password<br />";
22  }
23  else
24  {
25   $p=$_POST['password'];
26  }
27 }
28 $l=$_POST['level'];
29}
30?>
Kế đến chúng ta lại tiếp tục kiểm tra xem có tồn tại biến $u, $p và $l hay không (chỉ khi người dùng nhập liệu thì mới tồn tại cùng lúc 3 biến này). sau khi đã kiểm tra sự tồn tại của 3 biến này chúng ta tiếp tục dùng PHP kết nối cơ sở dữ liệu để kiểm tra xem username mà người dùng vừa chọn có trùng với username khác trong cơ sở dữ liệu chưa. nếu trùng thì phải xuất thông báo lỗi yêu cầu họ chọn username khác còn nếu không thì ta lại tiến hành thêm thành viên mới này vào CSDL.
01<?php
02if($u & $p & $l)
03{
04 $conn=mysql_connect("localhost","root","root") or die("can't connect this database");
05 mysql_select_db("project",$conn);
06 $sql="select * from user where username='".$u."'";
07 $query=mysql_query($sql);
08 if(mysql_num_rows($query) != "" )
09 {
10  echo "Username nay da ton tai roi<br />";
11 }
12 else
13 {
14  $sql2="insert into user(username,password,level) values('".$u."','".$p."','".$l."')";
15  $query2=mysql_query($sql2);
16  echo "Da them thanh vien moi thanh cong";
17 }
18}
19?>
Tới đây ta đã kết thúc thao tác thêm một thành viên mới vào cơ sở dữ liệu. Sau đây là toàn bộ code trong ứng dụng này.
01<?php
02session_start();
03if(isset($_SESSION['userid']) && $_SESSION['level'] == 2)
04{
05 if(isset($_POST['adduser']))
06 {
07$u = $p ="";
08  if($_POST['username'] == NULL)
09  {
10   echo "Vui long nhap username<br />";
11  }
12  else
13  {
14   $u=$_POST['username'];
15  }
16  if($_POST['password'] != $_POST['re-password'])
17  {
18   echo "Password va re-password khong chinh xac<br />";
19  }
20  else
21  {
22   if($_POST['password'] == NULL)
23   {
24    echo "Vui long nhap password<br />";
25   }
26   else
27   {
28    $p=$_POST['password'];
29   }
30  }
31  $l=$_POST['level'];
32  if($u & $p & $l)
33  {
34   $conn=mysql_connect("localhost","root","root") or die("can't connect this database");
35   mysql_select_db("project",$conn);
36   $sql="select * from user where username='".$u."'";
37   $query=mysql_query($sql);
38   if(mysql_num_rows($query) != "" )
39   {
40    echo "Username nay da ton tai roi<br />";
41   }
42   else
43   {
44    $sql2="insert into user(username,password,level) values('".$u."','".$p."','".$l."')";
45    $query2=mysql_query($sql2);
46    echo "Da them thanh vien moi thanh cong";
47   }
48  }
49 }
50}
51?>
52<form action='add_user.php' method='POST'>
53Level: <select name='level'>
54<option value='1'>Member</option>
55<option value='2'>Admin </option>
56</select><br />
57Username: <input type='text' name='username' size='25' /><br />
58Password: <input type='password' name='password' size='25' /> <br />
59Re-Password: <input type='password' name='re-password' size='25' /><br />
60<input type='submit' name='adduser' value='Add New User' />
61</form>
62<?php
63}
64else
65{
66 header("location: login.php");
67 exit();
68}
69?>
Các bạn có thể học hỏi thêm và tham khảo ở trang chủ chia sẻ kiến thức php cơ bản : http://daotaolaptrinh.edu.vn/tai-lieu-php.html
Ở bài tập sau, blog bài tập học php cơ bản lại tiếp tục tìm hiểu ứng dụng kết hợp PHP và MYSQL cho việc quản lý tất cả thành viên trong database ra như thế nào .

Chủ Nhật, 11 tháng 8, 2013

Học php cơ bản - Bài 2 : Phép toán trong PHP

Đối với việc học lập trình PHP, toán tử và biểu thức luôn là những vấn đề cơ bản được sử dụng để xử lý các thao tác trong giai đoạn lập trình. Và bản chất PHP cũng vậy, chúng vẫn có những kiến trúc cơ bản như những ngôn ngữ lập trình thông thường.  

Ở bài này chúng ta sẽ cùng học về danh sách các phép toán , biểu thức trong PHP. Các phép toán tử toán học trong PHP.

Các phép toán tử cơ bản trong php

 


Toán tử toán học là dạng phép tính đơn giản cộng, trừ, nhân, chia trong số học. Ngoài ra còn có phép chia lấy dư (%). Được sử dụng để lấy ra đơn vị dư của 1 phép toán.

+ : phép cộng 
- : phép trừ 
* : phép nhân 
/ : phép chia 
% : phép chia lấy phần dư (ví dụ:  5%2 = 1) 
++: tăng một đơn vị (ví dụ: <? $a=5; $a++; print $a; //kết quả: 6 ?>)
--: giảm một đơn vị 

Các phép gán:

phép gán  Ví dụ  Kết quả 
=           x=y  x = y 
+=        x +=y  x = x+y 
-=        x -=y  x = x-y 
*=        x *=y  x = x*y 
/=        x /=y  x = x/y 
%=        x %=y  x = x%y 

Phép toán so sánh trong php : là toán tử được sử dụng để thực hiện các phép toán so sánh giữa hai số hạng.

phép toán    ý nghĩa            ví dụ       kết quả trả về 
==          so sanh bằng        3==9        false 
!=          so sanh khác        3!=9        true 
>=          lớn hơn hoặc bằng   9>=3        true 
<=          nhỏ hơn hoặc bằng   9<=3        false 
>           so sánh lớn hơn     9>3         true 
<          so sánh nhỏ hơn      9<3         false 

Toán tử logic: là các tổ hợp các giá trị boolean.

Ví dụ: toán tử phải là true.

Toán tử  Phép toán    ý nghĩa 
&&          and        a&&b : true nếu a và b đều đúng và false nếu a sai hoặc b sai 
||          or         a||b : true nếu a đúng hoặc b đúng và false nếu a và b đều sai 
!           not          !a : true nếu a sai và false nếu a đúng 
 
Kết thúc bài học này, các bạn mới học về căn bản cũng biết ít nhiều về các phép toán , thuộc tính cơ bản trong PHP, ngoài ra các bạn cũng từng bước hình dung được cú pháp của từng biểu thức trong php.