Code cơ bản trong php

Code cơ bản trong PHP – phần 3 giải thích các biến cookie, session, đảm nhận dữ liệu từ form, các hàm có sẵn trong php thường dùng

Nhận dữ liệu từ form trong php

Form trong html là vùng do website dev tạo nên để đảm nhận dữ liệu từ trình duyệt gửi lên (dữ liệu do user nhập). Mỗi tag form có hai tính chất trọng yếu là action & method. Tính chất action dùng để khai báo website php mà dữ liệu trong form sẽ gửi lên, tính chất method là phương thức form gửi dữ liệu (get hoặc bài viết)

Chẳng hạn: Để tạo form login như trên (có chỗ nhập username, password & nút submit) thì code html như sau:

<backlink href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" rel="stylesheet" >
<form 

action="xuly.php" method="post"

id="frmlogin" class="border border-primary col-5 m-auto p-2"> <div class="form-group"> <labelvàgt;Usernamevàlt;/labelvàgt; <input

name="u"

type="text" class="form-control"/> </divvàgt; <div class="form-group"> <labelvàgt;Mật khẩuvàlt;/labelvàgt; <input

name="p"

type="password" class="form-control"/> </divvàgt; <div class="form-group"> <input

name="nho"

type="checkbox"/> Ghi nhớ </divvàgt; <div class="form-group"> <input

name="btn" type="submit"

value="Đăng nhập" class="btn btn-primary"/> </divvàgt; </formvàgt;

Trong code trên, tất cả chúng ta thấy giá trị tính chất method là bài viết & thuộc tiính action của form là xuly.php, này là file mà dữ liệu trong form sẽ mang lên. Vậy file xuly.php sẽ đảm nhận dữ liệu thế nào?

<!-- xuly.php -->
<?php print_r($_POST); ?> <hrvàgt;
<?php
$username = $_POST['u'];
$password = $_POST['p'];
echo "Username=", $username , "<br>";
echo "Password=", $password , "<br>";
?>

submit form

Nếu method của form là get thì khi đảm nhận dữ liệu, bạn dùng $_GET thay vì $_POST

Biến cookie trong php

Cookie là các biến được lưu trong trình duyệt để chứa các thông tin phía người dùng. Cookie do trình duyệt làm chủ. Bạn có thể tạo biến cookie bằng mã lệnh javascript, hoặc dùng php cũng tạo được.

Mỗi biến cookie có tên, giá trị, thời điểm hết hạn, tên miền, đường path… Theo quy định của giao thức http, mỗi lần request một website, trình duyệt sẽ gửi các biến cookie đang có lên webserver. Trình duyệt cũng auto xóa các biến cookie hết hạn.

Với nhân cách người dùng, khi bạn vào các trang web để xem thì các trang web đó sẽ tạo nhiều cookie trong trình duyệt của các bạn. Các cookie này là vô hại, chỉ là các biến lưu thông tin do website developer tạo ta. & với nhân cách là website dev, bạn cũng làm được nhé, dễ thôi.

Xem các biến cookie trong trình duyệt

Để xem các biến cookie đang được lưu trong trình duyệt của mình, bạn thực như sau: gõ phím F12 trong trình duyệt rồi nhắp Application => nhắp Cookies => rồi nhắp tên miền mong muốn xem cookie (xem hình dưới)

xem-cac-bien-cookie-trong-trinh-duyet

Tạo cookie trong php

Để tạo biến cookie trong php, bạn dùng lệnh setcookie như sau:

<?php 
setcookie("TênCookie",giá trị [,Thời điểm quá hạn]);
?>

Trong số đó tên cookie tùy bạn đặt, giá trị gán tùy nhu cầu, thời điểm quá hạn tính bằng timestamp. Chẳng hạn sau tạo 2 cookie:

<?php 
setcookie("username","Van Teo", time()+ 3600*24*7); //tạo cookie sống 7 ngày
setcookie("dalogin",1);
?>

xem cookie đã tạo

Nếu như không chỉ định thời điểm quá hạn thì cookie sẽ lưu trong bộ nhớ lưu trữ Bộ nhớ đệm trong trình duyệt & sẽ mất khi trình duyệt đóng lại. Còn nếu có khai báo thời điểm quá hạn thì giá trị cookie sẽ được ghi trong file & trình duyệt sẽ chỉ xóa khi quá thời hạn chỉ định.

Sử dụng cookie

Trong trang php, bạn có thể truy xuất đến các biến cookie do trình duyệt gửi lên theo cú pháp sau: $_COOKIE[“TênBiến“] . Chẳng hạn:

<?php 
if (isset($_COOKIE["username"])==true) 
    echo "Chào " . $_COOKIE["username"];  
else
    echo "Chào quý khách";
?>

Xóa biến cookie trong php

Để xóa các biến cookie trong trình duyệt, bạn cũng dùng lệnh setcookie nhưng cho thông thố thời điểm quá hạn là số âm. Chẳng hạn:

<?php 
setcookie("username","", -1 );  // lệnh này xóa cookie tên username
?>

Biến session trong php

Trong php, có một loại biến đặc biệt, này là biến session. Các biến này không bị mất khi website chạy xong. Các biến session sẽ còn có trên server một khoảng thời gian để sử dụng cho các request sau này của user đó.

Xem Thêm  ISNULL (Transact-SQL) - Máy chủ SQL - isnull select statement sql server

Biến session sau thời điểm bạn tạo xong sẽ được PHP giữ lại, & website nào trong trang web cũng có thể dùng được.

Tạo biến session

Tạo biến session & sử dụng biến session trong php thực hiện theo cú pháp sau: $_SESSION[“TênBiến“]  .

Chẳng hạn cách tạo biến session

  • Trong file session_a.php, code để tạo biến session
<?php 
session_start();
$_SESSION["login"]=1 ; // mọi trang đều đọc được 
?>
  • File session_b.php, code để xem giá trị session đã tạo
<?php 
session_start();
echo $_SESSION["login"]; // sẽ thấy giá trị 1
?>
  • Code để xem giá sự khác nhau giữa biến bình bình & biến session:
<?php
session_start();
if (isset($dem)==false) $dem=1;
$dem++;
echo $dem,"<br/>";

if (isset($_SESSION['count'])==false) $_SESSION['count'] = 1;
$_SESSION['count']++;
echo $_SESSION['count'];
?>

F5 nhiều lần lần để so sánh sự khác nhau của 2 biến dem & count

Hàm giải quyết chuỗi trong php

Các hàm chuỗi của php giúp bạn giải quyết các chuỗi dữ liệu trong áp dụng như đổi chữ hoa – thường, đếm số ký tự, tìm chuỗi con, trích chuỗi con, nhận xét một chuỗi có thích hợp format hay không…

Hàm strlen trong php

Hàm strlen trong php dùng để đếm số ký tự của chuỗi. Vi dụ:

<?php
   $str = 'Thay Long Website';
   echo strlen($str); //13
?>

Hàm strpos trong php

Đây là làm giúp bạn tìm địa điểm chuỗi con trong chuỗi mẹ. Chẳng hạn:

<?php
$mystring = 'longnv.name.vn';
$findme = 'α';
$pos = strpos($mystring, $findme);
if ($pos === false) 
    echo "Chuỗi '$findme' không thấy trong '$mystring'";
else 
    echo "Chuôi '$findme' tìm thấy trong '$mystring' ở vị trí $pos";
?>

Hàm str_replace trong php

Hàm str_replace giúp bạn tìm một chuỗi & thay thế bằng một chuỗi khác. Chẳng hạn:

<?php
   $str = "abc_ABC_abc";
   echo str_replace("abc","xyz",$str); //xyz_ABC_xyz
?>

Hàm strip_tags trong php

Hàm strip_tags trong php dùng để xóa các tag html trong một chuỗi. Chẳng hạn:

<?php 
  $text = '<ᴘvàgt;Check paragraph.</ᴘvàgt; <α href="#fragment">Other textvàlt;/avàgt;';
  echo strip_tags($text);  //Check paragraph. Other text
?>

Hàm strstr trong php

Hàm strstr trong php giúp trích xuất chuỗi con trong chuỗi mẹ. Chẳng hạn:

<?php
   $thư điện tử  = 'admin@longnv.name.vn';
   $tên miền = strstr($thư điện tử, '@');
   echo $tên miền; // @longnv.name.vn
?>

Hàm substr trong php

Hàm substr trong php giúp bạn trích chuỗi con trong chuỗi mẹ. Chẳng hạn:

<?php
   echo substr("abcdef", 0, -1), "<br/>";  // returns "abcde"
   echo substr("abcdef", 2, -1), "<br/>";  // returns "cde"
   echo substr("abcdef", 4, -4), "<br/>";  // returns ""
   echo substr("abcdef", -3, -1) ,"<br/>"; // returns "de"
?>

Hàm mb_convert_case trong php

Hàm mb_convert_case trong php giúp bạn đổi chữ sang hạng khác (chữ hoa, chữ thường). Chẳng hạn:

<?php
  $str = "lập trình ứng dỤng ";
  echo mb_convert_case($str, MB_CASE_UPPER ,'utf-8'),"<br>";
  echo mb_convert_case($str, MB_CASE_LOWER ,'utf-8'),"<br>";
  echo mb_convert_case($str, MB_CASE_TITLE ,'utf-8'),"<br>";
?>

Hàm md5 trong php

Hàm md5 trong php giúp bạn mã hóa một chuỗi theo giải thuật md5. Chẳng hạn:

<?php 
  echo md5('123456'); //e10adc3949ba59abbe56e057f20f883e
?>

Hàm sha1 trong php

Hàm sha1 trong php giúp bạn mã hóa một chuỗi theo giải thuật sha-1. Chẳng hạn:

<?php 
   echo sha1('123456');
?>

Hàm base64_encode & base64_decode:

Hai hàm này dùng để mã hóa 1 chuỗi theo giải thuật base64 & giải mã trái lại được.. Chẳng hạn:

<?php
$url = "https://longnv.name.vn";
$mahoa = base64_encode($url); 
echo $mahoa; //aHR0cHM6Ly9sb25nbnYubmFtZS52bg==
?>
<hrvàgt;
<?php
$mahoa = "VGjhuqd5IExvbmcgV2Vi";
$str = base64_decode($mahoa); 
echo $str;  //Thầy Long Website
?>

Hàm trim trong php

Hàm trim trong php dùng để cắt các khảong trắng ở đầu & cuối của 1 chuỗi. Chẳng hạn:

<?php
   $site = "    Thầy Long Web    ";
   $site = trim($site) ; //"Thầy Long Web";
?>

Hàm htmlentities trong php

Hàm htmlentities trong php giúp đổi các ký tự đặc biệt trong html sang dạng entitiy (tức các ký tự thông thường, không còn ý nghĩa đặc biệt với trình duyệt nữa). Chẳng hạn dấu < có entity là &lt; còn > có entity là &gt;

Xem Thêm  Làm việc với các giá trị SQL NULL - cách tìm kiếm giá trị null trong sql

Việc chuyển này có công dụng khi bạn cần xuất mã html ra cho user xem, không cần trình duyệt parse. Chẳng hạn:

<?php
$backlink = "<a href='https://longnv.name.vn'>Thầy Long Web</a>";
echo $backlink;        // <α href='https://longnv.name.vn'>Thầy Long Websitevàlt;/avàgt;
?><hrvàgt;
<?php
$backlink = "<a href='https://longnv.name.vn'>Thầy Long Web</a>";
echo htmlentities($backlink);      // &lt;α href='https://longnv.name.vn'&gt;Thầy Long Websitevàamp;lt;/avàamp;gt;
?>

ham-htmlentities

Các hàm thời gian trong php

Giải quyết thời gian là một trong những code cơ bản php cần biết, vì trang web nào bạn cũng sẽ dùng đến, như định dạng, tính toán, hiễn thị ,…

Hàm time

Khi gọi hàm time(), bạn sẽ có giá trị timestamp của thời điểm hiện hành (dạng số nguyên, là số giây tính từ giây trước hết của năm 1970

<?php 
   echo time(); //1603875567
?>

Hàm checkdate

Checkdate này giúp kiểm soát bộ ba giá trị ngày-tháng-năm có phải là ngày hợp lệ hay không. Trả về true nếu hợp lệ & false còn nếu không hợp lệ. Khi gọi hàm, bạn truyền 3 tham số là tháng, ngày, năm.

<?php 
echo (checkdate(13,17,2010)==true)? "Hợp lệ":"không hợp lệ"; // không hợp lệ
?>

Hàm date

Hàm date giúp định dạng 1 giá trị timestamp thành dạng ngày tháng năm giờ phút giây … mà bạn mong muốn. Cú pháp như sau:

date ( string $format [, int $timestamp ] );

Nếu giá trị timestamp không có thì hàm date sẽ fùng thời điểm hiện hành. Chẳng hạn:

Now:  <?php echo date("d/m/Y H:i:s");?> <br />
Thứ trong tuần: <?php echo date("w");?> <br />
Tên thứ trong tuần: <?php echo date("D") ;?> <br />
Tên thứ trong tuần: <?php echo date("l");?> <br />
Tên tháng: <?php echo date("M") ;?> <br />
Tên tháng:<?php echo date("F");?> <br />
Ngày trong năm: <?php echo date("z");?> <br />

Bảng quy định cho format của hàm date:

formatDescriptionExampleDay  dNgày trong tháng, có 2 chữ số01 to 31DTên thứ trong tuần (tên ngắn)Mon through SunjNgày trong tháng, 1 hoặc 2 chữ số1 to 31lTên thứ trong tuần (tên dài)Sunday through SaturdayNSố thứ tự của ngày trong tuần.1 (for Monday) through 7 (for Sunday)wSố thứ tự của ngày trong tuần0 (for Sunday) through 6 (for Saturday)zNgày trong năm0 through 365Week  WTuần trong nămExample: 42 (the 42nd week in the year)Month  FTên đầy đủ của thángJanuary through DecembermSố thứ tự của tháng01 through 12MTên ngắn của thángJan through DecnSố thứ tự của tháng1 through 12tSố ngày trong 1 tháng28 through 31Year  YNăm có 4 ký sốExamples: 1999 or 2003yNăm có 2 ký sốExamples: 99 or 03Time  aKý hiệu buổi sang, buổi chiều, chữ thườngam or pmAKý hiệu buổi sang, buổi chiều, chữ hoaAM or PMgGiờ theo kiểu 12 giờ, without leading zeros1 through 12GGiờ theo kiểu 24 giờ,  without leading zeros0 through 23hGiờ theo kiểu 12 giờ, leading zeros01 through 12HGiờ theo kiểu 24 giờ, leading zeros00 through 23iPhút, leading zeros00 to 59sGiây, with leading zeros00 through 59uMicroseconds (từ PHP 5.2.2)Example: 654321

Hàm strtotime trong php

Hàm strtotime trong php trả về timestamp tương ứng với chuỗi biểu đạt thời gian phân phối cho hàm. Cú pháp như sau:

strtotime ( string $time [, int $now ] );

Chẳng hạn sử dụng hàm strtotime:

Now: <?php echo strtotime("now");?> <br />
+1 day: <?php echo date("d/m/Y H:i:s", strtotime("+1 day") );?> <br/>
+1 week: <?php echo date("d/m/Y H:i:s", strtotime("+1 week") );?> <br/>
next Friday: <?php echo date("d/m/Y", strtotime("next Friday") )?> <brvàgt;
last Monday: <?php echo date("d/m/Y", strtotime("last Monday") )?> <br />
31 December 2020: <?php echo date("d/m/Y",strtotime("31 December 2020") ); ?>

Hàm file trong php

Code cơ bản trong PHP – phần 3 là nội dung hơi dài, nhưng thiết yếu để bạn có nhiều tri thức để lập trình, phần này sẽ đề cập đến các hàm giải quyết file nhé.

Xem Thêm  jQuery get phần tử theo id - lấy phần tử theo nội dung id

Hàm basename

Hàm basename giứp lấy tên file – là phần cuối trong url. Cú pháp như sau:

basename ( string $path, string $suffix)

Chẳng hạn sử dụng hàm basename

<?php 
$filename = "https://longnv.name.vn/test/ham.php";  
echo basename($filename); //ham.php
?>

Hàm filesize

Hàm filezize trả về kích cỡ của một file , tính bằng byte. Chẳng hạn:

<?php 
   $filename = "dendamuoi.html";
   echo filesize($filename).' bytes';
?>

Hàm file_exists

Hàm file_exists giúp kểm tra một file có tồn tại không, nếu có trẻ về true, không có trả về false. Chẳng hạn:

<?php 
$ƒ = "a.jpg";
if (file_exists($ƒ)==true) echo "Có file"; else echo "Không có file";
?>

Hàm unlink

Hàm unlink dùng để xóa file. Chẳng hạn:

<?php 
    unlink("readme2.txt");
?>

Hàm file_get_contents

Hàm file_get_contents giúp đọc bài viết 1 file hoặc 1 url. Chẳng hạn:

<?php 
   $str = file_get_contents("readme2.txt");
   echo $str;
   $str = file_get_contents("https://longnv.name.vn");
   echo $str;
?>

Hàm file_put_contents

Hàm file_put_contents giúp ghi text vào bài viết file. Cú pháp như sau:

int file_put_contents ( string $filename , mixed $data [, int $flags = 0] )

Nếu file chưa có sẽ được tạo nên, nếu có sẽ bị ghi đè trừ phi $flag có giá trị là FILE_APPEND. Chẳng hạn:

<?php 
   $filename = 'counter.txt';
   $str = "19686";
   file_put_contents($filename, $str);//Nếu có cờ FILE_APPEND thì str sẽ thêm vào file
?>

Các hàm giải quyết số trong php

Đây là phần cuối của bài Code cơ bản trong php – phần 3, ? sắp khỏe rồi nhé. Phần đó là các hàm giải quyết số (number) trong php. Sau đây là một vài hàm phổ biến:

Hàm round trong php

Hàm round trong php là hàm giúp bạn làm tròn số. Chẳng hạn:

<?php
echo round(3.6) ; //4
echo round(2.4) ; //2
?>

Hàm ceil trong php

Hàm ceil trong php giúp bạn làm tròn lên . Chẳng hạn:

<?php
echo ceil(3.9) ; //4
echo ceil(3.1) ; //4
?>

Hàm mt_rand(min,max) trong php

SỬ dụng hàm mt_rand để có 1 số bỗng dưng từ min tới max

<?php
echo mt_rand(1 ,31);
?>

Hàm settype trong php

Bạn sử dụng hàm settype để ấn định kiểu dữ liệu cho biến (ép kiểu). Cú pháp như sau: settype(variable, type); trong đó type có thể là boolean, bool, integer, int, float, double, string, array, object, null 

<?php
$thang = "12"; // string
settype($thang, "integer"); // $thang hiện giờ là số

Xem thêm về các hàm giải quyết số: https://www.w3schools.com/php/php_ref_math.asp

Nội dung Code cơ bản trong PHP – phần 3 này đã đề cập đến cách đảm nhận dữ liệu từ form, cách sử dụng biến cookie, biến session & đề cập đến các hàm chuỗi, hàm mảng & hàm file thường dùng. Các tri thức đề cập chỉ là sơ qua, chưa nói hết áp dụng của chúng. Mời bạn xem tiếp trong các bài sau.

Mời bạn xem các bài liên quan: Code cơ bản trong php – phần 1 & Code cơ bản trong php – phần 2

Viết một bình luận