6/1/17

Tổng hợp hướng dẫn về xây dựng ứng dụng lập trình web PHP

Tổng hợp hướng dẫn về xây dựng ứng dụng lập trình web PHP
Trong bài này mình xin liệt kê các ứng dụng lập trình web PHP với các bạn của Vnfit.com gửi đến. Ứng dụng gồm các ứng dụng liên quan đến PHP, MySQL, javascrip, Jquery, Ajax… không liên quan đến các framework của PHP nhé. Ứng dụng giúp các bạn hiểu về nó nắm bắt được để xây dựng lại qua đó có thể áp dụng vào thực tế là các dự án mình đang triển khai nhé.

Lập trình ứng dụng với PHP

1. Ứng dụng đăng nhập, thoát với PHP và MySQL

2. Ứng dụng quản lý thành viên với PHP và MySQL

3. Ứng dụng thêm thành viên bằng PHP và MySQL

4. Ứng dụng sửa xóa thành viên bằng PHP và MySQL

5. Ứng dụng đếm số người Online bằng PHP

6. Hệ thống bình chọn bằng PHP và MySQL

7. Upload nhiều hình ảnh bằng PHP

8. Ứng dụng giỏ hàng bằng PHP phần 1

9. Ứng dụng giỏ hàng bằng PHP phần 2

10. Lấy feed post fanpage facebook với facebook api sdk php

11. Ứng dụng đăng nhập (Login) với facebook sử dụng PHP

12. Ứng dụng đăng nhập (Login) với Google account sử dụng PHP

13. Ứng dụng đăng nhập (Login) với Twitter sử dụng PHP

14. Ứng dụng Đăng nhập (login) với LinkedIn sử dụng PHP

15. Tìm kiếm với PHP và Ajax

16. Ứng dụng Sử dụng Google reCAPTCHA với PHP

17. Ứng dụng Autocomplete textbox sử dụng jQuery, PHP và MySQL

18. Tình khoảng cách giữa 2 địa điểm với Google Maps API và PHP

19. Kéo và thả tập tin tải lên bằng cách sử dụng PHP và DropzoneJS

20. Xuất dữ liệu sang Excel trong PHP

21. Ứng dụng Load more bằng cách sử dụng jQuery Ajax và PHP từ CSDL

22. Like và Unlike với jQuery, Ajax and PHP

23. Gửi email với nhiều file đính kèm trong PHP

24. Kéo và thả hình ảnh sắp xếp lại bằng cách sử dụng jQuery, Ajax, PHP & MySQL

[Ứng dụng php] Sử dụng Google reCAPTCHA với PHP

[Ứng dụng php] Sử dụng Google reCAPTCHA với PHP
Ứng dụng sử dụng Google reCAPTCHA với PHP mình sắp trình báy sau đây được đăng ký từ google:

Bước 1: các bạn cần đăng ký reCAPTCHA của google

Các bạn truy cập vào đường dẫn sau: https://www.google.com/recaptcha/admin#list. Dưới đây là giao diện của đăng ký recaptcha của google.

Bước 2: Lấy Site Key của bạn

Lấy site Key đăng ký của website của bạn.


Bước 3: Lấy Secret Key của bạn

Bước 4: Tạo form HTML với mã reCAPTCHA

Tạo file index.php với form HTMl như sau:

ind

Bước 5: PHP code cho ứng dụng Google reCAPTCHA với PHP


<?php
if(isset($_POST['submit'])):
if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])):
//Nhập secret key
$secret = 'Nhập secret key';
//Xác minh dữ liệu
$verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
$responseData = json_decode($verifyResponse);
$name = !empty($_POST['name'])?$_POST['name']:'';
$email = !empty($_POST['email'])?$_POST['email']:'';
$message = !empty($_POST['message'])?$_POST['message']:'';
if($responseData->success):
$to = 'vnfitcom@gmail.com';
$subject = 'Tiêu đề liên hệ';
$htmlContent = "
<h1>Chi tiết liên hệ</h1>
<p><b>Tên: </b>".$name."</p>
<p><b>Email: </b>".$email."</p>
<p><b>Nội dung: </b>".$message."</p>
";
// Luôn đặt content-type khi gửi email HTML
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From:'.$name.' <'.$email.'>' . "\r\n";
//gửi email
@mail($to,$subject,$htmlContent,$headers);
$succMsg = 'Gửi liên hệ thành công.';
$name = '';
$email = '';
$message = '';
else:
$errMsg = 'Xác minh Robot không thành công, vui lòng thử lại.';
endif;
else:
$errMsg = 'Vui lòng click vào hộp reCAPTCHA.';
endif;
else:
$errMsg = '';
$succMsg = '';
$name = '';
$email = '';
$message = '';
endif;
?>

Bước 6: Test trên web với kết quả thu được

Bài trên mình đã hướng dẫn các bạn tạo Google reCAPTCHA với PHP các bạn có thể thực hành trên website của mình.

[Ứng dụng PHP] Forms – Validate E-mail và URL

[Ứng dụng PHP] Forms – Validate E-mail và URL
1. Validate Form với input text

$txtname = test_input($_POST["txtname"]);
if (!preg_match("/^[a-zA-Z ]*$/",$txtname)) {
$nameErr = "Chỉ nhập chữ cái";
}

2. Validate E-mail

$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Định dạng email không hợp lệ";
}

3. Validate URL

$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Không đúng định dạng URL";
}

4. Validate Text, E-mail, và URL

<?php
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Yêu cầu nhập tên";
} else {
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Chỉ nhập chữ cái.";
}
}

if (empty($_POST["email"])) {
$emailErr = "Email không để trống";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Không đúng định dạng Email";
}
}

if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Không đúng định dạng URL";
}
}

if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}

if (empty($_POST["gender"])) {
$genderErr = "Nhập giới tính";
} else {
$gender = test_input($_POST["gender"]);
}
}
?>

Trên đây là hướng dẫn Validate E-mail và URL của chúng tôi.

[Ứng dụng php] Load more bằng cách sử dụng jQuery Ajax và PHP từ CSDL

[Ứng dụng php] Load more bằng cách sử dụng jQuery Ajax và PHP từ CSDL
Trong bài mình sẽ hướng dẫn các bạn xây dựng ứng dụng load more bằng cách sử dụng jQuery Ajax và PHP từ CSDL gồm các bước sau:

Bước 1: Tạo CSDL “dbtest” và bảng “program”

Các bạn tạo một CSDL “dbtest” trong phpMyAdmin và bảng “program” như sau:

Bước 2: Insert nội dung vào bảng

Insert nội dung vào bảng để tý nữa test. Chúng ta insert nội dung các ngôn ngữ như sau:

Bước 3: Tạo file “config.php“

Tạo file config.php để kết nối đến CSDL của bạn.


<?php
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_name = 'dbtest';
//kết nối CSDL
$con = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
?>

Bước 4: Tạo file “index.php” với các nội dung như sau

Javascript Code

Trong này tôi sử dụng thư viện của Jquery cùng với là khi click thì sẽ load đến file ajax_more để lấy dữ liệu đổ về.

jsc

PHP code

php1

CSS code


<style type="text/css">
body {
font: normal 13px arial,sans-serif;
}
.tutorial_list{
margin-bottom:20px;
}
div.list_item {
border-left: 4px solid #7ad03a;
padding: 1px 12px;
background-color:#F1F1F1;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
div.list_item {
margin: 5px 15px 2px;
}
div.list_item p {
margin: .5em 0;
padding: 2px;
font-size: 13px;
line-height: 1.5;
}
.list_item a {
text-decoration: none;
padding-bottom: 2px;
color: #0074a2;
-webkit-transition-property: border,background,color;
transition-property: border,background,color;-webkit-transition-duration: .05s;
transition-duration: .05s;
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out;
}
.list_item a:hover{
text-decoration:underline;
}
.show_more_main {
margin: 15px 25px;
}
.show_more {
background-color: #f8f8f8;
background-image: -webkit-linear-gradient(top,#fcfcfc 0,#f8f8f8 100%);
background-image: linear-gradient(top,#fcfcfc 0,#f8f8f8 100%);
border: 1px solid;
border-color: #d3d3d3;
color: #333;
font-size: 12px;
outline: 0;
}
.show_more {
cursor: pointer;
display: block;
padding: 10px 0;
text-align: center;
font-weight:bold;
}
.loding {
background-color: #e9e9e9;
border: 1px solid;
border-color: #c6c6c6;
color: #333;
font-size: 12px;
display: block;
text-align: center;
padding: 10px 0;
outline: 0;
font-weight:bold;
}
.loding_txt {
background-image: url(loading_16.gif);
background-position: left;
background-repeat: no-repeat;
border: 0;
display: inline-block;
height: 16px;
padding-left: 20px;
}

</style>

Bước 5: Tạo file “ajax_more.php” với nội dung sau

Kết quả thu được khi chạy chương trình:

Trên đây là ứng dụng load more bằng cách sử dụng jQuery Ajax và PHP từ CSDL.

[Ứng dụng PHP] Thêm thành viên với PHP và MySQL

[Ứng dụng PHP] Thêm thành viên với PHP và MySQL
Trong ứng dụng trước đăng nhập với PHP và MySQL mình đã hướng dẫn các bạn. Trong bài này mình sẽ hướng dẫn các bạn làm chức năng thêm thành viên với PHP và MySQL. Để làm chức năng thêm thành viên với PHP và MySQL các bạn làm các bước sau.

Tạo fiel “add_user.php“

Bước 1: Tạo kết nối đến CSDL

Trong bước này mình sẽ kết nối CSDL của mình là “dbtest” và bảng mình sử dụng là bảng user ở bài trước

//Cấu hình CSDL
 define('DB_HOST', 'localhost'); // Tên host
 define('DB_NAME', 'dbtest'); // Tên DB
 define('DB_USER','root');
 define('DB_PASSWORD','');
 // kết nối CSDL
 $con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Không thể kết nối tới MySQL: " . mysql_error());
 $db=mysql_select_db(DB_NAME,$con) or die("Không thể kết nối tới MySQL: " . mysql_error());

Bước 2: Tạo 1 form thêm thành viên với HTML

12



Bước 3: Check session Use và Pas

Ta cần kiểm tra xem hõ đã đăng nhập chưa để được truy cập vào trang thêm thành viên với check sau:


<?php
session_start();
if(!empty($_SESSION['Use']) and !empty($_SESSION['Pas']))
{
 // tại đây thực thi các hoạt động khi đăng nhập thành công.
}
else
{
 header("location: login.html");
 exit();
}
?>

Ở đây nếu đăng nhập thành công thì lưu session là use và pas để kiểm tra xem nếu có 2 session này thì cho thực hiện thêm thành viên còn không thì trả về trang login.html

Bước 4: Tạo hàm “add” thành viên


function add()
 {
 if(!empty($_POST['user']) and !empty($_POST['pass']) and !empty($_POST['active']))
 {
 $user = $_POST['user'];
 $active = $_POST['active'];
 if($_POST['pass'] == $_POST['re_pass'])
 {
 $pass = $_POST['pass'];

 $query = mysql_query("SELECT * FROM user where username = '$_POST[user]'") or die(mysql_error());
 if(mysql_num_rows($query) != "")
 {
 echo "Xin lỗi tên đăng nhập đã tồn tại";
 }
 else
 {
 $query1 = mysql_query("insert into user(username,password,active) values('".$user."','".$pass."','".$active."')") or die(mysql_error());
 echo "Đã thêm thành công";
 }
 }
 else{
 echo "Mật khẩu và xác nhận mật khẩu không đúng";
 }
 }
 else
 {
 echo "Chưa điền thông tin vào";
 }

 }

Bước 5: chạy và được kết quả

add

Code hoàn chỉnh


<?php
 session_start();
 //Cấu hình CSDL
 define('DB_HOST', 'localhost'); // Tên host
 define('DB_NAME', 'dbtest'); // Tên DB
 define('DB_USER','root');
 define('DB_PASSWORD','');
 // kết nối CSDL
 $con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Không thể kết nối tới MySQL: " . mysql_error());
 $db=mysql_select_db(DB_NAME,$con) or die("Không thể kết nối tới MySQL: " . mysql_error());
 // Hàm thêm thành viên
 function add()
 {
 if(!empty($_POST['user']) and !empty($_POST['pass']) and !empty($_POST['active'])) // kiểm tra xem user, pass, active có rỗng ko
 {
 $user = $_POST['user']; // gán user
 $active = $_POST['active']; // gán active
 if($_POST['pass'] == $_POST['re_pass']) // kiểm tra xem pass và re_pass có trùng nhau ko
 {
 $pass = $_POST['pass']; // gán pass
 $query = mysql_query("SELECT * FROM user where username = '$_POST[user]'") or die(mysql_error()); // select user ra để kiểm tra trùng tên
 if(mysql_num_rows($query) != "")
 {
 echo "Xin lỗi tên đăng nhập đã tồn tại";
 }
 else
 {
 $query1 = mysql_query("insert into user(username,password,active) values('".$user."','".$pass."','".$active."')") or die(mysql_error()); // insert dữ liệu
 echo "Đã thêm thành công";
 }
 }
 else{
 echo "Mật khẩu và xác nhận mật khẩu không đúng";
 }
 }
 else
 {
 echo "Chưa điền thông tin vào";
 }

 }
?>

<?php
 if(!empty($_SESSION['Use']) and !empty($_SESSION['Pas']))
 {
?>
<fieldset style="width:30%">
 <legend>Thêm thành viên</legend>
 <form action='add_user.php' method='POST'>
 Tên đăng nhập: <br><input type='text' name='user' size='40' /><br />
 Mật khẩu: </br><input type='password' name='pass' size='40' /> <br />
 Nhập lại mật khẩu: <br><input type='password' name='re_pass' size='40' /><br />
 <br>
 Active: <select name='active'>
 <option value='1'>Active</option>
 <option value='2'>No Active </option>
 </select>
 <br />
 <br />
 <input type='submit' name='adduser' value='Thêm thành viên' />
 </form>
 </legend>
</fieldset>

<?php
 // Kiểm tra xem đã submit chưa
 if(isset($_POST['adduser']))
 {
 add();
 }
 }
 else
 {
 header("location: login.html");
 exit();
 }
?>

Code trên mình đã comment đầy đủ để các bạn dễ hiểu. Bạn nào chưa hiểu comment ở dưới nhé.

Vậy mình đã hướng dẫn các bạn hoàn thành chức năng Thêm thành viên với PHP và MySQL. Các bạn code như trên hoặc download ở dưới mình sẽ update lên sau.

Tổng hợp: Lộ trình tự học lập trình web bằng PHP và MySQL

Tổng hợp: Tổng hợp hướng dẫn về xây dựng ứng dụng lập trình web PHP

Link Download:

Chân thành cảm ơn các bạn theo dõi. Nếu thấy hay xin chia sẻ và like bài viết của mình.

[Ứng dụng PHP] Quản lý thành viên với PHP và MySQL

[Ứng dụng PHP] Quản lý thành viên với PHP và MySQL
Trong bài này mình xin trình bày đến các bạn ứng dụng Quản lý thành viên với PHP và MySQL ở bài trước mình đã hướng dẫn các bạn cách login và thêm thành viên, ở bài này mình xin hướng dẫn các bạn sau khi đăng nhập sẽ là danh sách quản lý thanh viên trong quản trị. Với các bước sau:

Tạo file list_user.php với các nội dung như sau:

Bước 1: Tạo kết nối đến CSDL

Trong bước này mình sẽ kết nối CSDL của mình là “dbtest” và bảng mình sử dụng là bảng user ở bài trước.

//Cấu hình CSDL
define('DB_HOST', 'localhost'); // Tên host
define('DB_NAME', 'dbtest'); // Tên DB
define('DB_USER','root');
define('DB_PASSWORD','');
// kết nối CSDL
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Không thể kết nối tới MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Không thể kết nối tới MySQL: " . mysql_error());

Bước 2: Check session Use và Pas

Ta cần kiểm tra xem hõ đã đăng nhập chưa để được truy cập vào trang thêm thành viên với check sau:

<?php
session_start();
if(!empty($_SESSION['Use']) and !empty($_SESSION['Pas']))
{
// tại đây thực thi các hoạt động khi đăng nhập thành công.
}
else
{
header("location: login.html");
exit();
}
?>

Bước 3: Viết hàm “list_all()” để lấy dữ liệu


function list_all()
{
$query = mysql_query("select * from user order by id DESC") or die(mysql_error());
if(mysql_num_rows($query) == "")
{
echo "<tr><td>";
echo "Không có dữ liệu";
echo "</td></tr>";
}
else
{
$i=0;
while($row=mysql_fetch_array($query))
{
$i++;
echo "<tr>";
echo "<td>$i</td>";
echo "<td>$row[username]</td>";
if($row['active']==1)
{
echo "<td>Kích hoạt</td>";
}
else{
echo "<td>Chưa kích hoạt</td>";
}
echo "<td><a href='edit_user.php?userid=$row[id]'>Edit</a></td>";
echo "<td><a href='del_user.php?userid=$row[id]'>Del</a></td>";
echo "</tr>";
}
}
}

Code hoàn chỉnh

{html]

<?php
session_start();
//Cấu hình CSDL
define(‘DB_HOST’, ‘localhost’); // Tên host
define(‘DB_NAME’, ‘dbtest’); // Tên DB
define(‘DB_USER’,’root’);
define(‘DB_PASSWORD’,”);
// kết nối CSDL
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die(“Không thể kết nối tới MySQL: ” . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die(“Không thể kết nối tới MySQL: ” . mysql_error());
// Hàm list all
function list_all()
{
$query = mysql_query(“select * from user order by id DESC”) or die(mysql_error());
if(mysql_num_rows($query) == “”)
{
echo “<tr><td>”;
echo “Không có dữ liệu”;
echo “</td></tr>”;
}
else
{
$i=0;
while($row=mysql_fetch_array($query))
{
$i++;
echo “<tr>”;
echo “<td>$i</td>”;
echo “<td>$row[username]</td>”;
if($row['active']==1)
{
echo “<td>Kích hoạt</td>”;
}
else{
echo “<td>Chưa kích hoạt</td>”;
}
echo “<td><a href=’edit_user.php?userid=$row[id]‘>Edit</a></td>”;
echo “<td><a href=’del_user.php?userid=$row[id]‘>Del</a></td>”;
echo “</tr>”;
}
}
}
?>
<?php
if(!empty($_SESSION['Use']) and !empty($_SESSION['Pas']))
{
?>
<table align=’center’ width=’400′ border=’1′>
<tr>
<td>STT</td>
<td>Tên đăng nhập</td>
<td>Active</td>
<td>Edit</td>
<td>Del</td>
</tr>

<?php
list_all();
}
else
{
header(“location: login.html”);
exit();
}
?>

[/html]

Chạy chương trình và được kết quả:

Trên đây là hướng dẫn về Ứng dụng PHP Quản lý thành viên với PHP và MySQL.