Thứ Hai, 22 tháng 6, 2015

Thời trang của bộ đôi nữ chính Producer

Thời trang của bộ đôi nữ chính Producer

Prducer có lẽ là một trong những drama được nhắc đến nhiều nhất trong năm 2015 này. Sức hút của Producer vốn được hình thành từ những cái tên đình đám nhất của màn ảnh nhỏ xứ Hàn - bộ tứ Kim Soo Hyun, Gong Hyo Jin, Cha Tae Hyun, IU. Như thường lệ, tuyến nhân vật nữ luôn được stylist "chăm sóc" rất kỹ càng, và nhân vật của Gong Hyo Jin - IU trong Producer cũng không là ngoại lệ. 

Theo đó, Gong Hyo Jin xóa bỏ hoàn toàn hình tượng thanh lịch của vị bác sĩ khoa thần kinh trong It’s Okay, It’s Love để trở thành Tak Ye Jin, đạo điễn chương trình Music Bank với phong cách thời trang độc đáo, cá tính và đẳng cấp. Trong khi đó, IU lại hóa thân thành cô ca sỹ Cindy kiêu kỳ với những bộ cánh đầy nữ tính, khi thì gợi cảm, lúc lại dịu dàng. Điểm chung là cả hai nàng nữ chính đều "mát tay" trong khoản ứng dụng hàng hiệu cao cấp lẫn bình dân, để tạo nên hai cá tính thời trang đối lập vô cùng thú vị trong Producer.

Gong Hyo Jin


Nổi tiếng là nữ diễn viên xứng tầm fashion icon của xứ Hàn, với vai diễn Tak Ye Jin, Gong Hyo Jin tiếp tục chứng tỏ đẳng cấp trong khoản diện váy áo hàng hiệu.

Ngay từ đầu phim, nữ đạo diễn này đã khiến các fan chú ý với chiếc áo jacket da lộn của Sain Laurent có giá lên đến 95 triệu đồng.

Đi kèm theo jacket hàng hiệu là chiếc túi Ricky Drawstring Bag có giá khoảng 38 triệu đồng.


Bộ đầm mang cảm hứng Bôh của Saint Laurent có cái giá cũng đắt còn hơn áo jacket: 116 triệu đồng. Tổng giá trị cả set đồ lên đến hơn 200 triệu đồng.


Nét đặc trưng trong phong cách Producer của Gong Jyo Jin là crop-top mặc ngoài áo dài tay.

Được biết, chiếc áo crop-top đính sequin cầu kỳ mà cô diện thuộc BST Xuân-Hè 2015 của Dries Van Noten


Chiếc áo polo xanh sọc đen mà Gong Hyo Jin diện thuộc thương hiệu Sandro, với mức giá 2,6 triệu đồng.


Một chiếc áo thun kẻ khác lại thuộc thương hiệu Nohant Lonely, có giá 1,9 triệu đồng.



Cô dùng chiếc balo với thiết kế phá cách của Delvaux Le Pin




Khi ở nhà, nữ chính của Producer diện những trang phục bình dân nhưng vẫn sành điệu. Có thể kể đến bộ cánh gồm áo cardigan xanh phối cùng quần chấm bi.

Chiếc áo cardigan này của thương hiệu Zadig & Voltaire, có giá khoảng 7 triệu đồng

Chiếc áo khoét cổ của Maje Lamia tuy trông đơn giản nhưng có giá lên đến 5 triệu đồng

Chiếc đầm chấm bi dáng oversized này lại thuộc thương hiệu Comme des Garcons. Sau khi Gong Jyo Jin, thiết kế trên đã "cháy hàng".

Chiếc jacket của Acne Edith với màu sắc nhã nhặn, cực hợp để diện cùng váy trắng nữ tính. Thiết kế này có giá chỉ hơn 4 triệu đồng.

Sở thích đồ suông rộng của Gong Hyo Jin được tiếp nối với áo sơmi từ 2econd Floor, có giá 3 triệu đồng.


Gong Hyo Jin cũng rất chú trọng mảng phụ kiện. Trong ảnh là chiếc clutch sành điệu của Roger Vivier có giá khoảng 25 triệu đồng.

Túi xách hồng của Delvaux lại có giá "chát hơn nhiều: 94 triệu đồng.

IU


Đối lập với phong cách đầy "quyền lực" của Gong Hyo Jin, nhân vật của IU mang sắc thái nữ tính, quyến rũ. 


Trong cảnh đầu tiên, cô diện áo jacket da của IRO Zaki với giá khoảng 43 triệu đồng.


Có vẻ như nhân vật trong Producer của IU rất thích khoác jacket da.

Ở tập 2, cô diện chiếc áo jacket màu hồng với điểm nhấn ở eo. đây là thiết kế của DSQUARED2 có giá khoảng 98 triệu đồng.


Một nữ ca sỹ nổi tiếng tất nhiên không thể thiếu túi xách hiệu.

Về phần mình, IU sở hữu chiếc túi Lady Dior với phiên bản màu đen, có giá khoảng 100 triệu đồng.


Thêm một chiếc jacket da khác của Johnny Hates Jazz có giá hơn 17 triệu đồng.

Chiếc áo họa tiết trái tim xinh xắn của Fleamadonna, có giá hơn 3 triệu đồng

Một set đồ ngập tràn tính nữ của IU, với điểm nhấn là hai sắc hồng pastel - vàng được hòa quyện hoàn hảo. Được biết, chiếc áo thuộc về thương hiệu Sonia by Sonia Rykiel trong khi chân váy lại là của SJYP. Ngoài ra, người đẹp Producer còn dùng clutch của Marc by Marc Jacobs.

StyleNanda là một thương hiệu đã "nhẵn mặt" với giới trẻ ngày nay. IU đã tậu một chiếc đầm cam rực rỡ của thương hiệu bình dân này, với giá 1,7 triệu đồng.


Jacket thêu của Isabel Marant có giá hơn 8 triệu đồng

Tương tự như Gong Hyo Jin, ngay cả khi ở nhà thì IU cũng chưng diện triệt để.


Trong ảnh, cô diện chiếc sơmi váy dáng bất đối xứng thuộc BST Xuân-Hè 2015 của Paul & Alice
Xuất dữ liệu từ mysql ra excel sử dụng PHP

Xuất dữ liệu từ mysql ra excel sử dụng PHP

Trong nội dung của bài này tôi sẽ giới thiệu đến các bạn cách xuất dữ liệu từ mysql ra excel sử dụng PHP  . Để làm được việc đó chúng ta bắt đầu như sau:

Trước tiên kết nối đến cơ sở dữ liệu

[codesyntax lang=”php”]

$host = 'localhost';

            $user_host = 'root';

            $pass = 'root';      

            $conn=mysql_connect("localhost","root","root") or die("can't connect");

            mysql_select_db("vietpro",$conn);
[/codesyntax]

Tiếp đến

[codesyntax lang=”php”]
$filename = "sampledata.xls"; // tên file mặc định

// Download file

header("Content-Disposition: attachment; filename=\"$filename\"");

header("Content-Type: application/vnd.ms-excel");
[/codesyntax]



Tiếp theo chúng ta sẽ đọc dữ liệu từ cơ sở dữ liệu ra và viết lệnh ghi dữ liệu



[codesyntax lang=”php”]

// lay du lieu tu trong bang products

$sql="SELECT name,price FROM products";

$result=mysql_query($sql);

// ghi du lieu ra file

$flag = false;

while($row = mysql_fetch_assoc($result)) {

   if(!$flag) {

   // viet ten cot giong ten truong trong bang

     echo implode("\t", array_keys($row)) . "\r\n";

     $flag = true;

   }

   echo implode("\t", array_values($row)) . "\r\n";

}
[/codesyntax]



Bạn thấy không xuất dữ liệu từ Mysql ra excel quá đơn giản !

Và code đầy đủ như sau:

[codesyntax lang=”php”]

<?php

 $host = 'localhost';
        $user_host = 'root';
        $pass = 'root';    
        $conn=mysql_connect("localhost","root","root") or die("can't connect");
        mysql_select_db("vietpro_ci",$conn);
        $sql="SELECT name,price FROM products";
        $result=mysql_query($sql);
     
$filename = "sampledata.xls"; // File Name

// Download file
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");

// Write data to file
$flag = false;
while($row = mysql_fetch_assoc($result)) {
    if(!$flag) {
      // display field/column names as first row
      echo implode("\t", array_keys($row)) . "\r\n";
      $flag = true;
    }
    echo implode("\t", array_values($row)) . "\r\n";
  }
?>
[/codesyntax]

Chúc bạn lap trinh web  thành công !



Xem thêm: 
>>> Địa chỉ in catalogue giá rẻ
>>> Chuyên in mác quần áo giá rẻ
Xuất dữ liệu từ PHP sang PDF

Xuất dữ liệu từ PHP sang PDF

Trong lập trình web, không những phải hoc php  mà còn phải học những công cụ hỗ trợ cho lập trình, mã nguồn mở,… còn cả cơ sở dữ liệu của trang web đấy sẽ gồm những gì, hoạt động như thế nào.  Trong bài này tôi sẽ hướng dẫn các bạn xuất dữ liệu từ Mysql ra PDF có định dạng dữ liệu cực đẹp.

Trước tiên bạn phải tạo 1 project. Sau đó bạn dowload thư viện này về cho vào trong project của bạn tại đây

Sau đó bạn tạo một file là exportpdf.php sau đó chúng ta sẽ bắt tay vào xây dựng như sau:

[codesyntax lang=”php”]

require('fpdf.php'); //include thư viện

$d=date('d_m_Y');

class PDF extends FPDF

{

function Header()

{

     $name="Export PDF";

   $this->SetFont('Arial','B',15);

   //Move to the right

   $this->Cell(80);

   //Title

      $this->SetFont('Arial','B',9);

   //Line break

   $this->Ln(20);

}

//Page footer

function Footer()

{

}

//Load data

function LoadData($file)

{

      //Read file lines

      $lines=file($file);

      $data=array();

      foreach($lines as $line)

            $data[]=explode(';',chop($line));

      return $data;

}



//tao bang

function BasicTable($header,$data)

{

$this->SetFillColor(0,255,0);

$this->SetDrawColor(128,0,0);

$w=array(30,15,20,10,10,10,10,10,15,15,15,15,15);

      //Header

      for($i=0;$i<count($header);$i++)

            $this->Cell($w[$i],7,$header[$i],1,0,'C',true);

      $this->Ln();

      //Data

      foreach ($data as $eachResult)

      { //width

            $this->Cell(30,6,$eachResult["bookstall_id"],1);

            $this->Cell(15,6,$eachResult["name"],1);

            $this->Cell(20,6,$eachResult["location"],1);

            $this->Cell(10,6,$eachResult["address"],1);

            $this->Cell(10,6,$eachResult["telephone"],1);

            $this->Ln();



      }

}

//Better table

}
[/codesyntax]

Đã xong phần thủ tục ban đầu. Bây giờ đến phần lấy dữ liệu của chúng ta ra

[codesyntax lang=”php”]

$pdf=new PDF();

$header=array('bookstall_id','name','location','address','telephone');

// lay du lieu trong bang.

$objConnect = mysql_connect("localhost","database_username","database_password") or die("Error:Please check your database username & password");

$objDB = mysql_select_db("database_name");

$strSQL = "SELECT bookstall_id,     name, location,   address,    telephone FROM bookstall";

$objQuery = mysql_query($strSQL);

$resultData = array();

for ($i=0;$i<mysql_num_rows($objQuery);$i++) {

      $result = mysql_fetch_array($objQuery);

      array_push($resultData,$result);

}

//************************//
[/codesyntax]


Ở đây tôi lấy dữ liệu từ bảng bookstall, các bạn nhớ cấu hình lại kết nối cho phù hợp với database của bạn nhé. Bây giờ bắt đầu ghi dữ liệu ra PDF :

[codesyntax lang=”php”]

function forme()

{

$d=date('d_m_Y');

echo "PDF generated successfully. To download document click on the link >> <a href=".$d.".pdf>DOWNLOAD</a>";

}

$pdf->SetFont('Arial','',6);

//*** Table 1 ***//

$pdf->AddPage();

$pdf->Ln(35);

$pdf->BasicTable($header,$resultData);

forme();

$pdf->Output("$d.pdf","F");



?>
[/codesyntax]

Bạn ra trình duyệt kiểm tra kết quả thôi.

Đây là source code đầy đủ để các bạn tham khảo!


Xem thêm:
>> Địa chỉ in tem decal oto giá rẻ
>> Địa chỉ in bạt khổ lớn


bs nam khoa nguyen phuong hong http://bsnguyenphuonghong.com/giam-ngay-50-phi-cat-bao-quy-dau-va-kiem-tra-nam-phu-khoa-thang-8/
강남출장마사지
Kiểm tra tên người dùng tồn tại sử dụng ajax

Kiểm tra tên người dùng tồn tại sử dụng ajax

Khi xây dựng một website thì lập trình viên luôn muốn xây dựng sao cho website đó thân thiện với người dùng nhất. Hôm nay tôi sẽ hướng dẫn các bạn sử dụng ajax để kiểm tra tên người dùng đã tồn tại trong cơ sở dữ liệu chưa. Kiểm tra sự tồn tại của username sử dụng ajax sẽ tiết kiệm thời gian hơn rất nhiều bởi nó không phải post back lại server, cũng như load lại trang.

Và để bắt đầu xây dựng ứng dụng này các bạn sẽ tạo bảng tbl_user trong cơ sở dữ liệu:

[codesyntax lang=”php”]

CREATE TABLE `tbl_user` (

`user_id` int(11) NOT NULL auto_increment,

`user_name` varchar(30) NOT NULL,

`user_password` varchar(50) NOT NULL,

`user_email` varchar(50) NOT NULL,

PRIMARY KEY (`user_id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=84 ;
[/codesyntax]
Bạn nhớ thêm mấy bản ghi vào để làm dữ liệu test nhé.
Tạo file index.html nằm trong project
[codesyntax lang=”php”]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert user</title>

<script type="text/javascript"

       src="http://code.jquery.com/jquery-latest.js"></script>

<style type="text/css">

.user_text {



       margin: 10px;



       overflow: hidden;



}

.user_bottom{

       width: 387px;

       text-align: center;



}

.thongbao{

       width: 250px;

       float: left;

}

.lable_text {

       width: 150px;

       float: left;

}



.classtext {

       float: left;

       width: 300px;

}



.error {

       color: red;

}



.success {

       color: blue;

}

.wapper{

       width: 800px;

       margin: auto;

}

</style>

<script type="text/javascript">

       $(document).ready(function() {



              // Sự kiện khi focus vào user_name

              $("#user_name").keyup(function() {



                     if ($(this).val() != '') {

                           // Gán text cho class thongbao trước khi AJAX response

                           $(".thongbao").html('checking username...');

                     }

                     // Dữ liệu sẽ gởi đi

                     var form_data = {

                           action : 'check_user',

                           user_name : $(this).val()

                     };



                     $.ajax({

                           type : "POST", // Phương thức gởi đi

                           url : "data.php", // File xử lý dữ liệu được gởi

                           data : form_data, // Dữ liệu gởi đến cho url

                           success : function(result) { // Hàm chạy khi dữ liệu gởi thành công

                                  $(".thongbao").html(result);



                           }

                     });



              });



       });

</script>

</head>

<body>

<div class="wapper">



       <form method="post" name="fcheck" id="fcheck" action="index.php">



              <div class="user_text">

                     <h2>Đăng ký thành viên</h2>

                     <div class="user_text">

                           <label class="lable_text">Tên đăng nhập:</label> <input type="text"

                                  class="classtext" name="user_name" id="user_name"

                                  autocomplete="off" value="">

                           <div class="thongbao"></div>

                     </div>

                     <div class="user_text">

                           <label class="lable_text">Mật khẩu:</label> <input type="password"

                                  class="classtext" name="user_pass" id="user_pass"

                                  autocomplete="off" value="">

                           <div class="thongbao1"></div>

                     </div>

                     <div class="user_text">

                           <label class="lable_text">Xác nhận mật khẩu:</label> <input

                                  type="password" class="classtext" name="user_pass2" id="user_pass2"

                                  autocomplete="off" value="">

                           <div class="thongbao2"></div>

                     </div>

                     <div class="user_text">

                           <label class="lable_text">Email:</label> <input

                                  type="text" class="classtext" name="user_email" id="user_email"

                                  autocomplete="off" value="">

                           <div class="thongbao3"></div>

                     </div>

                    <div class="user_bottom" >
            <input type="submit" id="btn" name="dangky" value="Đăng ký">
            </div>

              </div>



       </form>

</div>

</body>

</html>
[/codesyntax]


Tiếp theo tạo file config.php kết nối đến cơ sở dữ liệu:

[codesyntax lang=”php”]

<?php

/**

* Author camap

*

*/



              $host = 'localhost';

              $user_host = 'root';

              $pass = 'root';        

              $conn=mysql_connect("localhost","root","root") or die("can't connect");

              mysql_select_db("vietpro_ci",$conn);

              ?>
[/codesyntax]

Tạo file data.php để xử lý dữ liệu:

[codesyntax lang=”php”]


<?php

include 'config.php';

$action = $_POST['action']; // Lấy giá trị action

if(!empty($_POST['user_name']) && $action == 'check_user')

{

   // Lấy giá trị user_name

   $user = $_POST['user_name'];

   // Chuyển giá trị user_name thành chữ thường & gọi hàm kiểm tra

   username_exist(strtolower($user));

}

function username_exist($user)

{

       $sql="SELECT user_name FROM tbl_user WHERE user_name='".$user."'";
       $result=mysql_query($sql);

       if(mysql_num_rows($result)>0){

              echo "<span class='error'>Username: <strong>{$user}</strong> đã tồn tại!</span>";

       }else{

              echo "<span class='success'>Username: <strong>{$user}</strong> khả dụng! </span>";

      }
}

?>
[/codesyntax]


Bây giờ bạn ra trình duyệt gọi đến file index.html để kiểm tra kết quả.



Chúc các bạn học php thành công!
Sử dụng Jquery Validation Plugin để kiểm tra dữ liệu khi submit form

Sử dụng Jquery Validation Plugin để kiểm tra dữ liệu khi submit form

Ở bài trước chúng ta đã xây dựng được form để đăng ký thành viên. Sau khi người dùng gửi thông tin đăng ký thì chúng ta phải kiểm tra tính hợp lệ của dữ liệu trước khi lưu vào cơ sở dữ liệu. Hôm nay tôi sẽ hướng dẫn các bạn Sử dụng Jquery Validation Plugin để kiểm tra dữ liệu khi submit form.

Để sử dụng được validation plugin chúng ta bắt đầu như sau:

 Trong file index.php thêm dòng sau vào trong thẻ <header></header>

[codesyntax lang=”php”]
&lt;script src="validate/jquery.js"&gt;&lt;/script&gt;

&lt;script src="validate/jquery.validate.js"&gt;&lt;/script&gt;
[/codesyntax]

Đây chính là thư viện jquery và plugin validate bạn có thể dowload ở link: https://www.mediafire.com/?xszd1njw6r87rc9

Tiếp theo chúng ta cần kiểm tra như sau:

Khi form #signupForm được submit thì cần kiểm tra các thông tin

–          user_name: không được trống, tối thiểu 3 ký tự

–          user_pass: không được trống, tối thiểu 5 ký tự

–          user_pass2: không được trống, tối thiểu 5 ký tự, trùng khớp với user_pass

–          user_email: không được trống, đúng định dạng

Nếu một trong các trường trên vi phạm yêu cầu thì đưa ra thông báo lỗi.

Và chúng ta sẽ đưa ra các tập luật và các dòng thông báo như sau:

[codesyntax lang=”php”]

&lt;script type="text/javascript"&gt;

       $().ready(function() {

       $("#signupForm").validate({

              rules: {

                     // xay dung cac tap luat

                     username: {

                           required: true,

                           minlength: 3

                     },

                     user_pass: {

                           required: true,

                           minlength: 5

                     },

                     user_pass2: {

                           required: true,

                           minlength: 5,

                           equalTo: "#user_pass"

                     },

                     user_email: {

                           required: true,

                           email: true

                     },



              },

              messages: {

                     // cac cau thong bao

                     user_name: "Vui lòng điền tên đăng nhập",



                     username: {

                           required: "Vui lòng điền tên đăng nhập",

                           minlength: "Tên đăng nhập tối thiểu 3 ký tự"

                     },

                     user_pass: {

                           required: "Vui lòng điền tên mật khẩu",

                           minlength: "Mật khẩu tối thiểu 5 ký tự"

                     },

                     user_pass2: {

                           required: "Vui lòng nhập lại mật khẩu",

                           minlength: "Mật khẩu tối thiểu 5 ký tự",

                           equalTo: "Nhập lại mật khẩu chưa chính xác"

                     },

                     user_email:{

                           required: "Vui lòng nhập email",

                           email: "Email chưa đúng định dạng"

                     },



              }

       });

});
       &lt;/script&gt;
[/codesyntax]

Và chúng ta sẽ có file index.php như sau:

[codesyntax lang=”php”]

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;

&lt;html&gt;

&lt;head&gt;

&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;

&lt;title&gt;Insert user&lt;/title&gt;

&lt;script type="text/javascript"

       src="http://code.jquery.com/jquery-latest.js"&gt;&lt;/script&gt;

&lt;style type="text/css"&gt;

.user_text {



       margin: 10px;



       overflow: hidden;



}

.user_bottom{

       width: 387px;

       text-align: center;



}

.thongbao{

       width: 250px;

       float: left;

}

.thongbao3{

       width: 200px;

       float: left;

       margin-left: 30px;

}

.lable_text {

       width: 150px;

       float: left;

}



.classtext {

       float: left;

       width: 300px;

}



.error {

       color: red;

}



.success {

       color: blue;

}

.wapper{

       width: 800px;

       margin: auto;

}

#captcha{float: left;}

&lt;/style&gt;

&lt;script src="validate/jquery.js"&gt;&lt;/script&gt;

&lt;script src="validate/jquery.validate.js"&gt;&lt;/script&gt;

       &lt;script type="text/javascript"&gt;

       $().ready(function() {

       $("#signupForm").validate({

              rules: {

                     // xay dung cac tap luat

                     username: {

                           required: true,

                           minlength: 3

                     },

                     user_pass: {

                           required: true,

                           minlength: 5

                     },

                     user_pass2: {

                           required: true,

                           minlength: 5,

                           equalTo: "#user_pass"

                     },

                     user_email: {

                           required: true,

                           email: true

                     },



              },

              messages: {

                     user_name: "Vui lòng điền tên đăng nhập",



                     username: {

                           required: "Vui lòng điền tên đăng nhập",

                           minlength: "Tên đăng nhập tối thiểu 3 ký tự"

                     },

                     user_pass: {

                           required: "Vui lòng điền tên mật khẩu",

                           minlength: "Mật khẩu tối thiểu 5 ký tự"

                     },

                     user_pass2: {

                           required: "Vui lòng nhập lại mật khẩu",

                           minlength: "Mật khẩu tối thiểu 5 ký tự",

                           equalTo: "Nhập lại mật khẩu chưa chính xác"

                     },

                     user_email:{

                           required: "Vui lòng nhập email",

                           email: "Email chưa đúng định dạng"

                     },



              }

       });

});

       &lt;/script&gt;

&lt;script type="text/javascript"&gt;

       $(document).ready(function() {



              // Sự kiện khi nhập vào user_name

              $("#user_name").keyup(function() {



                     if ($(this).val() != '') {

                           // Gán text cho class thongbao trước khi AJAX response

                           $(".thongbao").html('checking username...');

                     }

                     // Dữ liệu sẽ gởi đi

                     var form_data = {

                           action : 'check_user',

                           user_name : $(this).val()

                     };



                     $.ajax({

                           type : "POST", // Phương thức gởi đi

                           url : "data.php", // File xử lý dữ liệu được gởi

                           data : form_data, // Dữ liệu gởi đến cho url

                           success : function(result) { // Hàm chạy khi dữ liệu gởi thành công

                                  $(".thongbao").html(result);



                           }

                     });



              });



       });

&lt;/script&gt;



&lt;/head&gt;

&lt;body&gt;

&lt;div class="wapper"&gt;



       &lt;form method="post" name="fcheck" id="signupForm" action="index.php"&gt;



              &lt;div class="user_text"&gt;

                     &lt;h2&gt;Đăng ký thành viên&lt;/h2&gt;

                     &lt;div class="user_text"&gt;

                           &lt;label class="lable_text"&gt;Tên đăng nhập:&lt;/label&gt; &lt;input type="text"

                                  class="classtext required" name="user_name" id="user_name"

                                  autocomplete="off" value=""&gt;

                           &lt;div class="thongbao"&gt;&lt;/div&gt;

                     &lt;/div&gt;

                     &lt;div class="user_text"&gt;

                           &lt;label class="lable_text"&gt;Mật khẩu:&lt;/label&gt; &lt;input type="password"

                                  class="classtext" name="user_pass" id="user_pass"

                                  autocomplete="off" value=""&gt;

                           &lt;div class="thongbao1"&gt;&lt;/div&gt;

                     &lt;/div&gt;

                     &lt;div class="user_text"&gt;

                           &lt;label class="lable_text"&gt;Xác nhận mật khẩu:&lt;/label&gt; &lt;input

                                  type="password" class="classtext" name="user_pass2" id="user_pass2"

                                   autocomplete="off" value=""&gt;

                           &lt;div class="thongbao2"&gt;&lt;/div&gt;

                     &lt;/div&gt;

                     &lt;div class="user_text"&gt;

                           &lt;label class="lable_text"&gt;Email:&lt;/label&gt; &lt;input

                                  type="email" class="classtext" name="user_email" id="user_email"

                                  autocomplete="off" value=""&gt;

                           &lt;div class="thongbao3"&gt;&lt;/div&gt;

                     &lt;/div&gt;



                     &lt;div class="user_bottom" &gt;

                     &lt;input type="submit" id="btn" name="dangky" value="Đăng ký"&gt;

                     &lt;/div&gt;

              &lt;/div&gt;



       &lt;/form&gt;

&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;
[/codesyntax]

Bây giờ bạn ra trình duyệt gọi đến file index.php bạn bấm đăng ký khi chưa nhập thông tin và thu được kết quả.



Đây là source bạn có thể tham khảo:

https://www.mediafire.com/?qvzfoqus3srbqmb

Chúc bạn lap trinh web thành công!



Xem thêm:
>>> Chuyên in decal trong giá rẻ
>>.> Địa chỉ in card visit giá rẻ
Tạo mã xác nhận cho form đăng ký thành viên

Tạo mã xác nhận cho form đăng ký thành viên

Ở bài trước, tôi đã giới thiệu các bạn kiểm tra tính hợp lệ của dữ liệu để giúp chúng ta kiểm tra thông tin từ người dùng một cách chính xác nhất. Nhưng khi kiểm tra như vậy vẫn chưa đủ an toàn cho website của chúng ta vì một phần mềm dễ dàng nhập thông tin hợp lệ vào các trường thông tin đó. Vì vậy chúng ta phải tìm cách để ngăn chặn các spam đó trong quá trình lap trinh web.

Trong bài này, chúng ta tiếp tục tìm hiểu phương pháp tạo dãy số ngẫu nhiên để chống tấn công flood dữ liệu. Hoặc ai đó cố tình spam khiến cơ sở dữ liệu của chúng ta không thể xử lý tiếp được.

Trong file index.php chúng ta sẽ thêm ô input nhập captcha và ảnh captcha như sau:

[codesyntax lang=”php”]
&lt;div class="user_text"&gt;

                           &lt;label class="lable_text"&gt;Mã xác nhận:&lt;/label&gt; &lt;input

                                  type="text" name="user_captcha" id="captcha"

                                  autocomplete="off" value=""&gt;

&lt;/div&gt;
[/codesyntax]

Tạo file captcha.php có nội dung như sau:

[codesyntax lang=”php”]
&lt;?php

session_start();

function create_image()
{
       $md5_hash = md5(rand(0,999));

       $security_code = substr($md5_hash, 15, 5);

       $_SESSION["security_code"] = $security_code;

       $width = 100;

       $height = 25;

       $image = ImageCreate($width, $height);

       $white = ImageColorAllocate($image, 255, 255, 255);

       $black = ImageColorAllocate($image, 0, 0, 0);

       ImageFill($image, 0, 0, $black);

       ImageString($image, 5, 30, 6, $security_code, $white);

       header("Content-Type: image/jpeg");

       ImageJpeg($image);

       ImageDestroy($image);

}

create_image() ;

exit();

?&gt;
[/codesyntax]


Đọa code trên có nhiệm vụ là tạo ra một chuỗi bất kỳ có 5 ký tự gán vào $_SESSION[“security_code”] và hiển thị chuỗi trên một khung có kích thước 100 x 25px Bạn vào trình duyệt ọi file index.php sẽ có kết quả.


Bây giờ chúng ta sẽ kiểm tra khi người dùng bấm nút đăng ký ( bạn nhớ thêm kiểm tra xem đã nhập captcha chưa nhé! )

Lúc đó chúng ta sẽ só sánh mã xác nhận so với $_SESSION[“security_code“]. Nếu giống nhau thì chúng ta lưu vào cơ sở dữ liệu. ngược lại thì thông báo lỗi yêu cầu nhập lại.

Và đoạn code xử lý như sau:

[codesyntax lang=”php”]

&lt;?php

session_start();

$name='';

$pass='';

$email='';

$name_err="";

$captcha_err="";

include 'config.php';

if(isset($_POST['dangky']))

{  

       $name=$_POST['user_name'];

       $pass=$_POST['user_pass'];

       $email=$_POST['user_email'];



if($_POST['user_captcha'] == $_SESSION['security_code'])

{

     $query="SELECT * FROM tbl_user WHERE user_name='".$name."'";

     $result=mysql_query($query);



     if(mysql_num_rows($result)&gt;0){

            $name_err="Tên đăng nhập đã tồn tại";

     }else{

            $query="INSERT INTO tbl_user (user_name,user_password,user_email) VALUES ('".$user_name."','".md5($user_pass)."','".$user_email."')" ;



            $result=mysql_query($query);



     }

}

else

{

   $captcha_err="Bạn nhập sai mã xác nhận";

}

}

?&gt;
[/codesyntax]

Và toàn bộ file index.php của chúng ta có nội dung như sau:

[codesyntax lang=”php”]

&lt;?php

session_start();

$name='';

$pass='';

$email='';

$name_err="";

$captcha_err="";

include 'config.php';

if(isset($_POST['dangky']))

{  

       $name=$_POST['user_name'];

       $pass=$_POST['user_pass'];

       $email=$_POST['user_email'];



if($_POST['user_captcha'] == $_SESSION['security_code'])

{

     $query="SELECT * FROM tbl_user WHERE user_name='".$name."'";

     $result=mysql_query($query);



     if(mysql_num_rows($result)&gt;0){

            $name_err="Tên đăng nhập đã tồn tại";

     }else{

            $query="INSERT INTO tbl_user (user_name,user_password,user_email) VALUES ('".$user_name."','".md5($user_pass)."','".$user_email."')" ;



            $result=mysql_query($query);



     }

}

else

{

   $captcha_err="Bạn nhập sai mã xác nhận";

}

}

?&gt;



&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;

&lt;html&gt;

&lt;head&gt;

&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;

&lt;title&gt;Insert user&lt;/title&gt;

&lt;script type="text/javascript"

       src="http://code.jquery.com/jquery-latest.js"&gt;&lt;/script&gt;

&lt;style type="text/css"&gt;

.user_text {



       margin: 10px;



       overflow: hidden;



}

.user_bottom{

       width: 387px;

       text-align: center;



}

.thongbao{

       width: 250px;

       float: left;

}

.thongbao3{

       width: 136px;

       float: left;

       margin-left: 30px;

}

.lable_text {

       width: 150px;

       float: left;

}



.classtext {

       float: left;

       width: 300px;

}



.error {

       color: red;

}



.success {

       color: blue;

}

.wapper{

       width: 800px;

       margin: auto;

}

#captcha{float: left;}

&lt;/style&gt;

&lt;script src="validate/jquery.js"&gt;&lt;/script&gt;

&lt;script src="validate/jquery.validate.js"&gt;&lt;/script&gt;

       &lt;script type="text/javascript"&gt;

       $().ready(function() {

       $("#signupForm").validate({

              rules: {

                     // xay dung cac tap luat

                     username: {

                           required: true,

                           minlength: 3

                     },

                     user_pass: {

                           required: true,

                           minlength: 5

                     },

                     user_pass2: {

                           required: true,

                           minlength: 5,

                           equalTo: "#user_pass"

                     },

                     user_email: {

                           required: true,

                           email: true

                     },

                     user_captcha: {

                           required: true

                           }





              },

              messages: {

                     user_name: "Vui lòng điền tên đăng nhập",



                     username: {

                           required: "Vui lòng điền tên đăng nhập",

                           minlength: "Tên đăng nhập tối thiểu 3 ký tự"

                     },

                     user_pass: {

                           required: "Vui lòng điền tên mật khẩu",

                           minlength: "Mật khẩu tối thiểu 5 ký tự"

                     },

                     user_pass2: {

                           required: "Vui lòng nhập lại mật khẩu",

                           minlength: "Mật khẩu tối thiểu 5 ký tự",

                           equalTo: "Nhập lại mật khẩu chưa chính xác"

                     },

                     user_email:{

                           required: "Vui lòng nhập email",

                           email: "Email chưa đúng định dạng"

                     },

                     user_captcha: {

                           required: "Vui lòng nhập mã xác nhận"

                           }





              }

       });

});

       &lt;/script&gt;

&lt;script type="text/javascript"&gt;

       $(document).ready(function() {



              // Sự kiện khi nhập vào user_name

              $("#user_name").keyup(function() {



                     if ($(this).val() != '') {

                           // Gán text cho class thongbao trước khi AJAX response

                           $(".thongbao").html('checking username...');

                     }

                     // Dữ liệu sẽ gởi đi

                     var form_data = {

                           action : 'check_user',

                           user_name : $(this).val()

                     };



                     $.ajax({

                           type : "POST", // Phương thức gởi đi

                           url : "data.php", // File xử lý dữ liệu được gởi

                           data : form_data, // Dữ liệu gởi đến cho url

                           success : function(result) { // Hàm chạy khi dữ liệu gởi thành công

                                  $(".thongbao").html(result);



                           }

                     });



              });



       });

&lt;/script&gt;



&lt;/head&gt;

&lt;body&gt;

&lt;div class="wapper"&gt;



       &lt;form method="post" name="fcheck" id="signupForm" action="index.php"&gt;



              &lt;div class="user_text"&gt;

                     &lt;h2&gt;Đăng ký thành viên&lt;/h2&gt;

                     &lt;div class="user_text"&gt;

                           &lt;label class="lable_text"&gt;Tên đăng nhập:&lt;/label&gt; &lt;input type="text"

                                  class="classtext required" name="user_name" id="user_name"

                                  autocomplete="off" value="&lt;?php echo $name;?&gt;"&gt;

                           &lt;div class="thongbao"&gt;&lt;?php echo $name_err;?&gt;&lt;/div&gt;

                     &lt;/div&gt;

                     &lt;div class="user_text"&gt;

                           &lt;label class="lable_text"&gt;Mật khẩu:&lt;/label&gt; &lt;input type="password"

                                  class="classtext" name="user_pass" id="user_pass"

                                  autocomplete="off" value=""&gt;

                           &lt;div class="thongbao1"&gt;&lt;/div&gt;

                     &lt;/div&gt;

                     &lt;div class="user_text"&gt;

                           &lt;label class="lable_text"&gt;Xác nhận mật khẩu:&lt;/label&gt; &lt;input

                                  type="password" class="classtext" name="user_pass2" id="user_pass2"

                                  autocomplete="off" value=""&gt;

                           &lt;div class="thongbao2"&gt;&lt;/div&gt;

                     &lt;/div&gt;

                     &lt;div class="user_text"&gt;

                           &lt;label class="lable_text"&gt;Email:&lt;/label&gt; &lt;input

                                  type="email" class="classtext" name="user_email" id="user_email"

                                  autocomplete="off" value="&lt;?php echo $email;?&gt;"&gt;

                           &lt;div class="thongbao3"&gt;&lt;/div&gt;

                     &lt;/div&gt;

                     &lt;div class="user_text"&gt;

                           &lt;label class="lable_text"&gt;Mã xác nhận:&lt;/label&gt; &lt;input

                                  type="text" name="user_captcha" id="captcha"

                                  autocomplete="off" value=""&gt;

                           &lt;div class="thongbao3"&gt;&lt;img src="captcha.php" /&gt;&lt;/div&gt;&lt;span&gt;&lt;?php echo $captcha_err;?&gt;&lt;/span&gt;

                     &lt;/div&gt;

                     &lt;div class="user_bottom" &gt;

                     &lt;input type="submit" id="btn" name="dangky" value="Đăng ký"&gt;

                     &lt;/div&gt;

              &lt;/div&gt;



       &lt;/form&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
[/codesyntax]
Câu lệnh GROUP BY trong MySQL bằng PDO (P.3)

Câu lệnh GROUP BY trong MySQL bằng PDO (P.3)

Trong phần 1phần 2 chúng ta đã biết cách nhóm kết quả khi học php  từ một hay nhiều trường dữ liệu trong MySQL bằng mysql và mysqli. Trong phần cuối, chúng ta sẽ đi tìm hiểu cách sử dụng câu lệnh GROUP BY trong MySQL bằng PDO.

Phần 3: Nhóm kết quả được thiết lập từ một hay nhiều trường dữ liệu trong MySQL bằng các câu lệnh PDO.

Cú pháp

SELECT tên_trường, function(tên_trường) FROM tên_bảng GROUP BY tên_trường

Trong đó:

  • tên_trường: là trường dữ liệu trong bảng.
  • tên_bảng: là bảng thao tác.
  • function: là một trong các hàm tổng hợp (như hàm SUM)


Ví dụ: Để áp dụng GROUP BY trước tiên ta cần tạo một bảng products bao gồm các trường sau:

name
price
Giả sử dữ liệu trong bảng products như sau:

name price
Iphone 10000000
Samsung 12000000
Iphone 3000000
Áp dụng để nhóm các giá trị giống nhau của trường name vào làm một. Và in ra màn hình tất cả các dữ liệu của bảng products sau khi đã nhóm.

<?php
 $host = 'localhost';
 $user = 'root';
 $pass = '';
 $dbName = 'mydb';

 try{
  $conn = new PDO("mysql:host=$host;dbname=$dbName", $user, $pass);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $query = $conn->prepare("SELECT name, SUM(price) FROM products GROUP BY name");
  $query->execute();

  $rows = $query->setFetchMode(PDO::FETCH_ASSOC);
  foreach(($query->fetchAll()) as $k=>$v ){
   echo $v['name']."---".$v['SUM(price)']."<br />";
  }
 }catch(PDOException $e){
   echo "Không có dữ liệu trả về!<br />";
   echo $e->getMessage();
 }

$conn = null;
?>

 Kết quả
iphone---13000000
samsung---12000000
Câu lệnh GROUP BY trong MySQL bằng MySQLi (P.2)

Câu lệnh GROUP BY trong MySQL bằng MySQLi (P.2)

Trong phần trước chúng ta đã biết cách nhóm kết quả trong lap trinh PHP từ một hay nhiều trường dữ liệu trong MySQL bằng mysql. Trong phần 2 này, chúng ta sẽ đi tìm hiểu cách sử dụng câu lệnh GROUP BY trong MySQL bằng MySQLi.

Phần 2: Nhóm kết quả được thiết lập từ một hay nhiều trường dữ liệu trong MySQL bằng các câu lệnh MySQLi.

Cú pháp

SELECT tên_trường, function(tên_trường) FROM tên_bảng GROUP BY tên_trường
Trong đó:

  • tên_trường: là trường dữ liệu trong bảng.
  • tên_bảng: là bảng thao tác.
  • function: là một trong các hàm tổng hợp (như hàm SUM)


Ví dụ: Để áp dụng GROUP BY trước tiên ta cần tạo một bảng products bao gồm các trường sau:

name
price
Giả sử dữ liệu trong bảng products như sau:

name price
Iphone 10000000
Samsung 12000000
Iphone 3000000
Áp dụng để nhóm các giá trị giống nhau của trường name vào làm một. Và in ra màn hình tất cả các dữ liệu của bảng products sau khi đã nhóm.

<?php
 $host = 'localhost';
 $user = 'root';
 $pass = '';
 $dbName = 'mydb';

 $conn = mysqli_connect($host, $user, $pass, $dbName);

 $sql = "SELECT name, SUM(price) FROM products GROUP BY name";
 $query = mysqli_query($conn, $sql);

 if(mysqli_num_rows($query) > 0){
   while($rows = mysqli_fetch_array($query)){
     echo $rows['name']."---".$rows['SUM(price)']."<br />";
   }
 }else{
   echo "Không có dữ liệu trả về!";
 }

 mysqli_close($conn);
?>
Hoặc cũng có thể sử dụng đối tượng trong MySQLi

<?php
 $host = 'localhost';
 $user = 'root';
 $pass = '';
 $dbName = 'mydb';

 $conn = new mysqli($host, $user, $pass);
 $conn->select_db($dbName);

 $sql = "SELECT name, SUM(price) FROM products GROUP BY name";
 $query = $conn->query($sql);

 if($query->num_rows > 0){
 while($rows = $query->fetch_array()){
  echo $rows['name']."---".$rows['SUM(price)']."<br />";
 }
 }else{
  echo "Không có dữ liệu trả về!";
 }

$conn->close();
?>
Kết quả
iphone---13000000
samsung---12000000
 Xem tiếp: Câu lệnh GROUP BY trong MySQL bằng PDO (P.3)

ngua duong tieu