Khóa học

Thứ Tư, 2 tháng 10, 2013

Toàn tập PHP dành cho người mới bắt đầu

Toàn tập PHP dành cho người mới bắt đầu

Rảnh rỗi online kiếm giáo trình để tự học PHP và kiếm đc tài liệu này từ HCE nên copy luôn lên Blog tiện thể vừa học vừa share cho những ai cần tìm hiểu về ngôn ngữ PHP. 1. Cú pháp khi sử dụng PHP. Để viết code PHP trước tiên bạn cần xác định nơi viết mã PHP. Toàn bộ code PHP được đặt trong cặp: Code:
<?php
        //code php
    ?>
hoặc:
Code:
<?= //code php ?>
2. PHP Echo + print Hướng dẫn sử dụng echo() và print() trong PHP Để in ra một dòng văn bản hay giá trị của một biến... chúng ta dùng đến echo hoặc print. Code:
<?php
        echo "Dòng 1 với echo và một dấu xuống dòng 
";
        print "Dòng 2 với print";
    ?>
Ở ví dụ trên, ký tự xuống dòng chính là thẻ . Mặc dù thẻ này đặt trong dấu nháy nhưng php vẫn hiểu và dịch nó thành ký tự xuống dòng. Để in ra một chuỗi ký tự thì chuỗi ký tự đó phải nằm trong dấu nháy kép (" "). 3. Chú thích với PHP Mỗi ngôn ngữ lập trình đều có những cách chú thích khác nhau. Chú thích giúp người lập trình dễ dàng hiểu được code khi đọc. PHP có 2 cách chú thích. Code:
<?php
        echo "Một dòng văn bản";
        // Kiểu chú thích một
        /*
            Kiểu chú thích 2
            Kiểu chú thích 2
        */
    ?>
4. Biến trong PHP PHP rất mạnh mẽ trong việc sử dụng và khai báo biến. Đặc biệt PHP tự xác định kiểu dữ liệu của biến dựa vào giá trị đi kèm theo biến. Kiểu của biến trong PHP có thể là kiểu chuỗi, số, mảng. Một biến bắt đầu bằng ký tự $. Cú pháp khai báo biến. Code:
<?php
        $ten_bien=value;
    ?>
Trong đó: Value: Giá trị của biến. Giá trị này có thể là một Chuỗi, số, mảng. Nếu giá trị là chuỗi thì cần đặt trong dấu nháy kép hoặc nháy đơn. Ví dụ: Code:
<?php
        $name="Mai Trang"; // Biến kiểu chuỗi. Giá trị là: "Mai Trang" được đặt trong dấu nháy kép.
        $diem=10; //Biến kiểu số. Giá trị là 10.
    ?>
5. Nối chuỗi Nối chuỗi trong PHP cũng như các như các ngôn ngữ khác, có tác dụng ghép nhiều chuỗi, giá trị... với nhau. PHP sử dụng dấu chấm (.) để thực hiện nối chuỗi. Cú pháp: Code:
<?php
    $txt1="Hello World";
    $txt2="1234";
    echo $txt1 . " " . $txt2;
?>
Kết quả: Hello World 1234 Đoạn code trên thực hiện nối giá trị của 2 biến $txt1 và $txt2 với nhau. Giữa giá trị của 2 biến được nối thêm với dấu cách trống. 6. IF....ELSE IF..ELSE cho phép bạn điều khiển các dòng code thực hiện theo đúng kịch bản hay lịch trình. Ngoài ra, bạn có thể nhóm chúng thành các điều kiện, sử dụng cấu trúc lặp để lặp đi lặp lại thực hiện đó theo giới hạn nào đó. Câu lệnh IF với một điều kiện, nếu điều kiện là true thì khối lệnh trong phát biểu if sẽ thực hiện, trong đó điều kiện được khai báo trong cặp dấu (). 7. Switch Hướng dẫn sử dụng Switch trong php. Switch được dùng khi có nhiều hơn 2 lựa chọn cụ thể cho phép quyết định thực hiện một đoạn lệnh. Cú pháp: Code:
<?php
    switch (bieu_thuc_can_xet)
    {
        case gia_tri1:
          //thực hiện câu lệnh khi bieu_thuc_can_xet có giá trị là: gia_tri1
          break;// dừng lại
        case gia_tri2:
          //thực hiện câu lệnh khi bieu_thuc_can_xet có giá trị là: gia_tri2
          break; //dừng lại
        default: // Trường hợp bieu_thuc_can_xet  không thỏa mãn biểu thức trong case thì thực hiện câu lệnh ở defaule
            // thực hiện câu lệnh.
            //Không cần dùng break;
    }
?>
Ví dụ: Code:
<?php
    $a=20;
    switch ($a)
    {
        case 10:
          echo "Giá trị của a là: 10";
          break;
        case 20:
          echo "Giá trị của a là: 20";
          break;
        case 30:
          echo "Giá trị của a là: 30";
          break;
        default:
          echo "Giá trị của a khác 10, 20, 30";
    }
?>
Đoạn lệnh trên in ra dòng chữ: "Giá trị của a là: 20". 8. Arrays (Mảng 1 chiều) Hướng dẫn tạo và làm việc với mảng 1 chiều. Mảng là biến dữ liệu lưu trữ tập hợp dữ liệu gồm nhiều phần tử, mỗi phần tử chứa một giá trị như: text, number hay một mảng khác. Mỗi phần tử trong mảng đều có một chỉ mục chính và vị trí của phần tử đó trong mảng. Phần tử đầu tiên trong mảng có chỉ mục = 0. Bạn có thể duyệt trên từng phần tử mảng bằng các vòng lặp. Có nhiều cách để khai báo mảng trong PHP. Cú pháp khai báo mảng: (01) Code:
$names = array("Hack","Crack","Enjoin");
Cú pháp khai báo mảng: (02)
Code:
<?php
    $names[0] = "Hack";
    $names[1] = "Crack";
    $names[2] = "Enjoin";
?>
Tuy nhiên bạn cũng có thể sử dụng hàm range để khởi tạo mảng với số phần tử được khai báo như sau: Code:
$number=range(1,20);
Gán giá trị vào phần tử của mảng: Trong trường hợp bạn muốn gán từng giá trị cho mỗi phương thức mảng, bạn có thể sử dụng cách khai báo như sau: Code:
<?php
    $Items=array(2);
    $Items[0]=1;
    $Items[1]=2;
    echo $Items[0]." - ".$Items[1];   
?>
Một cách khác làm việc với mảng. Chúng ta có thể sử dụng đến các Key và Value của mảng. Ví dụ: Trong ví dụ này chúng tôi sẽ gán các Key (HCE, VBF, VHS) với các giá trị (Tuổi) tương ứng: 20, 30, 34. Code:
<?php
    $ages = array("HCE"=>20, "VBF"=>30, "VHS"=>34);
    echo "Tuổi của HCE là: ".$ages['HCE']."
";
    echo "Tuổi của VBF là: ".$ages['VBF']."
";
    echo "Tuổi của VHS là: ".$ages['VHS']."
";
?>
Kết quả của ví dụ trên như sau: Code: Tuổi của HCE là: 20 Tuổi của VBF là: 30 Tuổi của VHS là: 34 Sử dụng vòng lặp For để gán giá trị và truy cập phần tử mảng. Code:
<?php
    $Items=array(10);
    //Thực hiện gán giá trị cho các phần tử của mảng
    for($i=0; $i<10; $i++){
        $Items[$i]=$i*2;
    }
    //Hiển thị giá trị của các phần tử trong mảng.
    for($j=0; $j<10; $j++){
        echo "Element ".$j." - ";
        echo $Items[$j]."<br>";
    }
?>
Kết quả của ví dụ trên như sau: Code:
Element 0 - 0
Element 1 - 2
Element 2 - 4
Element 3 - 6
Element 4 - 8
Element 5 - 10
Element 6 - 12
Element 7 - 14
Element 8 - 16
Element 9 - 18
Sử dụng vòng lặp While để truy cập các phần tử mảng. Code:
<?php
    $Items=array(10);
    //Thực hiện gán giá trị cho các phần tử của mảng
    for($i=0; $i<10; $i++){
        $Items[$i]=$i*2;
    }
    //Hiển thị giá trị của các phần tử trong mảng.
    echo "Key -- Value"."
";
    while($k=each($Items)){
        echo $k["key"]."      --      ";
        echo $k["value"]."
";
    }
?>
Trong đó: Từ khóa: key: Vị trí của phần tử mảng Từ khóa: value: Giá trị của phần tử mảng ứng với phương thức thứ key. Kết quả của ví dụ trên như sau: Code:
    Key -- Value
    0     --    0
    1     --    2
    2     --    4
    3     --    6
    4     --    8
    5     --    10
    6     --    12
    7     --    14
    8     --    16
    9     --    18
Sử dụng hàm list() kết hợp với each() tách phần tử từ mảng. Ví dụ: Code:
<?php
    $Items=array(10);
    //Thực hiện gán giá trị cho các phần tử của mảng
    for($i=0; $i<10; $i++){
        $Items[$i]=$i*2;
    }
    //Hiển thị giá trị của các phần tử trong mảng.
    echo "Key -- Value"."
";
    while(list($key,$value)=each($Items)){
        echo $key."      --      ";
        echo $value."
";
    }
?>
Kết quả của ví dụ trên như sau: Code:
   Key -- Value
    0     --    0
    1     --    2
    2     --    4
    3     --    6
    4     --    8
    5     --    10
    6     --    12
    7     --    14
    8     --    16
    9     --    18
9. Mảng nhiều chiều Mảng nhiều chiều được biết đến như một mảng dữ liệu, ma trận hay lưới hai chiều, ba chiều. Hoặc còn được gọi là mảng của các mảng. Mỗi phần tử trong mảng có thể là một mảng con. Cú pháp: Code:
  $products=array(
        array("TIR","Tires", 100),
        array("COR","Concord", 1000),
        array("BOE","Boeing", 5000)
    );
Để gán giá trị vào mảng hai chiều bạn có thể thực hiện gán giá trị cho từng phần tử mảng ứng với hàng thứ i và cột thứ j. Ví dụ: Code:
    $products[0][0]="A";
    $products[0][1]="B";
    $products[0][2]=100;
    $products[0][1]="C";
    $products[0][0]="D";
    $products[0][1]="E";
Làm việc với mảng 2 chiều. Để truy cập các giá trị cảu phần tử trong mảng 2 chiều, bạn có thể sử dụng vòng lặp for để duyệt trên hàng và cột của mảng như ví dụ sau: Code:
<?php
  $products=array(
        array("TIR","Tires", 100),
        array("COR","Concord", 1000),
        array("BOE","Boeing", 5000)
    );
    for($row=0; $row<3; $row++){
        for($col=0; $col<3; $col++){
            echo $products[$row][$col]." -- ";
        }
        echo "
";
    }
?>
Kết quả của ví dụ trên như sau: Code: TIR -- Tires -- 100 -- COR -- Concord -- 1000 -- BOE -- Boeing -- 5000 -- Sử dụng hàm list() và each(). Trong trường hợp bạn muốn in cột dữ liệu với tên cột, bạn có thể khai báo chúng như ví dụ sau: Cũng giống như mảng 1 chiều, bạn cũng có thể sử dụng hàm list() và each() cùng vòng lặp while() để tách giá trị của mỗi hàng vào biến như ví dụ sau: Code:
<?php
    echo "Array     N       D"."<br>";
    $products=array(
        array(Code=>"TIR",Description=>"Tires", Price=>100),
        array(Code=>"COR",Description=>"Concord", Price=>1000),
        array(Code=>"BOE",Description=>"Boeing", Price=>5000));
    for ($row=0;$row<3;$row++)
      {
        while (list($key,$value)=each($products[$row]))
                echo "$value   ";
        echo "<br>";
      }
?>
Kết quả của ví dụ trên sẽ như sau: Code:
    Array     N       D
    TIR   Tires   100  
    COR   Concord   1000  
    BOE   Boeing   5000
10. Vòng lặp For() Hướng dẫn sử dụng vòng lặp For() trong PHP Cũng giống như các ngôn ngữ lập trình khác, PHP cũng hỗ trợ vòng lặp for(). Cú pháp: Code:
<?php
for (init; cond; incr)
{
  code to be executed;
}
?>
Trong đó: - init: Giá trị khởi tạo cho vòng lặp for() - cond: Điều kiện giới hạn của vòng lặp for(). - incr: Giá trị lặp của vòng lặp for(). Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<?php
    for ($i=1; $i<=5; $i++)
    {
      echo "Chào mừng bạn đến với HCE Group. "."
";
    }
?>
Đoạn code trên sẽ in ra 5 dòng chữ có nội dung: "Chào mừng bạn đến với HCE Group.". Kết quả của ví dụ trên như sau: Code:
    Chào mừng bạn đến với HCE Group.
    Chào mừng bạn đến với HCE Group.
    Chào mừng bạn đến với HCE Group.
    Chào mừng bạn đến với HCE Group.
    Chào mừng bạn đến với HCE Group.

Học PHP như thế nào?

PHP là một ngôn ngữ dễ học, dễ hiểu và dễ tiếp cận, nên cho dù nếu bạn chưa có kiến thức gì về PHP. Thì cũng đừng lo lắng, các phương pháp sau sẽ giúp bạn nắm vững những điểm trọng tâm trong quá trình theo học lớp căn bản và nâng cao PHP.

Bắt đầu từ sự đơn giản nhất.

Có nhiều người cứ nghĩ học PHP thì HTML, javascript là quá dễ, cho nên đọc giáo trình dạy lập trình PHP hoặc học qua loa thì cũng nắm bài như ai. Nhưng không, biết là một chuyện. Còn vận dụng sự hiểu biết ấy vào bài tập thì còn rất lúng túng và thiếu sự nhất quán.

Bạn lúng túng tức là phần nào bạn vẫn chưa nắm hết. Vậy ngay từ bài nhập môn, hãy tiếp cận một cách nhịp nhàng. Với sự hưỡng dẫn của giảng viên đào tạo về lập trình kết hợp đọc qua tài liệu dạy lập trình PHP, bạn sẽ nhanh chóng bắt kịp với sự đa dạng của một ngôn ngữ lập trình như thế nào. Và hẳn khi bước sang PHP bạn sẽ không còn cảm giác sợ, hay choáng ngộp trước một rừng thứ phải học của PHP.

Đừng bỏ qua bất kỳ chi tiết nào.

Thực tế, người học lập trình thường đi vào phần trọng tâm mà bỏ qua những chi tiết nhỏ trong lập trình. Theo quan niệm thì có thể bạn thấy ít khi dùng, ít khi đụng thì cần gì phải nhớ, cần gì phải tìm hiểu ??. Hoặc là chúng dễ quá, dễ tới mức đôi khi bạn không cần phải chú tâm vào nó thì cũng làm rất tốt các bài tập.

Quả thực, ở thời gian đầu. Khi tiếp cận những bài căn bản có thể bạn sẽ ít sử dụng. Nhưng ở một tầm cao hơn bạn sẽ thấy sự đa dạng và mức độ phức tạp của các bài học sau được nâng lên rõ nét. Nếu bạn chưa hề nắm vững kiến thức thì thường sẽ không nắm hết bài. Hay nếu có thì chỉ là qua loa hoặc "đại khái" nó là như thế....Còn vận dụng sâu hơn thì....chịu.

Tìm ra liên kết các bài học lại với nhau.

Yếu điểm chí mạng trong lập trình đó là sự rập khuôn theo khuôn mẫu, nghĩa là cái gì thì cũng được học, cũng được biết. Nhưng để vận dụng ráp nối các chi tiết thì có vẻ như khó khăn quá.

Lỗi này không hoàn toàn trách học viên, mà chỉ trách sự kết hợp bài giảng và phân bố bài học của giảng viên không phù hợp, khiến cho kiến thức cũ, mới đảo lộn một cách thiếu khoa học. Từ đó làm cho học viên cảm thấy phần nào khó khăn hơn trong việc dùng kiến thức cũ để đi tiếp kiến thức mới.

Tập trung và tự đặt những câu hỏi trong khi giảng viên thảo luận

Hãy tự hỏi và trả lời những câu hỏi what ?, Why ?, When ? về một vấn đề gì mới khi bạn được học. Chỉ khi chúng ta hiểu được 3 câu hỏi này thì chúng ta mới thực sự nắm rõ bài học của ngày hôm đó. Khi đưa ra câu hỏi nếu tự bản thân không thể trả lời. Hãy phát biểu hỏi giảng viên để có được câu trả lời sớm. Cần chú ý không phớt lờ những gì không hiểu. Vì rất dễ dẫn tới việc hổng kiến thức sau này.

Nhìn nhận và phân tích câu hỏi trước khi bắt tay làm.

Trong quá trình học, nếu các bạn được giảng viên cho bài tập làm, thì đừng vội làm liền. Hãy lấy giấy bút và phân tích thật kỹ các yếu tố. Dựa vào những giả thuyết của đề bài chúng ta sẽ gắn kết với kiến thức đang học. Từ đó vẽ ra các bước cơ bản khi thực hiện câu hỏi đó.

Áp dụng cách này, có thể bạn sẽ làm chậm hơn người khác, có thể bạn sẽ gặp nhiều khó khăn khi phân tích. Nhưng đừng lo lắng, vì chính những khó khăn ấy sẽ cho bạn kinh nghiệm phân tích vấn đề trong lập trình một cách hiệu quả.

Thứ Tư, 14 tháng 8, 2013

Xử lý giá trị form trong PHP

Một trong những ứng dụng quan trọng của ngôn ngữ PHP đó là giúp tương tác xử lý dữ liệu trên form của người sử dụng. Nhằm mục đích giúp cập nhật thông tin một cách linh động và dễ dàng quản lý chung hơn bởi sự kết hợp tuyệt vời của cơ sở dữ liệu. Tuy nhiên để làm được điều ấy PHP yêu cầu form phải đáp ứng 1 số quy định chung đặt ra.
Chúng ta cùng phân tích thẻ form trong HTML sau:
PHP Example
Chúng ta thấy rằng 1 form phải bao gồm:
Tên form để dễ dàng tách biệt với giá trị của chúng.
Action: hành động chuyển tiếp đến link xử lý.
Method: Là phương thức truyền bao gồm POST và GET.

Ví dụ:
PHP Example
Như vậy ta thấy rằng. Đoạn code trên làm những việc sau.
Đầu tiên khi khách nhập liệu username vào thì chúng sẽ chuyển tới trang check.php để tiến hành xử lý thông tin. Trên phương thức POST, với tên form là reg. Giá trị mà chúng ta gởi là username vừa nhập liệu.
Vậy làm cách nào để chúng ta lấy được giá trị vừa nhập liệu nào ?.
PHP cho phép ta lấy giá trị dựa vào 2 phương thức POST và GET.
Đới với POST ta có : $_POST[‘Giá trị’]
Đối với GET ta có : $_GET[‘Giá trị’]
Vậy với đoạn code trên có thể lấy được biến xử lý là : $_POST[‘username’];
Username là tên của field mà người sử dụng nhập liệu vào.

1 Phương thức GET:

Phương thức này cũng được dùng để lấy dữ liệu từ form nhập liệu. Tuy nhiên nhiệm vụ chính của nó vẫn là lấy nội dung trang dữ liệu từ web server.

Ví dụ:
Với url sau: shownews.php?id=50
Vậy với trang shownews ta dùng hàm $_GET[‘id’] sẽ được giá trị là 50.

2- Phương thức POST:

Phương thức này được sử dụng để lấy dữ liệu từ form nhập liệu. Và chuyển chúng lên trình chủ webserver.

Ví dụ:

Xây dựng 1 trang HTML với nội dung gồm form nhập liệu họ và tên. Sau đó dùng 1 file php để xuất ra thông tin họ và tên mà người sử dụng vừa nhập liệu.

Đáp Án:

Tạo file userform.htm với nội dung sau:
PHP Example
Tạo file processform.php để xuất ra dữ liệu
PHP Example

Tổng Kết:
Kết thúc bài này các bạn đã nắm được kỹ thuật kiểm tra thông tin dựa trên PHP. Một trong những vấn đề không thể thiếu đối với bất kỳ một website động nào. Chúng cho ta kiểm tra tính hợp lệ của người sử dụng 1 cách dễ dàng bởi sự tùy biến trong các biểu thức của PHP.