THIET KE WEBSITE GIA RE

THIET KE WEBSITE GIA RE

  • RSS Thế Giới BlackBerry

    • Mẹo vặt về sử dụng blackberry
      Cùng học cách áp dụng các mẹo vặt và phím tắt cho chiếc smartphone BlackBerry (lưu ý: có một số ứng dụng không hỗ trợ cho các dòng BB cổ) của bạn. Hãy bắt đầu bằng cách chọn các ứng dụng dưới đây: • Tìm kiếm • Đính kèm • Trình duyệt • Camera • [...]
    • Game Linh Vương trên blackberry
      Download game linh vuong Chúc bạn thành công – www.ticsoft.com (Nguồn: Sưu tầm) Filed under: Games blackberry Tagged: blackberry, game, linh vuong
    • Assasin’s Creed 81xx,83xx,87xx và 88xx
      Download Chúc bạn thành công – www.ticsoft.com (Nguồn: Sưu tầm) Filed under: Games blackberry Tagged: 81xx, 83xx, 87xx, 88xx, Assasin's Creed, blackberry
    • Game Prince of Persia- Hoàng tử Ba Tư
      Prince of Persia – Hoàng Tử Ba Tư, series game đình đám của “ông lớn” Ubisoft đã làm ngây ngất bao trái tim của các game thủ trên các hệ máy chơi game, đã được làm lại trên các hệ điện thoại khác nhau (Chủ yếu cho Nokia S60- cái này em search trên 4rum [...]
    • Diamond Twister-Game xếp kim cương cho mọi người
      Đúng với tên gọi, Diamond Twister có gameplay tương tự game xếp kim cương trên máy tính đã làm điêu đứng chị em văn phòng 1 thời.Nay với Diamond Twister trên Blackberry thì chị em Tinh tế lại có thời gian bên em BB yêu quí.Với màu sắc bắt mắt và cốt truyện hay, Diamond [...]
    • The Sims 3 cho 83xx
      Download The Sim Chúc bạn thành công – www.ticsoft.com (Nguồn: Sưu tầm) Filed under: Games blackberry Tagged: 83xx, blackberry, the sim
    • Konami Pes 2010 cho các dòng blackberry
      Konami Pes 2010 cho các dòng blackberry
    • Lưu trữ tin nhắn SMS trên Blackberry
      Lưu trữ tin nhắn SMS trên Blackberry Nếu vô tình xóa đi các tin nhắn quan trọng trên điện thoại thì Dexrex SMS Backup sẽ là vị cứu tinh cho bạn. Cách thức lưu trữ và sắp xếp tất cả tin nhắn gửi/nhận SMS từ BlackBerry cũng tương tự như các trình tin nhắn và [...]
    • Game xếp gạch cho blackberry
      Game xếp gạch cho blackberry, hãy nhìn vào hình vẽ để biết phím đánh game này nha Download game xếp gạch Chúc bạn thành công – www.ticsoft.com – thiết kế website Posted in Games blackberry Tagged: blackberry, game, xếp gạch
    • Yamee – Phần mềm chat yahoo tốn ít kb nhất
      Các bạn tải file zip về , giải nén thành file Yamee.jar , copy vô thẻ nhớ của BB , xong vào Media trên BB , mở Menu–>Explore–> Media Card –> nhấn vào Yamee.jar –> download (nghĩa là tải từ file java vô máy chứ ko connect với mạng đâu, yên tâm , không tốn [...]

Posts Tagged ‘html’

Hướng dẫn gửi email text, HTML và tiếng Việt Unicode với PHP

Posted by thietkewebsitegiare on 15/05/2009

Send email trong PHP rất đơn giản, ta chỉ cần dùng duy nhất 1 hàm mail() được PHP cung cấp sẵn là đủ. Cú pháp của hàm mail() như sau:

HÀM MAIL() CỦA PHP

Send email trong PHP rất đơn giản, ta chỉ cần dùng duy nhất 1 hàm mail() được PHP cung cấp sẵn là đủ. Cú pháp của hàm mail() như sau:

bool mail(string to, string subject, string message[, string additional_headers])

Các tham số của hàm mail() có ý nghĩa như sau:

* to – địa chỉ người nhận email, là 1 string. Các giá trị hợp lệ của tham số to có dạng như sau:
‘user@domain.com’
‘user1@domain.com, user2@domain.com’
‘User Name <user@example.com>’
‘User Name 1 <user1@example.com>, User Name 2 <user2@example.com>’
‘User Name 1 <user@example.com>, user2@domain.com, User Name 3 <user3@example.com>’
* subject – tiêu đề của email, là 1 string. Tiêu đề của email không được chứa ký tự xuống dòng (\r hoặc \n).
* message – nội dung email, là 1 string. Nội dung email có thể do nhiều dòng ghép lại với nhau, mỗi dòng được phân cách bằng ký tự \n.
* additional_headers – (tuỳ chọn) dùng để chèn thêm các header vào email. Các header này không nằm trong phần nội dung của email mà dùng để quản lý việc gởi email (ví dụ chèn thêm các trường CC, BCC khi gởi email). Nhiều header có thể cùng ghép lại thành 1 string trong additional_headers, các header được phân cách nhau bằng chuỗi \r\n.

Hàm mail() sẽ trả về giá trị TRUE nếu như email được chấp nhận gởi đi và FALSE trong trường hợp ngược lại.

Lưu ý: Hàm mail() trả về giá trị TRUE không có nghĩa là email sẽ được gởi đến nơi nhận thành công. Giá trị TRUE được trả về chỉ có ý nghĩa là email được server chấp nhận gởi đi, còn khi nào thì email thực sự được gởi, gởi có tới nơi hay không thì chương trình không biết được (như vậy nếu bạn nhập sau địa chỉ người nhận ở tham số To thì sẽ không có cách nào chương trình biết được địa chỉ To có đúng hoặc tồn tại hay không!).

MỘT VÍ DỤ GỞI EMAIL VỚI HÀM MAIL()

Ta hãy tạo 1 chương trình PHP nhỏ đẻ gởi email như sau:

//nội dung file example1.php
<?php
$from = ‘from@domain.com’;
$to = ‘to@domain.com’;
$subject = ‘Example 1: Send simple text email’;
$message = ‘A plain text email.’;
$header = “From: $from\r\nReply-to: $from”;

if ( mail($to, $subject, $message, $header) ) {
echo “Email sent to $to!”;
} else {
echo “Error occured while sending email to $to!”;
} //end if
?>

Lưu chương trình vào file example1.php và chạy thử. Nếu quá trình gởi email thành công, bạn sẽ nhận được câu thông báo “Email sent to to@domain.com!”, nếu có lỗi bạn sẽ nhận được câu thông báo “Error occured while sending email to to@domain.com!”

Lưu ý:

* Nhớ thay to@domain.com và from@domain.com thành địa chỉ email của bạn trước khi chạy thử chương trình!
* Có thể phải mất tới 5-10 phút email mới tới nơi, và bạn nhớ kiểm tra thư mục Bulk email vì nhiều khi email gởi tới bị để trong mục Bulk.

Trong cú pháp của hàm mail(), tham số additional_headers là tuỳ chọn, tức là bỏ qua cũng được. Tuy nhiên, trên thực tế bạn nên cung cấp tham số additional_headers cho hàm mail() với ít nhất 2 header From và Reply-to. Lý do thì có nhiều, một trong số các lý do phải cung cấp header From và Reply-to là vì nếu phần địa chỉ người gởi (From) là rỗng, các chương trình lọc email có thể cho rằng đây là emai spam và thế là email được tự động chuyển sang “Thùng rác”!.

GỞI HTML EMAIL VỚI HÀM MAIL()

Chúng ta đã gởi được email text với hàm mail(), nhưng nhiều lúc ta cần “trang điểm” màu mè cho nội dung email được bắt mắt hơn. Thử viết 1 chương trình nhỏ gởi email HTML:

//nội dung file example2.php
<?php
$from = ‘from@domain.com’;
$to = ‘to@domain.com’;
$subject = ‘Example 2: Try a simple HTML email’;
$message = ‘A HTML email: <b>bold</b>, <i>italic</i>, <u>underline</u>.’;
$header = “From: $from\r\nReply-to: $from”;

if ( mail($to, $subject, $message, $header) ) {
echo “Email sent to $to!”;
} else {
echo “Error occured while sending email to $to!”;
} //end if
?>

Lưu chương trình vào file example2.php và chạy thử. Email gởi thành công, tới nơi an toàn, nhưng khi mở ra xem thì nội dung email lại như vầy:
A HTML email: <b>bold</b>, <i>italic</i>, <u>underline</u>.
Thế có tức không?

Thực ra bạn chỉ cần sửa lại chương trình “1 chút xíu” là đâu vào đấy ngay:

//nội dung file example3.php
<?php
$from = ‘from@domain.com’;
$to = ‘to@domain.com’;
$subject = ‘Example 3: Send HTML email’;
$message = ‘A HTML email: <b>bold</b>, <i>italic</i>, <u>underline</u>.’;
$header = “Content-type: text/html\r\nFrom: $from\r\nReply-to: $from”;

if ( mail($to, $subject, $message, $header) ) {
echo “Email sent to $to!”;
} else {
echo “Error occured while sending email to $to!”;
} //end if
?>

Lưu chương trình vào file example3.php và chạy thử. Lần này thì nội dung email nhận được như mong muốn:
A HTML email: bold, italic, underline..

Như vậy bạn sẽ nhận thấy rằng gởi HTML email cũng đơn giản không khác gì gởi text email thông thường. Chỉ cần thêm 1 header Content-type: text/html là nội dung email sẽ được hiểu là HTML ngay.

Lưu ý: Riêng phần tiêu đề (subject) của email vẫn phải là text thông thường! Bạn không thể sử dụng mã HTML trong phần tiêu đề (subject) của email được. Vì thực chất phần tiêu đề của email cũng là 1 header đặt biệc chứ không nằm trong phần nội dung chính của email.

GỞI EMAIL VỚI TIẾNG VIỆT UNICODE

Gởi email tiếng Việt Unicode cũng y chang như gởi email HTML vì bản thân HTML đã hỗ trợ Unicode rồi, ta chỉ cần chú ý đặt charset của email cho đúng là được:

//nội dung file example3.php
<?php
$from = ‘from@domain.com’;
$to = ‘to@domain.com’;
$subject = ‘Example 4: Send Unicode email’;
$message = ‘Email tiếng Việt Unicode: <b>in đậm</b>, <i>in nghiêng</i>, <u>gạch chân</u>.’;
$header = “Content-type: text/html; charset=utf-8\r\nFrom: $from\r\nReply-to: $from”;

if ( mail($to, $subject, $message, $header) ) {
echo “Email sent to $to!”;
} else {
echo “Error occured while sending email to $to!”;
} //end if
?>

Lưu chương trình vào file example4.php và chạy thử: email gởi thành công, tới nơi an toàn và khi đọc thì hiển thị…tiếng Ả-rập!!! Có gì sai ở đây chăng?

Thực ra không có gì phải lo lắng cả. Khi gởi email tiếng Việt Unicode bạn cần chú ý một số điểm sau:

* Đặt charset cho email. Charset này phải nên trùng với charset của file mã nguồn PHP và website của bạn. Trong ví dụ ở trên, ta đặt charset cho email là utf-8 thì bạn cũng phải lưu file example4.php lên đĩa với charset là utf-8. Bạn xem mục “LƯU FILE VỚI TIẾNG VIỆT UNICODE” ở bài viết Giới thiệu – Các bước chuẩn bị cần thiết để tìm hiểu thêm về lưu file mã nguồn PHP lên đĩa với charset utf-8.
* Cho dù bạn đã đặt charset đúng rồi, vẫn có thể email không hiển thị đúng tiếng Việt khi đọc! Vì quyền hiển thị email như thế nào là do chương trình email client quyết định. Nếu bạn đọc email bằng Outlook chẳng hạn, thì Outlook sẽ tự động nhận biết charset của email và hiển thị đúng tiếng Việt. Nếu bạn đọc email trên web (như Yahoo, Hotmail…) thì có thể bạn phải tự tay chọn lại Encoding là utf-8 trên trình duyệt vì các web email như Yahoo, Hotmail sẽ dùng charset mặc định của mình và bỏ qua charset được thiết lập trong email.

Và tương tự như khi gởi HTML email, bạn đừng nên ghi tiếng Việt vào phần tiêu đề (subject) của email! Vì như đã nói ở phần trước, tiêu đề (subject) của email cũng là 1 header đặt biệc chứ không nằm trong phần nội dung chính của email.

MỘT SỐ LỖI HAY GẶP VỚI HÀM MAIL()

Email gởi không tới nơi
Hàm mail() trả về giá trị TRUE, địa chỉ đúng, nội dung đúng, nói chung mọi thứ đều đúng nhưng email chờ hoài không thấy tới! Kiểm tra Bulk email cũng không thấy luôn! Lỗi ở đâu hè? Nguyên nhân có thể xảy ra ở 3 chỗ:

* mail server – server của bạn không cho phép account của bạn gởi email, hoặc giới hạn chỉ cho phép gởi số lượng giới hạn email trong 1 khoảng thời gian nào đó. Bạn cần hỏi người quản lý server của bạn về quyền gởi email với PHP trên server.
Nếu vấn đề không phải nằm ở chỗ server không cho phép bạn gởi email, hoặc chính bạn là người quản lý server thì bạn kiểm tra tiếp 1 trong 2 nguyên nhân sau:
* *NIX server (server chạy các hệ điều hành UNIX hoặc Linux) – PHP mặc định sẽ sử dụng lệnh sendmail có sẵn trên hệ thống để gởi email (với tham số -t -i). Mặc định lệnh sendmail sẽ nằm trong /usr/sbin/sendmail hoặc trong 1 thư mục nào đó trong PATH của hệ thống. Nếu trên server của bạn lệnh sendmail nằm ở chỗ khác với thư mục mặc định (ví dụ trên server của bạn sendmail nằm ở /usr/local/secretbin/sendmail) thì bạn có thể làm như sau:
- Tìm và mở file php.ini ra.
- Tìm chuỗi “sendmail”, bạn sẽ thấy 2 dòng tương tự như sau:
; For Unix only. You may supply arguments as well (default: “sendmail -t -i”).
;sendmail_path =
- Bạn sửa lại 2 dòng đó như sau:
; For Unix only. You may supply arguments as well (default: “sendmail -t -i”).
sendmail_path = /usr/local/secretbin/sendmail -t -i
Nhớ bỏ ký tự chấm phảy ( ở đầu dòng sendmail_path =!
Lưu ý: Cấu hình của PHP tới đây đã đúng và đủ để gởi email trên server *NIX. Tuy nhiên vẫn có thể server không gởi email được! Lỗi lúc này là do bản thân cấu hình của server hoặc quá trình cài đặt và cấu hình chương trình sendmail bị lỗi. Cách kiểm tra nguyên nhân và sửa lỗi nằm ngoài phạm vi của PHP, bạn có thể đặt câu hỏi lên diễn đàn CLB người sử dụng Linux để được giúp đỡ!
* Windows server – Trên Windows, PHP cần phải dùng 1 SMTP server để gởi email. Bạn tìm và mở file php.ini ra, tìm chuỗi sendmail, gần đó bạn sẽ thấy vài dòng như sau:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25;
Các dòng trên cho ta biết PHP sẽ dùng SMTP server localhost trên port 25 để gởi email. Rất có thể bạn chưa cài đặt và cấu hình đúng 1 SMTP trên localhost để PHP có thể sử dụng và gởi email. Bạn hãy tham khảo bài viết này để cài đặt 1 SMTP server trên localhost và dùng nó để gởi email với PHP.

Nội dung email bị đứt đoạn: Nếu bạn nhận được email nhưng nội dung bị đứt đoạn không đầy đủ thì có thể do 2 nguyên nhân sau:

* Mã HTML trong email bị sai – Nếu bạn gởi email HTML thì bạn nên chú ý kiểm tra cú pháp HTML của nội dung email. Giả sử bạn định gởi email với nội dung:
<b>in đậm</b>
Nhưng chẳng may bạn ghi sai thành <b in đậm</b>
thì khi đọc, email sẽ hiển thị bị sai (có thể là mất chữ, đứt đoạn, v.v…).
* Có 1 dòng chứa 1 dấu chấm (.) ở đầu – Khi bạn gởi email trên Windows dùng SMTP server, nếu nội dung email có 1 dòng nào đó chứa 1 dấu chấm (ký tự .) ở đầu dòng thì ký tự đó sẽ bị bỏ qua, dòng đó sẽ bị bỏ qua, hoặc toàn bộ nội dung email từ dòng đó trở đi sẽ bị bỏ qua. Lý do là vì dòng chứa 1 dấu chấm ở đầu chính là dấu hiệu báo cho SMTP server biết đã kết thúc nội dung của email. Để khắc phục, trước khi gởi email, ta thay thế dấu chấm ở đầu dòng bằng 2 dấu chấm:
$message = str_replace(“\n.”, “\n..”, $message);

Chúc bạn thành công – www.ticsoft.com (Nguồn: sưu tầm)

Đăng trong Học PHP | Tagged: , , , , | Leave a Comment »

Cách đặt tên id và class trong HTML, CSS

Posted by thietkewebsitegiare on 18/12/2008

Nên đặt tên thế nào đây?

Xét một ví dụ về việc đặt tên : “bigBarNavigation”. Bản thân từ “Navigation” đã là đủ nghĩa rồi, vì nó đã mô tả được nội dung nằm bên trong thẻ mà được đặt tên, còn “big” “bar” lại là các tính từ chỉ ra phần thuộc về design (chứ không phải nội dung).

Mục đích của việc bạn đặt tên là “bigBarNavigation” là có ý muốn chỉ cái menu lớn, sắp đặt dang thanh (bar) trên layout.
Nhưng nếu bây giờ bạn thay đổi menu đó – tức là không còn dạng thanh nữa mà là dạng cột, không to nữa mà là nhỏ – thì rõ ràng tên gọi đó không hợp lí,tạo nên một sự lộn xộn trong việc đặt tên, bạn phải thay đổi. Đừng cho rằng đó chỉ là chuyện tên tuổi, không đáng quan tâm. Đó cũng là một trong những yếu tố quan trọng để tạo nên semantic HTML.

Các tên được đặt tốt sẽ có dạng như : “mainNav” “subNav” “sidebar” “footer” “metaData”, nó chỉ thể hiện nội dung bên trong.
Các tên thể hiện cả phần thiết kế như like “bigBoldHeader,” “leftSidebar,” and “roundedBox.” là cách đặt tên không tốt.

Tóm lại về việc đặt tên trong HTML :
Tên phải gợi nên được nội dung, và chỉ chứa nội dung mà thẻ được đặt tên chứa bên trong. Tên sẽ không bao gồm phần thiết kế như thế nào. Tên sẽ chỉ trả lời “đó là cái gì” chứ không trả lời “nó như thế nào“.

Tham khảo thêm tại đây

Chúc bạn thành công – www.ticsoft.com (Nguồn:  Sưu tầm )

Đăng trong Học CSS | Tagged: , , , | Leave a Comment »

 
Follow

Get every new post delivered to your Inbox.