Categories PHP-MySQL

Thực hành làm máy tính bỏ túi đơn giản bằng PHP

Hôm nay Kiến càng sẽ cùng bạn thực hành làm máy tính bỏ túi với các phép tính cộng trừ nhân chia đơn giản bằng PHP.

Ý tưởng là tôi sẽ tạo 3 ô input nhập dữ liệu:

  • Ô đầu tiên là biến số thứ nhất.
  • Ô tiếp theo là toán tử: là một trong 4 phép toán cộng trừ nhân chia được nhập vào.
  • Ô cuối cùng là biến số thứ hai.
cộng trừ nhân chia

Có một nút bấm để sau khi người dùng nhập đầy đủ dữ liệu họ sẽ nhấn để xem kết quả – ngoài ra việc ấn phím Enter trên bàn phím cũng cho kết quả tương tự.3 ô input này sẽ nằm trong form, sau khi nhấn submit, dữ liệu sẽ được đẩy sang trang action.php để tính toán, kết quả của phép tính sau đó được hiển thị cho người dùng.

Với yêu cầu của bài này, chúng ta không cần Cơ Sở Dữ Liệu, chỉ tính toán và trả về thôi là đủ.

Đây là mẫu code của form ở trang index.php:

<form action="action.php" method="get">
    <input type="text" name="so_thu_nhat" size="10">
    <input type="text" name="toan_tu" size="5">
    <input type="text" name="so_thu_hai” size="10">
    =
    <input type="text" name="ketqua" size="10">
    <input type="submit" value="Tính">
</form>

Theo đó, dữ liệu sẽ được đưa sang trang action.php bằng phương thức get. Ngoài 3 input để nhập liệu, ta cần thêm 2 input nữa, một cái để hiển thị kết quả, còn một cái làm nút nhấn.

Ở trang action.php, chúng ta có khá nhiều việc phải làm. Trước hết là lấy dữ liệu từ trang index.php truyền sang bằng biến siêu toàn cục $_GET:

$so_thu_nhat=$_GET['so_thu_nhat'];
$so_thu_hai=$_GET['so_thu_hai'];
$toan_tu=$_GET['toan_tu'];

so_thu_nhat, so_thu_hai, so_thu_ba chính là tên (thuộc tính name) của các input. Các biến sẽ được gán vào giá trị lấy được từ các input này.

Tiếp theo là khâu xác thực dữ liệu, bạn phải xác định những điều không mong muốn mà có thể người dùng sẽ tạo ra. Cụ thể:

  • Người dùng có thể bỏ sót không nhập dữ liệu ở trường nào đó.
  • Người dùng có thể nhập sai kiểu dữ liệu, đáng nhập số họ lại nhập chữ, hay họ nhập sai toán tử – trong bài này chúng ta chỉ cho phép nhập 4 kiểu cơ bản là cộng, trừ, nhân và cuối cùng là chia.
// Code cảnh báo nhập thiếu dữ liệu
if (empty($so_thu_nhat) || empty($toan_tu) || empty($so_thu_hai)) {
    echo 'Canh bao: Ban nhap thieu du lieu !!!';
    exit();
}
//Code cảnh báo người dùng phải nhập số
if (!is_numeric($so_thu_nhat) || !is_numeric($so_thu_hai )) {
    echo 'Canh bao: Ban phai nhap so !!!';
    exit();
}

Cuối cùng, tùy vào việc người dùng nhập phép tính nào (toán tử) mà ta tiến hành tính toán:

if ($toan_tu == '+') {
    $ketqua=$so_thu_nhat + $so_thu_hai;
}
else if ($toan_tu == '-') {
    $ketqua=$so_thu_nhat – $so_thu_hai;
}
else if ($toan_tu == '/') {
    $ketqua=$so_thu_nhat / $so_thu_hai;
}
else if ($toan_tu == '*') {
    $ketqua=$so_thu_nhat * $so_thu_hai;
}
else {
    echo 'Canh bao: Toan tu ban nhap vao khong chinh xac !!!';
    exit();
}

Đoạn else dưới cùng cảnh báo người dùng là họ phải nhập đúng toán tử.

Như vậy là chúng ta đã có được kết quả của phép toán, để hiển thị kết quả, chúng là làm gần giống cái form ở trang index.php (*)   

 <input type="text" value="<?php echo $so_thu_nhat ?>" name="so_thu_nhat" size="10">
    <input type="text" value="<?php echo $toan_tu ?>" name="toan_tu" size="5">
    <input type="text" value="<?php echo $so_thu_hai ?>" name="so_thu_hai" size="10">
    =
    <input type="text" value="<?php echo $ketqua ?>" name="ketqua" size="10"><br/><br/>
    <a href="index.php">Làm phép tính khác</a>

Như vậy là xong, bạn đã thực hiện thành công làm máy tính bỏ túi đơn giản bằng PHP.

(*) Có một cách khác là ở trang action.php bạn thực hiện chuyển hướng về trang index.php như vậy đỡ mất công tạo lại giao diện ở trang action.php, nhưng nếu thế chúng ta cần tạo SESSION để khi chuyển từ trang này sang trang khác các biến không bị mất giá trị.

Back to Top