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

Thứ Sáu, 9 tháng 12, 2016



Localhost là gì?
Localhost là từ ghép của hai chữ “local” và “host“. Local dịch theo nghĩa IT là máy tính của bạn, Host theo nghĩa IT là máy chủ. Vậy localhost nghĩa là một máy chủ được vận hành trên máy tính của bạn.

Localhost bao gồm nhiều ứng dụng đi kèm với nhau và tất cả các ứng dụng đó sẽ kết hợp với nhau để tạo ra một môi trường có thể chạy mã nguồn WordPress trên máy tính của chính bạn bao gồm:
  • Phần mềm Webserver tên Apache, đây là webserver thông dụng nhất.
  • Phần mềm PHP để xử lý mã PHP vì WordPress viết bằng ngôn ngữ PHP.
  • Phần mềm MySQL Server để lưu trữ và xử lý cơ sở dữ liệu, do WordPress sử dụng MySQL làm nền tảng cơ sở dữ liệu. Cơ sở dữ liệu thường được mình viết theo chữ tiếng Anh là database.
  • Phần mềm PHPMyAdmin để xem và quản lý cơ sở dữ liệu MySQL.
Như vậy, đối chiếu với yêu cầu cơ bản của một website WordPress thì localhost đã hoàn toàn đáp ứng được.

Localhost vận hành như thế nào

Khi cài đặt Localhost vào máy tính rồi, thì máy tính của bạn đã có một phần mềm Webserver để chạy ứng dụng website với địa chỉ là http://127.0.0.1. Đây là địa chỉ IP dạng localhost, ngoài ra bạn cũng có thể chạy localhost với đường dẫn là http://localhost.
Thông thường khi cài Localhost, mỗi khi cần sử dụng bạn sẽ cần mở bảng điều khiển của localhost lên và kích hoạt cho nó khởi động các ứng dụng đi kèm.

Lưu ý trước khi cài đặt

Xoá toàn bộ ứng dụng liên quan tới localhost

Nếu bạn có cài đặt các phần mềm liên quan đến việc làm localhost như PHP, MySQL thì hãy xoá hết. Và bạn không nên cài XAMPP trên Windows Server đã cài đặt IIS.

Lưu ý nếu bạn dùng Skype

Nếu máy bạn đang cài đặt phần mềm Skype thì localhost sẽ không hoạt động được do Skype đã chiếm quyền sử dụng cổng mạng 80, đây là cổng mặc định của webserver. Do đó, bạn hãy mở Skype -> Tools -> Connection Options -> và bỏ chọn phần “Use port 80 and 443…..” rồi nhập một cổng bất kỳ để Skype sử dụng.
cai-dat-xampp-skype
Sửa xong, hãy khởi động lại máy để hoàn tất.

Tắt tường lửa

Nếu máy bạn có cài đặt tường lửa từ Windows hay từ một phần mềm Antivirus nào khác thì hãy tắt nó đi vì có thể nó sẽ chặn cổng 80 hoặc các ứng dụng webserver.

Tắt UAC trên Windows

Nếu máy của bạn đang dùng Windows và có bật chức năng User Account Control thì hãy tắt nó đi khi dùng localhost để tránh các vấn đề bị giới hạn quyền.
Tìm cách tắt trên Google

Hướng dẫn cài đặt Localhost

Để cài Localhost chúng ta có rất nhiều cách và phần mềm, tuy nhiên nếu bạn là người mới thì mình khuyến khích các bạn dùng phần mềm XAMPP để cài localhost vì:
  • XAMPP hoàn toàn miễn phí.
  • Dễ sử dụng.
  • Hỗ trợ các hệ điều hành thông dụng như Windows, Mac, Linux.
Tuy nhiên trong bài này mình chỉ hướng dẫn cho hệ điều hành Windows.
Để tải XAMPP, đầu tiên bạn truy cập vào địa chỉ https://www.apachefriends.org/download.html và chọn phiên bản XAMPP phù hợp với hệ điều hành của máy tính bạn đang sử dụng, và bạn nên chọn phiên bản PHP 5.4.31. Lưu ý là XAMPP chỉ có phiên bản cho hệ điều hành 32bit nhưng 64bit vẫn hoạt động bình thường.
Lưu ý: Hiện nay XAMPP đã ra bản mới hơn hỗ trợ MariaDB nhưng bị lỗi rất nhiều, bạn nên dùng phiên bản XAMPP 1.8.3 có thể tải tại đây. Nếu bạn dùng Mac thì tải tại đây.
download-xampp
Sau khi tải file cài đặt về xong, hãy chạy nó, sau đó chọn Next.
cai-dat-xampp-01
Ở phần chọn đường dẫn, bạn hãy chọn đường dẫn cần lưu cài đặt của XAMPP. Lưu ý rằng đường dẫn này bạn phải nhớ vì khi cài đặt web lên localhost, bạn phải truy cập vào thư mục này. Bạn nên để mặc định làc:\xampp. Tiếp tục ấn Next.
cai-dat-xampp-03
Ở trang kế tiếp, bạn bỏ chọn phần “Learn more about Bitnami for XAMPP“. Và ấn Next 2 lần nữa để bắt đầu quá trình cài đặt XAMPP.
cai-dat-xampp-04
Sau khi cài xong, ấn nút Finish để kết thúc cài đặt và mở bảng điều khiển của XAMPP. Tuy nhiên, hãy khởi động lại máy sau khi cài đặt xong để tránh tình trạng không khởi động được localhost.

Khởi động Localhost

Bây giờ bạn hãy vào thư mục c:\xampp và mở file xampp-panel.exe lên để bật bảng điều khiển của XAMPP.
xampp-panel
Bảng điều khiển của XAMPP
Bạn để ý sẽ thấy hai ứng dụng Apache và MySQL có nút Start, đó là dấu hiệu bảo 2 ứng dụng này chưa được khởi động, hãy ấn vào nút Start của từng ứng dụng để khởi động Webserver Apache và MySQL Server lên thì mới chạy được localhost.
Nếu cả hai ứng dụng chuyển sang màu xanh như hình dưới là đã khởi động thành công.
xampp-panel-start
Sau khi khởi động xong, bạn hãy truy cập vào website với địa chỉ là http://localhost sẽ thấy nó hiển thị ra trang giới thiệu XAMPP như hình dưới.
xampp-homepage
Bạn có thể ấn vào nút English phía bên dưới để truy cập vào trang quản lý localhost.
xampp-manager-page
Tạm thời là thế, cách chi tiết cài đặt WordPress vào localhost XAMPP mình sẽ hướng dẫn ở phần sau.

 Thao tác trên localhost

1. Làm việc với thư mục và tập tin

Một điều khá cơ bản nhưng rất quan trọng khi bạn làm việc với website mà bất kể là localhost hay hosting đó là hiểu cơ chế phân thư mục của WordPress.
Bây giờ bạn hãy vào thư mục C:\xampp\htdocs\ và tạo một thư mục tên “thachpham“, thư mục này sẽ chứa website của mình.
Như ở trên, mình đã hướng dẫn bạn tạo một thư mục tên là thachpham trong thư mục htdocs và bạn có thể sử dụng đường dẫn http://localhost/thachpham để chạy. Vậy bây giờ mình có thể nói, thư mụcC:\xampp\htdocs\thachphamchính là thư mục gốc của tên miền http://localhost/thachpham
Bây giờ bạn thử copy một tập tin nào đó vào trong thư mục C:\xampp\htdocs\thachpham rồi chạy tên miềnhttp://localhost/thachpham, bạn sẽ thấy nó liệt kê file mà bạn vừa copy vào.
Nếu bạn click vào file ảnh đó thì trình duyệt sẽ hiển thị ảnh với đường dẫn là http://localhost/thachpham/tên-tập-tin. Đây được xem là một link ảnh trong website của bạn.
Tương tự, hãy thử tạo một thư mục bất kỳ rồi copy một tập tin nào đó vào, thì bây giờ bạn có thể truy cập xem ảnh với đường dẫn là http://localhost/thachpham/tên-folder/tên-tập-tin.
Như vậy bạn có thể hiểu, cái đường dẫn trên website nó sẽ phân thứ cấp tùy theo cấu trúc thư mục và file trong đó.

2. Tạo cơ sở dữ liệu MySQL (Database)

Thao tác này bạn sẽ phải làm trong bước cài đặt WordPress trên localhost nhưng ở đây mình sẽ hướng dẫn trước để bạn có thể làm thử luôn.
Khi nhắc đến database, bạn phải nhớ là nó bao gồm 3 thành phần chính là:
  • Tên user của database.
  • Mật khẩu của user database.
  • Tên database.
  • Database Host (thường thì điền là localhost, bất kể là bạn dùng ở localhost hay host bình thường).
Bạn hãy tưởng tượng rằng, user của database sẽ có nhiệm vụ đọc và ghi dữ liệu vào database nên khi sử dụng các mã nguồn PHP, bạn phải khai báo cùng lúc cả user của database và tên database.
Đối với localhost, bạn không cần tạo user cho database mà sẽ sử dụng thông tin user như sau:
  • Tên user database: root
  • Mật khẩu: bỏ trống
Do vậy, chúng ta chỉ cần tạo database là đủ.
Để tạo database, bạn hãy truy cập vào localhost với đường dẫn http://localhost/phpmyadmin. Sau đó bạn nhấp vào menu Databases.
localhost-tao-database-01
Sau đó ở phần Create databsae, bạn nhập tên database cần tạo vào ô Database name, phần Collation bạn hãy chọn là utf8_unicode_ci như hình dưới rồi ấn nút Create kế bên.
localhost-tao-database-02
Tạo xong hãy nhìn bên menu tay trái, nếu nó xuất hiện tên database vừa tạo là thành công. Vậy bây giờ, chúng ta tạm có một databse với các thông tin như:
  • Database Host: localhost
  • Database user: root
  • Database password: trống
  • Database name: thachphamblog
Còn cách sử dụng với nó như thế nào thì mình sẽ nói ở bước cài WordPress trên localhost cho thực tế.
Tới đây bạn đã có một cái localhost sử dụng địa chỉ dạng http://localhost/ hoặc http://127.0.0.1/ rồi. Nếu bạn đã rành việc sử dụng localhost và cần thêm tên miền ảo thì ấn qua trang 2 để tiếp tục xem phần nâng cao. Lưu ý là không dành cho người mới.

Cách đổi cổng mạng cho Localhost

Mặc định Localhost sẽ sử dụng cổng 80, bởi vì khi bạn gõ tên miền như http://localhost thì tức là nó đã sử dụng cổng 80 để đọc các dữ liệu web trong localhost. Tuy nhiên nếu như bạn đã dùng cổng 80 cho một ứng dụng khác, hoặc đơn giản là không khởi động Apache được thì bạn nên thiết lập cho Apache trong Localhost sử dụng một cổng khác, như 8080 chẳng hạn.
Trước khi đổi, mình cần các bạn lưu ý là sau khi đổi xong thì bạn phải truy cập vào website với tên miềnhttp://localhost:8080 thay vì chỉ là http://localhost.
Để đổi cổng, bạn mở bảng điều khiển XAMPP lên và chọn nút Config của Apache, sau đó chọn Apache (httpd.conf).
doi-port-localhost-01
Sau đó bạn tìm dòng này:
Listen 80
Đổi thành
Listen 8080
Sau đó bạn Stop cái Apache và Start lại rồi thử truy cập vào localhost theo đường dẫn http://localhost:8080, nếu truy cập được thì bạn đã làm thành công. Và cũng nên lưu ý rằng, sau khi đổi cổng thì mỗi khi truy cập bạn phải sử dụng đường dẫn có kèm theo số cổng bạn vừa đổi sang vì mặc định nếu không điền thì nó sẽ sử dụng cổng 80.
Nếu bạn có sử dụng tên miền ảo như mình hướng dẫn ở trên thì bạn cũng nên sửa lại file C:\xampp\apache\conf\extra\httpd-vhost.conf cho nó sử dụng port 80 thay vì 8080.
Video hướng dẫn chi tiết :



Nguồn : thachpham.com

Thứ Tư, 13 tháng 7, 2016

codeigniter-csrf-security-token-ajax-request

Trong CodeIgniter, khi bạn thiết lập cấu hình bật bảo vệ CSRF (Cross Site Request Forgery) trong config.php $config['csrf_protection'] = TRUE; thì mọi truy vấn từ client tới server đều được kiểm tra xem có chứa token hay không. Khi làm việc với các truy vấn ajax thì bạn sẽ phải thêm tham số token vào thủ công khá là mệt. Trong bài viết này, mình sẽ chỉ các bạn một cách để tự động thêm token vào mọi truy vấn ajax.
Read More

Thứ Ba, 10 tháng 5, 2016

Tuần vừa qua rất nhiều lỗ hổng được công bố trong phần mềm xử lý ảnh nổi tiếng, ImageMagick. Những lỗ hổng này nhanh chóng được đặt tên là ImageTragick. Mặc dù một lỗ hổng trong phần mềm xử lý ảnh trông có vẻ không phải là một vấn đề đối với chủ sở hữu trang web nhưng thực tế nó chính là một vấn đề bảo mật đáng quan tâm.

imagemagick-imagetragick-exploit-payloads
Rất nhiều trang web cho phép người dùng tải lên những hình ảnh và thường xử lý các hình ảnh này bằng cách sử dụng phần mềm như ImageMagick. Ví dụ, nếu bạn tải một bức ảnh cá nhân để sử dụng như một ảnh đại diện, nó sẽ thường được thay đổi kích cỡ bởi trang web. ImageMagick rất phổ biến và có các plugin làm nó dễ dàng sử dụng với PHP, Ruby, Node.js và các ngôn ngữ khác vì thế nó thường dùng cho các trang web trong việc thay đổi kích cỡ hoặc crop ảnh.
Read More

Thứ Sáu, 6 tháng 5, 2016

PHP Debugbar là gì?

PHP Debugbar là một thư viện giúp bạn có thể debug PHP như console của Dev Tools khi debug JavaScript. Trong bài này mình sẽ hướng dẫn các bạn cách tích hợp thư viện tuyệt vời này vào CodeIgniter.
Read More

Thứ Tư, 4 tháng 5, 2016

phimmoi.net - Bug nhỏ trong trang download
Tình hình là trong lúc vào tải phim tại phimmoi.net thì tôi vô tình phát hiện ra cái bug này, thường gặp phải khi kết hợp giữa PHP và JSON/JS để tạo nội dung động.
Read More

Thứ Năm, 7 tháng 4, 2016

Sử dụng Composer trong CodeIgniter

Tải các thư viện PHP cần thiết

Trước tiên, tạo một tập tin composer.json trong thư mục application và chỉ định các thư viện PHP mà bạn cần dùng cho dự án của bạn. Ví dụ:
Read More

Thứ Hai, 2 tháng 2, 2015

AutoIt Software License
Bản quyền phần mềm
Hướng dẫn tạo bản quyền đơn giản cho phần mềm, kết hợp giữa AutoItPHP. Các bạn có thể tải mã nguồn mẫu ở phía dưới video nhé.


Read More

Thứ Năm, 28 tháng 2, 2013

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.

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 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!

Thứ Sáu, 1 tháng 2, 2013

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

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

Thứ Ba, 29 tháng 1, 2013

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.

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

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>

Thứ Năm, 24 tháng 1, 2013

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

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%”

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

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.

Categories

Sample Text

Được tạo bởi Blogger.

Must Read

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Popular Posts

Video

Popular Posts

Our Facebook Page