Hiển thị các bài đăng có nhãn PHP. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn PHP. Hiển thị tất cả bài đăng

Một số jQuery Slideshow đẹp

jQuery đã và đang trở thành một công cụ rất hữu dụng cho các nhà thiết kế web. Một trong những thành công là tạo ảnh trượt (gallery, slideshow, carousel...). Hôm nay mình sẽ giới thiệu tới các bạn vài plugin mà bạn nên tham khảo khi dự định tạo một slideshow của riêng mình.

Slides

Jquery Slideshow

Nivo Slider

Jquery Slideshow cuc dep

TN3 Gallery

Jquery Slideshow dep

Pikachoose

Jquery Slideshow dep

Coin Slider

Jquery Slideshow dep

Galleria

Một vài Jquery Slideshow bạn không nên bỏ qua

Orbit

Một vài Jquery Slideshow bạn không nên bỏ qua

Supersized

Một vài Jquery Slideshow bạn không nên bỏ qua

Advanced jQuery Background Image Slideshow

Một vài Jquery Slideshow bạn không nên bỏ qua

s3Slider jQuery Plugin

Một vài Jquery Slideshow bạn không nên bỏ qua

Skitter

Một vài Jquery Slideshow bạn không nên bỏ qua

ResponsiveSlides

Một vài Jquery Slideshow bạn không nên bỏ qua

Sideways

Một vài Jquery Slideshow bạn không nên bỏ qua

Chúc các bạn lựa chọn được Slideshow phù hợp nhất cho mình.

Nhúng google map vào website

Bạn là chủ của một cửa hàng kinh doanh, chủ một shop quần áo, chủ một quán ăn ngon hay chủ một doanh nghiệp … bạn muốn website của mình có một thông tin gì đó trực quan để khách hàng có thể dễ tìm đến bạn, giải pháp tốt cho chúng ta là google map hay bản đồ google.
Hầu hết ai cũng bít đến google map đây là một công cụ định vị bản đổ rất nổi tiếng, toàn bộ bề mặt trái đất đều có ở trong bản đồ google này, kể cả địa chỉ bạn muốn nhúng vào webiste. Khách hàng sẽ không mất nhiều thời gian để tìm bỏ công tra cứu đường đi đến bạn nếu như ta sử dụng dịch vụ này.
Việc nhúng bản đồ của google vào website của bạn cũng khá đơn giản thôi, đầu tiên bạn đăng ký với google một tài khoản đó chính là Gmail của bạn. Sau đó đăng nhập vào tài khoảng ấy tiếp đến truy cập vào link: https://maps.google.com/maps, bạn click vào Địa điểm của tôi.
nhung google map vao website
Chọn Địa điểm của tôi trong google map
Sau đó bạn nhìn bên phải tim địa chỉ nào bạn muốn nhúng vào website, giả sử mình chọn địa chỉ trường ĐH Công Nghiệp Hà Nội. Sau đó chọn Lưu vào. Sau đó chọn tạo bạn đồ mới và lưu lại.
nhung google map vao website
Chọn địa điểm sử dụng trong bản đồ google
Sau đó nếu bạn muốn chỉnh sửa thì bấm vào Chỉnh sửa bên sidebar trái của google map. Ở đây bạn có thể chỉnh sửa tiêu đề hiển thị, dòng ghi chú cho bản đồ của bạn.
nhung google map vao website
Edit địa chỉ đã chọn trên Google map
Các bước đến đây gần như là hoàn thành, bạn xem lại địa chỉ ok thì ta get code mang về để vào web là chúng ta có bản đồ cho doanh nghiệp mình trên website.
Bạn click vào biểu tượng hình liên kết thân quen của mình và dòng dưới là dòng google cho chúng ta nhúng vào web. Bạn có thể thay đổi kích thước của frame (khung) này sao cho phù hợp với giao diện website của bạn.
Nhúng google map vào website
Kết luận: Việc nhúng bản đồ của google vào website có nhiều cách, trên là cách đơn giản nhất giờ chỉ việc style CSS lại cho đẹp là OK. Chúc thành công!










Tạo form tìm kiếm dạng Expandable Search

Để tạo một form tìm kiếm khi di chuột vào, nó sẽ mở rộng textbox tìm kiếm ra, chúng ta sử dụng HTML và CSS3 như sau:

HTML

<form>

<input type="search" placeholder="Tìm kiếm">

</form>

CSS3

Reset Search Input

input {

outline: none;}

input[type=search] {

-webkit-appearance: textfield;

-webkit-box-sizing: content-box;}

Đến phần định dạng phần input tìm kiếm

input[type=search] {

background:#fff url(img.png) no-repeat right center;

border: solid 1px #a3a3a3;

padding: 10px 30px 10px 10px;

margin-left:300px;

width: 150px;}

Bo góc

input[type=search] {

-webkit-border-radius: 20px;

-moz-border-radius: 20px;

border-radius: 20px;}

Hiệu ứng Transition

input[type=search] {

-webkit-transition: all 0.5s linear;

-moz-transition: all 0.5s linear;

-o-transition: all 0.5s linear;

transition: all 0.5s linear;}

Cuối cùng khi rê chuột vào phần search

input[type=search]:focus {

width: 250px;

background-color: #fff;

border-color: #6dcff6;

-webkit-box-shadow: 0 0 5px rgba(109,207,246,0.5);

-moz-box-shadow: 0 0 5px rgba(109,207,246,0.5);

box-shadow: 0 0 5px rgba(109,207,246,0.5);}

Tạo form tìm kiếm dạng Expandable Search

Chúc các bạn thành công!

10 BÍ QUYẾT TRONG LẬP TRÌNH AJAX

Giờ đây, khi nhắc đến Ajax, chắc hẳn bạn - những người yêu thích lập trình - không còn cảm thấy xa lạ như trước kia mà thậm chí còn hình dung ra sự giản đơn và thuận tiện biết bao khi ứng dụng nó. Nhưng, liệu bạn đã nắm vững những quy tắc then chốt, những “mẹo nhỏ” hữu ích khi lập trình với Ajax chưa nhỉ? Dù bạn đã rõ hay...trót quên, vẫn xin mời bạn tham khảo bài viết này như một cách ôn lại kiến thức trọng tâm đầy bổ ích!
A. 10 lưu ý vàng cần ghi nhớ


1. Đánh dấu trang và quay lại
Khi tự bạn điều khiển những gì đang diễn ra trên website, sử dụng JavaScript để làm xuất hiện hay biến mất các đối tượng trên trang hay thậm chí là sau khi toàn bộ trang được hiển thị hoàn toàn, bạn sẽ nhanh chóng nhận ra rằng, nút Quay lại (Back) của trình duyệt đã mất hoàn toàn tác dụng! Nút Quay lại này hoạt động bằng cách dùng đối tượng ‘history’ của trình duyệt, lưu lại danh sách tất cả các trang đã được truy cập liên tiếp gần đây nhất. Nhưng, nếu bạn không mở bất kỳ trang mới nào (vâng, như bạn biết, Ajax không cần phải refresh trang khi cần hiển thị thông tin), thì đối tượng ‘history’ kia rõ ràng chẳng lưu được chút manh mối gì. Đây là điều bạn cần lưu ý khi viết các ứng dụng Ajax.
Và nếu như cần thiết, hãy trang bị cho site của bạn một nút Back của riêng mình. Người dùng có thể muốn quay lại cửa sổ trước đó và bạn có nhiệm vụ phải lưu giữ những thông tin di chuyển này. Thật đáng tiếc là ngay cả tiện ích đánh dấu trang (Bookmark) cũng trở nên vô dụng như thế! Đáp án cụ thể cho bài toán này ra sao, xin được dành câu trả lời cho bạn nghiên cứu.


2. Đưa ra thông báo trực quan
Phần lớn thời gian của mình, Ajax hoạt động một cách “thầm lặng” và điều này đôi khi “làm khó” người dùng. Nếu bạn tải về một lượng lớn thông tin và đang chờ đợi phản hồi từ phía máy chủ, chắc chắn một hình ảnh “nhấp nháy” nào đấy sẽ vô cùng có ích với người dùng. Một chiếc đồng hồ cát xoay tròn, và khách hàng sẽ biết rằng họ cần kiên nhẫn! Bức hình này nên là dạng ảnh động (.gif), đồng thời phối hợp với đoạn mã JavaScript dưới đây, hiệu ứng “ẩn, hiện” sẽ càng thêm phần thú vị:
document.getElementById(“image1”).style.visibility= “visible”;
document.getElementById(“image1”).style.visibility= “hidden”;
Rõ ràng rằng, người dùng luôn muốn thấy một tín hiệu nào đấy báo cho họ biết rằng kết nối đang được thực hiện, dạng như thanh tiến trình màu xanh với các gạch nối càng lúc càng đầy cũng là một ý tưởng không tồi, và chắc chắn họ sẽ hài lòng với site của bạn!


3. Hãy để người dùng "tự nhiên"
Các ứng dụng Ajax dường như đang tự mình thi hành “phận sự” bởi chúng được thực thi phía sau giao diện người dùng. Chúng luôn sẵn sàng kết nối tới server, ngay cả khi người dùng không hề mong muốn – trong trường hợp họ vô tình gõ nhầm thông tin chẳng hạn. Rất dễ hình dung cảm giác lúc đó của bạn ra sao, khi ngay lúc bạn vừa gõ một chữ nào đấy, lập tức thông tin này đã được lưu lại database mà chẳng hề “xin phép” lấy một lời. Vậy nên, để tốt nhất, bạn hãy lưu ý một số điều nhỏ sau:
- Đừng bao giờ lưu thông tin ngay lập tức, vừa tốn băng thông mà chưa chắc đã được sự đồng ý của người dùng.
- Hãy nhớ rằng, người dùng luôn muốn “giao tiếp” nhiều hơn với ứng dụng. Hãy làm các thủ tục xác thực dữ liệu ngắn gọn hơn, đỡ mất thời gian hơn và cho người dùng quyền quyết định khi nào thì cần xác thực. Đấy chính là yếu tố tiên quyết trong quá trình thiết kế giao diện người dùng!
- Cuối cùng, đừng quên cung cấp cho người dùng cách thức “sửa sai” thao tác (Undo).


4. Ghi nhớ các trình duyệt
Thế giới thật rộng lớn và cũng có rất nhiều trình duyệt! Người dùng sử dụng trình duyệt họ yêu thích, còn bạn, sẽ ra sao khi chỉ kiểm tra ứng dụng của mình trên một loại trình duyệt mà thôi? Sẽ thật tệ nếu bạn chỉ viết riêng cho Internet Explorer, Firefox mà quên mất rằng, trong thế giới World Wide Web, có vô vàn trình duyệt khác nhau, có loại thậm chí còn không hỗ trợ JavaScript, loại khác lại mặc định tắt chúng đi! Hãy ghi nhớ điều này và xây dựng trước một phương án dự phòng không bao giờ là thừa cả.


5. Cho người dùng thấy sự thay đổi
Sức mạnh của Ajax chính là việc hiển thị dữ liệu trên một trang không cần refresh bằng cách dùng thẻ <meta id="refresher"> hay ngay cả các đối tượng thuần HTML như textbox chẳng hạn. Ứng dụng Ajax có thể thay đổi dữ liệu ngay sau khi chúng thông báo tới server, nhưng lại không thông báo với người dùng. Lấy ví dụ, bạn có một bảng dữ liệu và mặc định rằng sẽ được tự động cập nhật ngay khi database có thay đổi. Người dùng có thể không nhận thấy rằng thông tin đã không còn như trước, rằng bạn đã thay đổi thành phần trang, và đương nhiên là họ đã hụt mất những thông tin quan trọng. Lại một lần nữa, việc phát ra “tín hiệu” thay đổi tới người dùng sẽ giúp bạn rất nhiều. Nếu bạn vừa thay đổi một số chữ, đơn giản thôi, hãy làm cho nó hiển thị khác đi một chút. Đoạn mã sau dùng để thay đổi màu chữ trong thẻ <Div> thành màu đỏ bằng cách sử dụng linh hoạt thuộc tính style:
document.getElementById(“targetDiv”).style.color = “red”;
Còn nếu bạn muốn thay đổi màu nền, hãy dùng đoạn mã
document.getElementById(“targetDiv”).style.background-color = “red”;
Trong đó, “targetDiv” là mã ký hiệu của thẻ Div mà bạn gán cho.


6. Tránh làm chậm trình duyệt
Những ứng dụng Ajax có thể rất lớn và chắc chắn chiếm dụng một lượng tài nguyên vật lí không nhỏ. Tốc độ CPU, bộ nhớ RAM có thể bị “ngốn” rất nhiều nếu như bạn không quan tâm xử lí những đối tượng phức tạp trong quá trình khởi tạo hay tham chiếu. Thông thường, một số nhà phát triển ứng dụng lại xài Ajax cũng chỉ bởi vì nó đang “nóng”!! Quan niệm này cần được lưu tâm hơn! Đúng vậy, Ajax có thể giải quyết được nhiều vấn đế, nhưng bạn không nhất thiết phải dùng nó nếu chẳng có lí do gì. Đừng quên rằng, không phải trình duyệt nào cũng hỗ trợ Ajax (hoặc thậm chí ở chế độ mặc định tắt JavaScript). Vậy nên, đừng vì độ “hot” của Ajax mà quên đi mất tính khả dụng và tôc độ của chương trình bạn nhé!


7. Quản lý những thông tin riêng tư
Với Ajax, thật dễ để bạn gửi thông tin lên server mà không cần sự chú ý của người dùng. Nói theo cách khác, quá trình liên lạc giữa máy khách (client) và máy chủ (server) được diễn ra một cách “thầm lặng”. Nhưng sự thật là, không phải người dùng nào cũng muốn gửi thông tin lên server ngay. Bạn hãy lưu tâm đến vấn đề nhạy cảm này! Mặc dù thương mại điện tử tại Việt Nam chỉ mới chập chững những bước đầu tiên, những tổn thất xảy ra là điều không thể tránh khỏi, nhưng chính vì thế bạn càng phải nâng cao tinh thần bảo vệ người dùng. Internet rõ ràng đầy rẫy những cạm bẫy và sự thật thì môi trường này không phải là nơi hoàn hảo để lưu giữ thông tin có tính riêng tư. Nếu bạn định gửi mã số Thẻ tín dụng hoặc mã Bảo mật của thẻ mà không được sự đồng ý của người dùng, rất có thể bạn sẽ phải đói mặt với nhiều rắc rối! Do đó, hãy cho người dùng thấy được lợi ích của việc hoài nghi: Luôn hỏi trước khi gửi dữ liệu!


8. Xây dựng phương án dự phòng
Sự sống còn của Ajax phụ thuộc vào tín hiệu kết nối tới server, nhưng người dùng thì không phải lúc nào cũng trực tuyến. Server của bạn có thể bị “chết đứng” bất cứ lúc nào, và người dùng rất có thể đang làm việc với các thông tin được lưu trong bộ đệm trình duyệt từ trước đó! Nếu bạn không thể kết nối đến server khi đang online, thì việc xây dựng một phương án dự phòng là rất cần thiết (một server dự trữ chẳng hạn). Cũng đừng quên việc hỗ trợ các trình duyệt không có JavaScript nữa nhé!


9. Hiển thị thông tin trên các cỗ máy tìm kiếm
Cơ chế tìm kiếm của Google dựa trên việc sàng lọc thông tin từ hàng tỉ website theo thông số mà người dùng cung cấp, nhưng ứng dụng Ajax của bạn lại load thông tin lên dựa trên sự tương tác của người dùng mà chẳng cần refresh lại trang - điều này khiến Google sẽ không thể “nhìn” thấy được những thông tin như thế. Vậy nên ghi nhớ kỹ rằng, để thông tin trên website của bạn có thể được các cỗ máy tìm kiếm “mò” tới, bạn cần cung cấp những dữ liệu đặc tả nội dung trang. Làm điều này như thế nào? Không khó! Chỉ cần sử dụng các thẻ<meta> đặt trong phân đoạn của mã trang, các cỗ máy tìm kiếm có thể “đánh dấu” bạn dễ dàng! Và nếu thực sự hứng thú về các thẻ <meta> này, mời bạn ghé qua địa chỉ sau đây để tìm hiểu thêm cặn kẽ:http://www.seocentro.com/tools/search-engines/metatag-analyzer.html


10. Cuối cùng, xin lưu ý đến bộ đệm trình duyệt
Một số trình duyệt như Internet Explorer thường lưu lại thông tin về các website đã truy cập trong bộ đệm riêng của nó (thuật ngữ chuyên ngành gọi là “cache”). Điều này đồng nghĩa với việc, nếu ai đó truy cập đến cùng một địa chỉ URL trong một khoảng thời gian giới hạn nào đấy, thông tin hiện lên cho họ có thể chính là những thông tin vừa xem (được lấy ra từ cache).
Về nguyên tắc, điều này làm quá trình tải trang nhanh chóng hơn, các thông tin được coi là giống với lần truy cập trước có thể sẽ không cần phải tải về lần nữa, mà chỉ cần lấy từ cache ra và hiển thị lên. Nhưng với các website có ứng dụng Ajax thì đây đúng là một vấn đề lớn! Tại sao lại như vậy? Rất đơn giản, ở Ajax không có tính năng làm mới toàn bộ trang mà chỉ là một vài thành phần trong trang! Do đó, nếu khi bạn đã thay đổi dữ liệu trên trang mà kết quả trả về giống hệt như lúc trước thì không còn nghi ngờ gì nữa, bạn chắc hẳn đã gặp rắc rối rồi! Vậy nên, để hạn chế việc lưu thông tin đệm trong ứng dụng Ajax, bạn có thể đặt nhiều thông số header khác nhau khi gửi trả dữ liệu từ server, như đoạn code PHP dưới đây:
header(“Cache-Control”, “no-cache”);
header(“Du-lieu-header-tuy-y”, “no-cache”);
header(“Expires”, “-1”);
Mặc dù vậy, đoạn code trên lại không có tác dụng gì với Internet Explorer do việc lưu thông tin trong cache của IE lại phụ thuộc phần lớn vào địa chỉ trình duyệt. Do đó, có một cách rất hay là luôn thay đổi địa chỉ ứng dụng khi truy vấn đến server. Để làm điều này, bạn chỉ cần khai báo một biến ngẫu nhiên nào đấy (mà server chẳng dùng làm gì) vào phần cuối của địa chỉ, chẳng hạn như:
var myUrl = “data.php?name=bcvt” + “&t=” + new Date().getTime();
Một ý tưởng không tồi khi đưa thêm biến “t” vào địa chỉ URL trên, với “t” là thời gian hiện tại tính bằng mili giây. Vì địa chỉ này chắc chắn chưa từng được truy cập, nó sẽ không bị lưu trong bộ đệm cache trước đây và ứng dụng của bạn chắc chắn sẽ chạy “ngon lành”!


B. Lời kết
Như bạn thấy đó, việc lập trình Ajax tuy hết sức thú vị những cũng ẩn chứa nhiều “rắc rối nho nhỏ” phải không nào? Nếu không biết cách khắc phục chúng hoặc không để ý lưu tâm, các ứng dụng của bạn rất có thể sẽ hoạt động không được như mong muốn khi thiết kế. Hy vọng qua bài viết, các bạn hiểu được phần nào những “yếu điểm” của Ajax để từ đó tìm tòi hơn, sáng tạo ra những “chiêu thức” khắc phục cho riêng mình.

Theo TC BCVT & CNTT

PHP c-Image Uploader 3.1 (upload ảnh lên 1 số dịch vụ chia sẻ ảnh)

Version cũ hơn 2.6.3 tại đây

Bản mới có version 3.1 Update: 9/3/2012: http://www.mediafire.com/?ww546c9bw48r02d

Thêm 1 số tính năng mới

  • Code lại core để phát triển thêm các plugin cho tiện lợi
  • Thêm 1 số plugin để upload lên các dịch vụ chia sẻ khác (imageshack, imgur, picasa, anhso...)
  • Có thể kết hợp c-Image Uploader vào các CMS hoặc forum hay các code khác để upload. Các developer có thể xem thêm trong plugin
  • Thay đổi giao diện, dùng jquery cho mượt. Mấy năm trước dụng js thuần nên hơi thô cứng và cùi bắp
  • .v.v.

Cách sử dụng

- Xem trong file upload.php để biết cách cấu hình. Muốn chỉnh mặc định các option khi duyệt trang lần đầu thì sửa trong file script.js

- File index.php cũng cần sửa 1 vài chỗ html (option) cho phù hợp và đồng bộ với script.js.

Cái nào ko muốn dùng thì xóa đi cũng đc

lap-trinh-php

lap-trinh-php

7 thủ thuật tối ưu code để tăng tốc website

1. Chuyển host lưu trữ file hoặc ảnh cỡ lớn sang nơi khác
Nhiều người cùng online một lúc có thể làm nghẽn đường truyền của bạn với hàng đống yêu cầu xem cùng một tấm hình trên website. Gánh nặng dữ liệu có thể chuyển sang những website chuyên để lưu trữ và chia sẻ ảnh như ImagaShack, Photobucket hay Flickr. Bằng cách này, máy chủ web của bạn chỉ cần đảm bảo phần text và file ảnh cỡ nhỏ, giảm đáng kể băng thông đồng nghĩa với việc phục vụ được nhiều người một lúc hơn.
Nếu muốn chia sẻ những file nhỏ, khoảng 2 – 5MB, với khách viếng thăm, bạn có thể sử dụng dịch vụ Google Pages như một máy chủ web phụ.
2. Tối ưu hóa mã CSS
Hiện nay, nhiều website bắt đầu sử dụng CSS (Cascade Style Sheet) để định dạng. Mặc dù bảng CSS nhìn bắt mắt và hiệu quả hơn định dạng bảng HTML, nhưng nó đòi hỏi bạn phải tối ưu hóa code của chúng mới mong đạt được tốc độ tối ưu. Đoạn mã CSS “sạch” sẽ giúp trình duyệt giải mã trang web nhanh hơn.
Ví dụ: Thay vì viết:

margin-top: 20px;
margin-right: 10px;
margin-bottom: 20px;
margin-left: 10px;

Bạn nên viết:

margin: 20px 10px 20px 10px;

Theo các chuyên gia tối ưu hóa của Yahoo thì các mã CSS nên được đặt ở phần đầu của web. Điều này đặc biệt ý nghĩa nếu trang của bạn lớn và có nhiều đối tượng. Nếu bạn đặt CSS ở cuối hoặc giữa trang web, trình duyệt sẽ dùng định dạng mặc định để hiện thị, sau đó mới tái định dạng bằng CSS. Điều đó đòi hỏi thêm thời gian tính toán và tất nhiên người dùng sẽ khó chịu khi nhìn một website vỡ tung khi chưa định hình.Thậm chí, một số trình duyệt cũng cấm đặt CSS tại cuối website.
3. Tối ưu hóa hình ảnh
Có 4 loại định dạng hình ảnh sử dụng phổ biến trên web: PNG, JPG, /JPEG và GIF. Hầu hết các phần mềm xử lý ảnh như Adobe Photoshop đều có tính năng “Save for Web” để tối ưu tỉ lệ giữa chất lượng hình và kích thước file.
4. Khai báo kích thước hình ảnh
Nhiều lập trình viên nghiệp dư “quên” khai báo tag chiều cao và rộng của ảnh khi viết mã HTML. Hai thông số này báo với trình duyệt kích thước của ảnh trước khi dữ liệu được tải về. Nếu không được khai báo trước, trình duyệt phải tự tính toán kích thước bằng cách download toàn bộ hình ảnh về, sau đó mới đến lượt các dữ liệu khác.
Khi khai báo hình ảnh có đầy đủ các tag, trình duyệt sẽ dành 1 khoảng trống vừa đúng kích thước ảnh và tiếp tục tải dữ liệu. Như vậy, người xem có thể đọc ngay phần văn bản trong khi hình ảnh vẫn tiếp tục được hiện ra từng phần.
5. Giảm thiểu sử dụng Javascript
Các hiệu ứng hoạt hình của Java script rất bắt mắt và nhiều người có xu hướng đưa chúng vào website của mình. Tuy nhiên, sử dụng quá nhiều Javascript có thể làm trình duyệt bị treo cứng khiến người dùng bực mình. Phải cân nhắc thật kỹ lưỡng trước khi sử dụng chúng.
Vị trí đặt các đoạn mã script cũng khá quan trọng đối với tốc độ hiển thị. Lời khuyên của dân lập trình chuyên nghiệp: chỉ để những script thực sự quan trọng có ảnh hưởng toàn trang lên đầu, còn những hiệu ứng khác (hoạt hình, thống kê,…) thì cho xuống cuối trang.
Việc đưa Javascript và CSS ra liên kết bên ngoài tốt hơn là chèn thẳng vào trang web. Những file này sẽ được lưu tại bộ nhớ đệm (cache) của trình duyệt và người dùng sẽ không phải download lại chúng mỗi khi cần đến. Nó giảm đáng kể thời gian và băng thông của máy chủ cũng như người dùng.
6. Tối ưu hóa liên kết
Chú ý mỗi đường link được đặt trên website hay blog của bạn được viết một cách ngắn gọn và chính xác. Ví dụ mỗi entry trên 360 Yahoo đều có 1 phần “Permanent Link” để lấy liên kết chính xác và gọn gàng hơn nhiều so với những gì hiển thị trên ô địa chỉ (address bar) của trình duyệt. Việc sử dụng chính xác đường link sẽ giảm bớt những yêu cầu không đáng có đối với máy chủ trong một số trường hợp.
7. Giảm bớt các yêu cầu HTTP tới máy chủ
Khi mở website, mỗi đối tượng trên trang (hình ảnh, script, hình vẽ, đường kẻ, …) đều tạo ra 1 yêu cầu tới máy chủ để tải về. Tất nhiên, càng nhiều đối tượng thì việc tải về càng lâu hơn. Vì thế, hãy giảm thiểu số đối tượng trên cùng 1 trang và cố gắng gộp file CSS với các script lại với nhau.

Tích hợp Google Search vào website của bạn

Bước 1

Truy cập http://www.google.com.vn/cse/?hl=vi

Chọn nút "Tạo công cụ tìm kiếm tùy chỉnh"

tich hop google search vao website

Bước 2: nhập thông tin: tên, mô tả, ngôn ngữ, trang web tìm kiếm ( có thể nhập nhiều trang web - mỗi url 1 dòng)

tich hop google search vao website

Có thể thử công cụ tìm kiếm bằng cách gõ nội dung cần tìm kiếm

tich hop google search vao website

Chọn các giao diện tìm kiếm có sẵn

tich hop google search vao website

Bước 3: Copy đoạn script chèn vào website của bạn

tich hop google search vao website

Chúc các bạn thành công

Dịch trang web của bạn sang 52 ngôn ngữ

Cách đơn giản để làm website của bạn thành web đa ngôn ngữ

lap trinh asp.net

Chỉ cần copy và paste “Translate This Button” vào vị trí bất kì trên website của bạn, hoàn toàn miễn phí và sử dụng đơn giản. Nó hoạt động tốt hầu hết trên mọi website. Translate This Button là JavaScript translation widget có dung lượng khá nhẹ, có thể dịch bất kỳ trang web nào một cách nhanh chóng bằng cách sử dụng ajax và google translate.

Code: copy và paste vào website của bạn

<!-- Begin TranslateThis Button -->

<div id="translate-this">

<a style="width:180px;height:18px;display:block;" class="translate-this-button" href="http://www.translatecompany.com/">Translate Company</a>

</div>

<script type="text/javascript" src="http://x.translateth.is/translate-this.js"></script>

<script type="text/javascript">

TranslateThis();

</script>

10. PHP - Làm việc với PHP và mảng dữ liệu: foreach

Hàm foreach tương tự như hàm While, nếu sử dụng while kết hợp thông qua một danh sách kết quả từ truy vấn

foreach ($row as $value) {

echo $value;

echo “<br>”;

}

Ví dụ về việc sử dụng foreach. Mở tập select.php sửa đổi lại như sau.

<?php

//connect to MySQL

$connect = mysql_connect("localhost", "root", "")

or die("Hey loser, check your server connection.");

//make sure we're using the right database

mysql_select_db("moviesite");

$query = "SELECT movie_name, movie_type " ."FROM movie ";

$results = mysql_query($query)

or die(mysql_error());

//while ($row = mysql_fetch_array($results,MYSQL_ASSOC)){

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

         foreach ($row as $val1) {

                 echo $val1;

                 echo " ";

          }

         echo "<br>";

         //extract($row);

         //echo $movietype_id;

         //echo " - ";

         //echo $movietype_label;

}

?>

Sau khi cho chạy chương trình, giao diện như sau:

: php & mysql

9. PHP - Bắt đầu với My SQL và PHP như thế nào?

Một vài hàm thường dùng là:

$mysql_connect ("hostname", "user", "pass"): Kết nối đến MY SQL server.

$mysql_select_db("database name"): Tương đương với lệnh USE trong My SQL, làm cho cơ sở dữ liệu được chọn hoạt động

$mysql_query("query"): Gởi bất kỳ câu lệnh của My SQL đến server

$mysql_fetch_rows("biến kết quả từ truy vấn"): Trả về 1 dòng kết quả của một dữ liệu truy vấn

$mysql_fetch_array("biến kết quả từ truy vấn"): Trả về nhiều dòng kết quả của truy vấn

$mysql_error(): Đưa ra lỗi được trả về từ My SQL server

Bạn có thể gởi bất kỳ My SQL nào đến server thông qua câu lệnh PHP hoặc câu lệnh Mysql_query.

Ví dụ:

$query = “SELECT * from TABLE”;

$results = mysql_query($query);

Bạn cũng có thể dùng như sau:

$results = mysql_query(“SELECT * from TABLE”);

1.1. Kết nối MY SQL Server

Lệnh kết nối với hàm PHP là mysql_connect, với cú pháp như sau:

$host = “localhost”;

$user = “bp5am”;

$pass = “bp5ampass”;

$connect = mysql_connect($host, $user, $pass);

Trong đó :

$host là tên của máy chủ

$user:tên của máy người dùng

$pass:mật khẩu truy cập của người dùng

1.2. Đọc, tạo cơ sở dữ liệu

Để tạo một cơ sở dữ liệu cho bạn cần 3 bảng:

· Một bảng movie: Ta sẽ lưu trữ tên và thông tin của movie.

· Một bảng movietype: Nơi lưu trữ những catalog của movie.

· Một bảng people: Ta sẽ lưu trữ tên của các diễn viên và đạo diễn.

Chúng làm việc như thế nào?

- Đầu tiên ta thực hiện kết nối đến My SQL server, sau đó tạo lập cơ sở dữ liệu nếu không tạo được sẽ đưa ra thông báo lỗi.

- Sau đó bắt đầu tạo từng bảng riêng lẻ

- Đưa dữ liệu vào các bảng

1.3. Truy vấn cơ sở dữ liệu

Chúng ta đã tạo ra cơ sở dữ liệu, bây giờ muốn nhận lại thông tin từ dữ liệu đó, dùng công thức như sau:

SELECT [fieldnames]

AS [alias]

FROM [tablename]

WHERE [criteria]

ORDER BY [fieldname to sort on] [DESC]

LIMIT [offset, maxrows]

· SELECT [fieldnames]: Quyết định đầu tiên mà vùng chứa tên đặc biệt mà bạn muốn nhận lại. Nếu bạn muốn thấy tất cả thông tin bạn chỉ cần chọn dấu *

· AS: Bạn có thể sử dụng bí danh để nhóm hai hoặc nhiều hơn hai vùng khác nhau mà có thể chuyển đến chúng * như là một biến lớn

SELECT first_name, last_name AS full_name. . . ORDER BY full_name . . .

Bạn không thể sử dụng tham số AS với tham số WHERE, bởi vì nó bị giới hạn trong MY SQL. Khi WHERE được thực thi thì cột giá trị không biết

· FROM: Tên bảng cần truy xuất thông tin

· WHERE: Danh sách điều kiện chọn lọc dữ liệu

· ORDER BY: Để sắp xếp dữ liệu trong vùng

· LIMIT: Giới hạn kết quả trả về

1.4. WHERE , oh WHERE

Đưa ra điều kiện để hiển thị thông tin mà bạn cần

SELECT * FROM customers WHERE gender = “Male”

Trả về tất cả các thông tin khách hàng có giới tính “Nam”

Các phép toán so sánh trong câu lệnh WHERE:

· =,<,>,>=,<=,!=

· LIKE và %: So sánh một phần của đoạn code với đoạn chứa nó, xuất ra tất cả những mẫu tin có liên quan đến nó.

Ví dụ:

SELECT * FROM products WHERE description LIKE “%shirt%”

8. PHP - Tổng quan về MySQL

MySQL là hệ thống cơ sở dữ liệu quan hệ. Ý nghĩa cơ bản của MySQL là nó có thể lưư trữ thông tin ở những vùng khác nhau và liên kết chúng lại với nhau. Chúng ta có thể chứa bất cứ thứ gì trong một cơ sở dữ liệu. Ví dụ như những thông tin liên quan đến một người: chẳng hạn như first name, last name, address, phone….

MySQL cho phép bạn tạo những thông tin riêng lẻ trên bảng hoặc những khu vực chứa thông tin thích hợp. Trong MySQL mỗi bảng bao gồm những trường dữ liệu (field) riêng lẻ.

1.1.1. Cấu trúc MySQL

Bởi vì MySQL là hệ quản lý dữ liệu quan hệ, nó cho phép chúng ta tạo những bảng thông tin riêng, hoặc những vùng thông tin thích hợp. Trong hệ thống cơ sở dữ liệu không quan hệ, tất cả những thông tin được lưu trữ trong một bảng lớn tạo nên những khó khăn trong việc sắp xếp và chỉ có thể chép dữ liệu mà bạn muốn. Trong SQL, mỗi bảng bao gồm những phần riêng biệt, biễu diễn mỗi thông tin.

Bạn có thể tạo ra cơ sở dựa trên những loại thông tin mà bạn lưu trữ. Những bảng riêng biệt của MySQL liên kết với nhau nơi mà giá trị của vùng phổ biến là như nhau.

Ví dụ: Cho rằng bảng bao gồm tên khách hàng, địa chỉ và số ID, bảng khác bao gồm số ID, nơi ở, ….Vùng chung là số ID, thông tin được lưu trữ trong hai bảng riêng biệt sẽ liên kết với nhau nơi mà số ID là như nhau. Điều này cho chúng ta thông tin về khách hàng cùng lúc.

1.1.2. Các kiểu dữ liệu

Khi bạn tạo một bảng ban đầu, bạn cần nói với MySQL server kiểu nào của thông tin sẽ lưu trữ trong mỗi bảng. Các kiểu khác nhau được cho trong bảng sau:

Loại MySQL

Diễn tả

Ví dụ

Char(length)

Mọi ký tự đều có thể là loại này, nhưng có chiều dài cố định

Trạng thái của khách hàng có 2 ký tự

Varchar(length)

Mỗi ký tự đều có thể trong loại này, dữ liệu có thể thay đổi chiều dài từ 0 đến 255 ký tự.

Địa chỉ của khách hàng có chữ và số, thay đổi trong chiều dài

Int(length)

Có chiều dài từ -2147483648 đến 2147483647.

Số sản phẩm trao tay

Int(length)

unsigned

Lưu trữ số từ 0 đến 4294967295.

ID khách hàng

Text

Kích thước dữ liệu là 65536 ký tự.

Cho phép đoạn text dài hơn được lưu trữ, không có loại giới hạn đến 255 ký tự.

Decimal(length, dec)

Có thể lưu trữ số thập phân

Giá cả

Enum(“option1”, “option2”,..

Lưu trữ giá trị chắc chắn như đúng hoặc sai

Giới tính của người dùng nam hoặc nữ

Date

Lưu trữ ngày như yyyy-mm-dd

Ngày sinh nhật,…

Time

Lưu trữ giờ như hh:mm:ss

Giờ một hoạt động mới được đưa vào trang Web

Datetime

Lưu trữ ngày và giờ như yyyy-mm-dd hh:mm:ss

Ngày và giờ sau khi người đến thăm trang Web

Mặc dù những loại trên đáp ứng được nhu cầu cần thiết, một bảng các kiểu cho dưới đây cũng thường gặp.

Loại MySQL

Diễn giải

tinyint(length)

Lưu trữ số nguyên từ -128 đến 127 (thêm tham số unsigned thì cho phép lưu trữ từ 0 đến 255)

smallint(length)

Lưu trữ số nguyên từ -32768 đến 32767 (thêm tham số unsigned thì cho phép lưu trữ từ 0 đến 65535)

loại MySQL

Diễn giải

mediumint(length)

Lưu trữ số từ -8388608 đến 8388607 (thêm tham số unsigned cho phép lưu trữ từ 0 đến 16777215)

bigint(length)

Lưu trữ số từ -9223372036854775808 đến -9223372036854775807 (nếu thêm tham số unsigned cho phép lưu trữ từ 0 đến 184467440709551615)

Tinytext

Cho phép lưu trữ trên 255 ký tự

mediumtext

Cho phép lưu trữ trên 1677215 ký tự

longtext

Cho phép lưu trữ trên 4294967295 ký tự

Blob

Bằng với kiểu text, trừ trường hợp dương khi sắp xếp và so sánh, cho phép lưu trữ trên 65535 ký tự

tinyblob

Bằng với kiểu tinytext, trừ trường hợp dương khi sắp xếp và so sánh

mediumblob

Bằng với kiểu mediumtext, trừ trường hợp dương khi sắp xếp và so sánh

longblob

Bằng với kiểu longtext, trừ trường hợp dương khi sắp xếp và so sánh

year(length)

Lưu trữ một năm trong 4 ký tự mặc định.

1.1.3. Lựa chọn kiểu cho đúng

Trước tiên, trường sẽ chứa cả chữ và số?

Nếu trả lời có như varchar, text, char, tinytext, mediumtext, longtext, blob, tinyblob, mediumblolb, longblob. Sau đó cần quan tâm có bao nhiêu ký tự được lưu trữ? Nó sẽ biến đổi thế nào?

· Có bao nhiêu ký tự được lưu trữ? Thay đổi thế nào?

· 0 đến 255 ký tự, chiều dài thay đổi: sử dụng varchar nếu bạn muốn xóa tất cả những khoảng trắng, giá trị mặc định. Sử dụng longtext nếu bạn thay đổi về chiều dài. Sử dụng blob nếu bạn không giữ về khoảng cách.

· 256->65536 ký tự: Sử dụng text nếu bạn không cần trường hợp dương trong tìm kiếm, sắp xếp, so sánh. Dùng blob nếu cần trường hợp dương.

· 65537->1677215 ký tự: Sử dụng mediumtext nếu bạn không cần trường hợp dương trong tìm kiếm, sắp xếp, so sánh. Dùng mediumblob nếu cần trường hợp dương.

· 1677216->4294967295 ký tự: Sử dụng longtext nếu bạn không cần trường hợp dương trong tìm kiếm, sắp xếp, so sánh. Dùng longblob nếu cần trường hợp dương

Nếu trả lời có thì có lẽ chứa chữ cái và số, nhưng phải một trong số có giới hạn về giá trị enum

Nếu trả lời không, nó bao gồm thời gian, ngày tháng

1.1.4. NULL/NOT NULL

My SQL server của bạn muốn biết vùng dữ liệu của bạn có rỗng hay không, bạn dùng NULL hoặc NOT NULL. Nếu vùng dữ liệu được định nghĩa là NOT NULL thì người dùng bắt buộc phải nhập dữ liệu vào. Nếu dùng NULL thì vùng dữ liệu sẽ không chứa giá trị gì hết.

1.1.5. INDEXES

MySQl sử dụng INDEXES để giải quyết việc nghiên cứu dòng thông tin. INDEXES làm việc thế nào? Bạn tưởng tượng bạn có một cái phòng đầy ắp, toàn những thứ bạn có được mà chưa bao giờ bạn đụng đến. Bạn muốn tìm lại thông tin gì đó, bạn phải mất khá nhiều thời gian để làm việc này. Bạn cảm thấy khó chịu và bạn bắt đầu sắp xếp chúng, tổ chức lại chúng.

Bạn thử tưởng tượng lượng thông tin được lưu trữ trong bảng, vào thời gian nào đó bạn cần tìm vài thứ, bạn bắt đầu tìm tất cả những dòng, bạn sẽ làm gì nếu có 10000 dòng? Chuyện gì sẽ xảy ra?

Bằng cách sử dụng hệ thống chọn lọc bên trong, MySQl sẽ giúp bạn tìm nhanh chóng và chính xác, nó làm được điều này nhờ sử dụng INDEXES, cũng được biết như một khóa.

MySQL yêu cầu INDEX trong mỗi bảng, vì thế có vài thứ được đến. Thông thường, bạn sử dụng khóa chính, hoặc tạo ra sự duy nhất để giữ dữ liệu riêng lẻ. Trường này phải “not null” và “unique”

1.1.6. UNIQUE

Chúng ta có thể sử dụng UNIQUE để thể hiện tính độc quyền, không thể chèn thêm dữ liệu, khi thêm vào chương trình sẽ báo lỗi.

1.1.7. Tăng tự động(auto Increment)

Bạn có thể thiết kế vùng tăng tự động bằng cách dùng lệnh Auto_Increment, ta có thể đặt lệnh cho bất cứ vùng nào trong bảng.

1.1.8. Những tham số khác

Bạn có thể làm những chí định khác khi tạo cơ sở dữ liệu, nhưng tốt hơn cho người sử dụng. Để biết thêm về danh sách những tham số, bạn có thể tham khảo thêm :www.mysql.com

1.1.9. Các kiểu bảng của My SQl và kỹ thuật lưu trữ

Những phiên bản mới gần đây của My SQL thường sử dụng 5 loại chính

. MyISAM

. MERGE

. MEMORY

. InnoDB

. BDB

1.1.10. Lệnh và cú pháp trong My SQL

Các lệnh và cấu trúc của MySQL thường dùng:

§ . CREATE: Tạo mới một cơ sở dữ liệu hoặc một bảng

§ . ALTER: Thay đổi bảng

§ . SELECT: Chọn dữ liệu

§ . DELETE: Xóa dữ liệu từ bảng

§ . DESCRIBE: Cho biết cấu trúc và chi tiết của bảng

§ . INSERT INTO tablename VALUES: Đặt giá trị vào bảng

§ . UPDATE: Sửa đổi dữ liệu trong bảng

§ . DROP: Xóa toàn bộ bàng hoặc cơ sở dữ liệu

7. PHP - Những cú pháp xen lẫn trong php

1. Xen lẫn giữa <?php và ?>

Bạn có thể xem code php trong html trong cách khác

- <? và ?> Phải mở trong file php.ini với thẻ mở ngắn.

- <% và %> Phải mở trong file php.ini với thẻ ASP

- <script language=”PHP”> and </script>.Đây là giá trị không chuyển đổi trong file php.ini

2. Xen lẫn trong mệnh đề echo

Bạn đã sử dụng print_r(), nhưng bạn cũng đã sử dụng print() để trình bày đoạn text hoặc giá trị biến trong trang web của bạn. Sự khác nhau giữa echo() và printf() là khi bạn sử dụng print(), một giá trị 0 hoặc 1 sẽ được trả lại cho sự thành công hay thất bại của lệnh print(). Trong trường hợp này, bạn cũng có thể nói mọi thứ không in ra khi sử dụng lệnh print(). Trong khi echo() chỉ đưa ra những gì không có mà bạn biết là không có hoặc nó làm việc không chính xác.

Trong các trường hợp khác thì cả hai là như nhau.

3. Xen lẫn giữa các phép toán logic.

Các phép toán and(&&), or(||) là các phép toán logic.

4. Xen lẫn trong việc sử dụng dấu (“”).

Ngoài việc sử dụng dấu (“”) ta cũng có thể sử dụng dấu (= <<<)

5. Xen lẫn những giá trị tăng, giảm

· ++$value:Tăng biến lên 1, trả về giá trị đã tăng.

· $value++:Trả về giá trị , sau đó tăng lên 1.

· --$value:Giảm 1, trả về giá trị đã giảm.

· $value--:Trả về giá trị, sau đó giảm 1.

· $value=$value+1:Tăng giá trị lên 1.

· $value+=1:Tăng giá trị lên 1.

6. PHP–Mảng trong PHP

Mảng là một danh sách chứa thông tin với khóa và được lưu trữ với một tên biến. Một mảng có dòng thông tin và khóa, khóa là cột đầu tiên trong bảng. Khóa phải đồng nhất để dễ tổ chức và sử dụng.
1. Cú pháp của mảng.
a. Mảng một chiều

<?php

$husband = array("firstname"=>"Albert","lastname"=>",instein","age"=>"124");
echo $husband[firstname];

?>

Kết quả xuất ra màn hình Hình 2.10.1.1:

array trong php

Hinh 2.10.1.1

Chú ý: Sử dụng => để thay cho dấu bằng, khi ấn định những giá trị đến khóa của mảng. Điều này cho bạn xuất ra “Albert” và tất cả giá trị vẫn được lưu trữ trong biến $husband.

Bạn cũng có thể đặt một mảng giá trị theo cách sau:

$husband[“firstname”] = “Albert”;

$husband[“lastname”] = “Einstein”;

$husband[“age”] = 124;

b. Mảng đa chiều:

Ví dụ:

<?php

$table1 = array(“husband” => array(“firstname”=>”Albert”,“lastname”=>”Einstein”,“age”=>124),

“wife” => array(“firstname”=>”Mileva”,“lastname”=>”Einstein”,“age”=>123));

//do the same for each table in your restaurant

?>

Nếu muốn xuất firstname của mọi người, ta dùng hàm xuất như sau:

<?php

echo $table1[“husband”][“firstname”];

echo “ & “;

echo $table1[“wife”][“firstname”];

?>

Kết quả Hình 2.10.1.2:

lap trinh php va MySQL

Hình 2.10.1.2

Để đơn giản ta có thể dùng một cách khác để lưu trữ mảng như sau:

<?php

$flavor[] = “blue raspberry”;

$flavor[] = “root beer”;

$flavor[] = “pineapple”;

?>

Để xuất thông tin ra ta thực hiện câu lệnh như sau:

echo $flavor[0]; //xuất “blue raspberry”

echo $flavor[1]; // xuất “root beer”

echo $flavor[2]; // xuất “pineapple”

2. Sắp xếp mảng

PHP cung cấp nhiều cách để lưu trữ giá trị của mảng, sau đây là mô tả một vài hàm sắp xếp trong mảng.

arsort(array) :Sắp xếp một mảng giảm theo giá trị và duy trì quan hệ của khóa/ giá trị

asort(array): Sắp xếp một mảng tăng theo giá trị và duy trì quan hệ của khóa/ giá trị

rsort(array): Sắp xếp một mảng giảm theo giá trị

sort(array): Sắp xếp một mảng tăng theo giá trị

Ví dụ:

<?php

$flavor[] = "blue raspberry";

$flavor[] = "root beer";

$flavor[] = "pineapple";

sort($flavor);

print_r($flavor);

?>

Kết quả như Hình 2.10.1.3:

sap xep mang trong php

Hình 2.10.1.3

Chú ý:

Ở đây dùng hàm mới prinf_r, chức năng của hàm này là xuất thông tin về một biến mà người ta có thể đọc nó dễ dàng. Nó thường được dùng để kiểm tra giá trị của mảng, một cách cụ thể.

Ở đây hàm sort dùng để sắp xếp theo thứ tự Alpha

5. PHP - Truyền biến giữa các trang

Có bốn cách cơ bản để truyền biến giữa các trang: truyền biến trong URL, qua session, cookie hoặc với một HTML form.

1. Truyền biến qua URL
a. Phương thức đầu tiên để truyền biến giữa các trang là thông qua một URL.

Ví dụ một URL:

http://www.mydomain.com/news/articles/showart.php?id=12345

Những phần sau dấu ? gọi là chuổi truy vấn (query string). Có thể nối giữa các biến trong URL bằng cách dùng dấu &

Như ví dụ sau: http://www.mydomain.com/news/articles/showart.php?id=12345&lang=en

Ở đây có một vài bất lợi :

· Mọi người có thể nhìn thấy giá trị của biến, những thông tin nhạy cảm thì không được bảo mật khi sử dụng cách thức này.

· Người dùng có thể đổi giá trị biến trong URL, mở những phần mà người lập trình không muốn hiển thị.

· Một người sử dụng có thể gặp phải những thông tin không chính xác hoặc đã cũ khi dùng URL đã được lưu với những biến cũ trong đó..

b. Ký tự đặc biệt của URL.

Khi truyền biến qua URL , trong trường hợp biến đó chứa khoảng trắng, dấu & hay một ký tự đặc biệt nào đó, thì ta ta dùng hàm urlencode()

2. Session và Cooking
a. Session

Session là tập hợp những biến tạm tồn tại cho đến khi đóng trình duyệt, trừ khi ta có những chỉ định khác trong php.ini.

Mọi session có một session ID duy nhất, có thể được truyền qua cookie hoặc qua URL nếu phương thức trước không được phép.

Để bắt đầu một session, sử dụng hàm session_start() và không được dùng hàm session_register, trong trường hợp ta giả định register_globals trong php.ini là off.

b. Cookies.

Cookies là những mẫu thông tin nhỏ được lưu trên máy người dùng web. Các Cookies do Webserver phát sinh, lưu trữ lại, sau đó sẽ được đọc ở lần truy cập sau.

Để có thể sử dụng một cookies bạn phải sử dụng hàm: setcookie() như sau: setcookie(‘tên cookie’, ‘giá trị’, ‘thời gian kết thúc’, ‘đường dẫn’, ‘vùng’, ‘kết nối an toàn’);

3. HTML FORMS
a. Lưu chuyển thông tin với form.

Form là mã trong HTML, nó được bao bởi một cặp thẻ mở và đóng: <form> </form>, nó có những thuộc tính sau:

Action: Thuộc tính này chỉ ra đường dẫn URL của trang mà Form sẽ được gởi đến để xử lý, nó chứa đường dẫn URL tương đối hoặc URL tuyệt đối.

Method: Thuộc tính này chỉ ra kiểu HTTP yêu cầu trình duyệt gởi thông tin đến server, nó phải được thiết lập là POST hoặc GET.

Name: Đây là thuộc tính hữu hiệu nhất trong việc quản lý các thành phần của form. Tên form không được gởi đến server khi form được gởi đi.

Các kiểu phần tử nhập trên form:

· Text:Đây là kiểu căn bản nó có những thuộc tính sau: Text có 3 thuộc tính:

Size: chiều rộng ô text tính bằng số ký tự.

Maxlength:Giới hạn số ký tự tối đa có thể nhập vào.

Value:chứa giá trị mặc định trong văn bản, người dùng có thể nhập giá trị khác

· Checkbox: Tên và giá trị của hộp kiểm này chỉ này chỉ được truyền nếu được chọn khi form được gởi. Nếu từ checked có trong thẻ thì hộp kiểm được chọn mặc định.

· Radio: Nút này cho phép người dùng chọn chỉ một trong số các lựa chọn có cùng tên.

· Select: Là hộp chọn sổ xuống, thường cho phép người dùng chọn một từ một danh sách, sự lựa chọn này có thể mô tả với thuộc tính value.

· Password: Giống với kiểu text, tuy nhiên văn bản nhập vào hộp được hiển thị bằng ký tự thay thế (ký tự “*”)

Những nút khác được miêu tả như nút submit, reset, hoặc những hình ảnh trên những nút do người dùng tạo ra.

4. PHP - Sử dụng hằng và biến

1. Tổng quan về hằng:

Tương tự như trong những ngôn ngữ lập trình khác, hằng trong PHP cũng là một giá trị được khai báo trước khi sử dụng. Nó phải bắt đầu bằng chữ cái hoặc dấu gạch dưới (­_) và không được bắt đầu bằng số, nó có thể là một chuổi.

Hằng trong PHP được định nghĩa bằng hàm define(). Nó không thay đổi và không được được định nghĩa lại.

Vd: tạo một file mới, lưu với tên moviesite.php

<html>

<head>

<title>My Movie Site</title>

</head>

<body>

<?php

define (“FAVMOVIE”, “The Life of Brian”);

echo “My favorite movie is “;

echo FAVMOVIE;

?>

</body>

</html>

Kết quả: Trên trình duyệt xuất hiện như Hình 2.3.1:

giáo trình php tiếng Việt

Hinh 2.3.1

2. Tổng quan về biến.

Không giống như hằng, nó không cần định nghĩa, có thể thay đổi trong chương trình. Cách đặt tên của biến cũng giống như cách đặt tên của Hằng. Biến phân biệt chữ hoa và chữ thường.

Tất cả biến trong PHP đều bắt đầu bằng dấu “$” bất chấp đó là loại biến gì: chuổi, số nguyên, số động hoặc mảng, tất cả chúng đều trông giống nhau. Nó tự động hiểu các kiểu biến người dùng không cần phải khai báo kiểu biến.

Nói chung, khi sử dụng biến trong PHP ta cần quan tâm đến 3 vị trí khác nhau của biến:

1. Khai báo ngay trong mã lệnh PHP

2. Chuyển tiếp từ một trang HTML.

3. Là biến sẳn có trong hệ thống PHP.

Vd:

Sử dụng lại ví dụ moviesite.php chỉ thêm vào biến movierate:

<html>

<head>

<title>My Movie Site</title>

</head>

<body>

<?php

define ("FAVMOVIE", "The Life of Brian");

echo "My favorite movie is ";

echo FAVMOVIE;

echo "<br>";

$movierate = 5;

echo "My movie rating for this movie is: ";

echo $movierate;

?>

</body>

</html>

Kết quả hiển thị như Hình 2.3.2.1:

lập trình php

Hinh 2.3.2.1

Chú ý:

· Trong PHP, phép gán là dấu” =”, so sánh là “= =”:

· PHP có thể tự động chuyển đổi kiểu trong các phép tính.

· PHP Có thể thực hiện việc cộng một biến số với một chuổi có số đứng đầu:

Vd:

$ a = 2 ;

$ b = “2 con heo con”;

$c = $a + $b;

Echo $c;

Kết quả : $c = 4.

PHP có một số hàm toán học được xây dựng dựa trên số mà bạn có thể sử dụng những biến chứa con số như những hàm sau:

- rand(min),(max) phát sinh ra một số ngẫu nhiên.

- cell(number) làm tròn số thập phân thành một số nguyên kế tiếp lớn hơn.

- floor(number) làm tròn một số thập phân xuống một số nguyên nhỏ hơn.

- number_format(number[,dec place] [,dec point] [,thousands]):Định dạng một số thập phân theo cách : chọn chữ số ờ phần thập phân, dấu ngăn cách giữa phần thập phân và phần nguyên, dấu phân cách giữa 3 chữ số của phần nguyên.

- max(argument1, argument2, ...):Trả về giá trị lớn nhất trong các đối số.

- min(argument1, argument2, ...): Trả về giá trị nhỏ nhất.

3. PHP - Sử dụng “echo” để trình bài text

Hàm “echo” là hàm xuất cơ bản trên trình duyệt Web.

Vd:

<?php

echo “I’m a lumberjack.”;

echo “And I’m okay.”;

?>

Kết quả Hình 2.1.1:

lap trinh php

Hinh 2.1.1

Chúng ta có thể lồng HTML với PHP.

Vd:

<?php

echo “<h1>I’m a lumberjack.</h1>”;

echo “<h2>And I’m okay.</h2>”;

?>

Kết quả như Hình 2.1.2:

giao trinh php

Hinh 2.1.2

2. PHP - Hai nguyên tắc cơ bản trong PHP

1.  PHP hiển thị trong trang Web với thẻ mở và thẻ đóng như sau:

<?php

// First line of code goes here;

// Second line of code goes here;

// Third line of code goes here;

?>

2. Những dòng PHP kết thúc bằng dấu “;”.Lời chú thích đựoc viết sau “//” (trên mỗi dòng) hoặc” /*” ở đầu đoạn chú thích và “*/” ở cuối đoạn chú thích.

Chúng ta cần cần nắm vững 2 nguyên tắc này để viết code PHP đúng cú pháp, không mất thời gian tìm và gỡ lỗi.

1. PHP - SƠ LƯỢC VỀ APACHE, PHP, MYSQL VÀ CÁCH CÀI ĐẶT

1.1. Tóm tắt sơ lược về Apache, PHP, MySQL:

Apache, PHP, MySQL là các phần của chương trình phần mềm mã nguồn mở. Phần mềm này là sự hợp tác của những lập trình viên có đầu óc.Bằng việc thay đổi trên những mã nguồn có sẵn, các lập trình viên trên thế giới tiếp tục hoàn thiện và phát triền nó ngày càng trở nên mạnh hơn và hiệu quả hơn. Sự đóng góp của những người này được đưa ra công khai cho người khác sử dụng mã nguồn, tạo ra các phần mềm nổi tiếng trên thế giới.

Tại sao mã nguồn mở gây chấn động?

-Nó miễn phí: vì là mã nguồn mở nên các lập trình viên có thể dựa trên mã nguồn sẵn có để phát triển thêm, phần mềm này không có bản quyền nên mọi người có thể tự do sử dụng .

-Nó dựa trên nền chữ thập (cross_platform) và kỹ thuật trung lập(technolory-neutral). Nó không có một nền tảng cụ thể. Tập đoàn mã nguồn mở bảo đảm rằng nó không được phát triển bởi một cá nhân nào. Do đó định nghĩa mã nguồn mở được cung cấp bởi OSI (open source initiative), mã nguồn mở không phụ thuộc vào bất cứ một kỹ thuật cá nhân hay một loại giao diện, nó phải là một kỹ thuật trung lập.

-Nó không bị giới hạn bởi những phần mềm khác, điều này có nghĩa là nếu một chương trình mã nguồn mở phân phối cho nhiều chương trình thì những chương trình khác có thể cũng là mã mở nguồn mở và giao dịch trong tự nhiên, điều này làm cho phần mềm phát triển tối đa và linh hoạt.

-Nó có tính đa dạng: được phát triển bởi nhiều người thuộc nhiều nền văn hoá, nhiều lĩnh vực phong phú.

Những phần AMP ( Apache, MySQL, PHP) làm việc với nhau như thế nào?

Tưởng tượng trang web động như một nhà hàng, khách đến ăn không cần quan tâm đến nó làm ra như thế nào coi như nó có sẳn và người bồi bàn giúp bạn chọn món ăn.

Tôi có thể mô tả 3 thành phần của AMP như sau:

· Apache: Cứ tưởng tượng như một đầu bếp . Khi khách hàng yêu cầu món ăn . Cô ta nhanh nhẹn linh hoạt và có thể chuẩn bị vô số những món ăn khác nhau. Hoạt động của Apache trong nhiều phương thức giống nhau là phân tích những file riêng lẻ và đưa ra kết quả.

· PHP: giống như người bồi bàn trong khách sạn . Anh ta nhận lời đề nghi của khách hàng và mang đến món ăn từ trong nhà bếp với những lời hướng dẫn cụ thể.

· MySQL: là những kho lưu trữ, những thành phần thông tin.

Khi khách đến ăn (người thăm trang web) đến nhà hàng Anh ta sẽ chú ý đến món ăn với nhu cầu của mình. Người bồi bàn (PHP) lấy thức ăn theo yêu cầu từ trong nhà bếp được làm bởi đầu bếp(Apache). Người đầu bếp này sẽ đến kho để lấy những nguyên liệu(dữ liệu) để chuẩn bị cho món ăn.

1.1.1. Apache :

Hoạt động của apache như là web server của bạn : công việc chính của nó là phân tích bất kỳ những file yêu cầu của trình duyệt web nào và đưa ra những kết quả chính xác.Apache tuyệt vời có thể hoàn thành hầu hết những yêu cầu của bạn.

1.1.2. PHP:

PHP là một ngôn ngữ mở rộng chính mà cho phép trang web của bạn hoạt động. Nó linh hoạt và tương đối nhỏ. Nó đã được áp dụng và phát triển trong kinh doanh. Nó cũng giống như ngôn ngữ Asp của Microsoft, Nhưng PHP thân thiện hơn,dẽ sử dụng hơn.

1.1.3. MySQL :

MySQL là một cấu trúc dữ liệu có thể kết hợp với PHP, Apache để làm việc với nhau. Nó là ngôn ngữ truy vấn có cấu trúc. Nó đưa ra hiệu ứng và tốc độ cao.

Nó cập nhật dữ liệu, xóa dữ liệu, thêm dữ liệu mà không ảnh hưởng đến cấu trúc hệ thống.

1.2. Cài đặt:

Các bước cài đặt bộ ba Apache,PHP,MySQL

Bước 1: tải bộ ba Apache, PHP, MySQL tại địa chỉ :

182Hhttp://www.apachefriends.org/download.php?xampp-win32-1.4.16-installer.exe

Bước 2 : Cài đặt bình thường như những ứng dụng khác

Bước 3 : Kiểm tra cài đặt thành công chưa:

· Sau khi cài đặt trên màn hình có biểu tượng như Hình 1.2-1

lap trinh php

Hinh 1.2.1

· Nhấp đúp vào biểu tượng sẽ xuất hiện như Hình 1.2-2

giao trinh php

Hinh 1.2.2

· Nhấp vào nút start của Apache và MySQL cho chương trình chạy Hình 1.2.3

tai lieu php tieng viet

Hinh 1.2.3

Sau đó thực hiện các thao tác để viết lệnh trên PHP hoặc MySQL

Lưu ý:khi thực hiện lệnh trên PHP hoặc MySQL thi vẫn để chương trình XAMPP chạy song song với chương trình đang thực hiện.

Để kiểm tra việc cài đặt có thành công chưa ta thực hiện như sau.

Vào một trình soạn thảo chẳng hạng như Notepad gõ dòng lệnh:

<?php

echo “hello mom“;

?>

Lưu vào thư mục đã cài đặt XAMP: xamp\htdocs. Với đuôi *.php

Sau đó mở trình duyệt web gõ 183Hhttp://localhost/*.php

Nếu thành công trình duyệt sẽ xuất hiện như Hình 1.2.4:

bai giang php

Hinh 1.2.4

Như vậy là việc cài đặt đã thành công.

Hoặc gõ như sau:

<?php

phpinfo();

?>

Bạn sẽ thấy kết quả như Hình 1.2.5:

lap trinh php tieng viet

Hinh 1.2.5

Các câu lệnh quản lý MySQL hữu ích - P1

Để quản lý MySQL, người ta thường dùng nhiều nhất là phpMyAdmin, nó là phần mềm mã nguồn mở nổi tiếng. Tuy nhiên nếu bạn muốn biết cách quản lý MySQL bằng các câu lệnh Linux, thì đây sẽ là một bài chia sẻ không thể bỏ qua. Cùng bắt đầu nhé !
Bài viết này sử dụng môi trường MySQL cài đặt trên CentOS. Đầu tiên, để quản lý, chúng ta đăng nhập vào SSH và dùng lệnh:

mysql -u root -p
Enter password:

Sau đó server sẽ yêu cầu nhập vào pass root MySQL, nếu nhập thành công bạn sẽ được chuyển đến phần quản lý MySQL.
1. Command create mysql database: Tạo cơ sở dữ liệu MySQL

mysql>CREATE DATABASE <DATABASE-NAME>;
Query OK, 1 row affected (0.00 sec)

Thay <DATABASE-NAME> bằng tên của bạn muốn tạo.
2. Command create MYSQL User: Tạo user database

mysql> grant usage on *.* to <DATABASE-USERNAME>@localhost identified by '<PASSWORD>';
Query OK, 0 rows affected (0.00 sec)

Thay <DATABASE-USERNAME> và <PASSWORD> thành thông tin của bạn.
3. Command Grand privileges for User to Database: Gán quyền cho user database vừa tạo

mysql> grant all privileges on <DATABASE-NAME>.* to <DATABASE-USERNAME>@localhost ;
Query OK, 0 rows affected (0.00 sec)

4. Command change pass user mysql: Thay đổi mật khẩu Mysql user

mysql>use mysql;
mysql>update user set password=PASSWORD("<YOUR-NEW-PASSWOD>") where User='<DATABASE-USERNAME>';

Còn nữa….

Upload file trong PHP

Trong bài này, mình sẽ hướng dẫn các bạn upload 1 file lên thư mục máy chủ với PHP

Đầu tiên, tạo 1 tài liệu php mới và tạo 1 form bằng mã html như sau:




enctype="multipart/form-data">











Cho đoạn mã php này vào

< ?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "
";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
}
?>

Đoạn php trên sẽ upload file vào thư mục upload trên máy chủ.

Có một số cách lọc file khi chọn để upload như sau:
$_FILES["file"]["type"] == "image/gif" //Upload nhưng file ảnh gif
$_FILES["file"]["type"] == "image/jpeg" //Upload những file ảnh jpeg
$_FILES["file"]["size"] < 20000// File upload ko quá 20kb

Áp dụng:

if ((($_FILES["file"]["type"] == "image/gif")|| ($_FILES["file"]["type"] == "image/jpeg")&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "
";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
}
}


Chúc các bạn thành công