Khóa Học PHP Nâng Cao

Nội Dung Khóa Học PHP Nâng Cao

Sau đây là toàn bộ nội dung môn học PHP nâng cao mà chúng ta bắt đầu theo học.

Phần A: Ôn Tập Kiến Thức:

Bài 1: Javascript
Bài 2: PHP Căn Bản
Bài 3: MYSQL Căn Bản
Bài Kiểm Tra Tổng Hợp

Phần B: Kỹ Thuật Lập Trình Nâng Cao

Bài 1: CSS Nâng Cao
Bài 2: Lập Trình Hướng Đối Tượng
Bài 3: Tổng Quan Về XML
Bài 4: PHP và XML
Bài 5: PHP & Ajax
Bài 6: Htaccess
Bài 7: Các Kỹ Thuật Mở Rộng
Bài 8: Kỹ Thuật SEO
Bài 9: Security Webpage

Phần C: Chuyên Đề Tự Chọn

Chuyên Đề 1: Tìm Hiểu Vbulletin.
Chuyên Đề 2: Tìm Hiểu Joomla.
Chuyên Đề 3: Tìm Hiểu Zend Framework

Phần D: Đề Tài Tốt Nghiệp (Tự Chọn)

Đề Tài 1: Bán Hàng Qua Mạng.
Đề Tài 2: Trang Tin Tức Chuyên NGhiệp.
Đề Tài 3: Trang Âm Nhạc Chuyên NGhiệp.
Đề Tài 4: Trang Trắc Nghiệm Trực Tuyến.
Đề Tài 5: Trang Hình Ảnh Trực Tuyến

Page 1 Trang 1
PHP – Advanced Tutorial PHP – Hướng dẫn nâng cao
Gulev Gulev
December 6, 2002. 06 Tháng Mười Hai 2002. Veracruz, Mexico Veracruz, Mexico
Rasmus Lerdorf Rasmus Lerdorf
http://lerdorf.com/veracruz.pdf http://lerdorf.com/veracruz.pdf
Page 2 Trang 2
Slide 1/64 Slide 1 / 64
December 6, 2002 06 Tháng Mười Hai 2002
Agenda Chương trình nghị sự
o PHP-MySQL o PHP-MySQL
o Cookie Handling o Xử lý Cookie
o Dynamic Images o Năng động, hình ảnh
o PDF o PDF
o Flash o Flash
o Sessions o Sessions
o Security o an
o Tips & Tricks o Thủ thuật
o Optimization o Tối ưu hóa
o Latest Developments o Phát Triển mới nhất
o Future o Tương lai
– 2 – – 2 –
Page 3 Trang 3
Slide 2/64 Slide 2 / 64
December 6, 2002 06 Tháng Mười Hai 2002
Setup Setup
Check your PHP Setup for MySQL support Kiểm tra PHP của bạn thiết lập cho MySQL hỗ trợ
phpinfo ()?>
If not enabled Nếu không được kích hoạt
Very rare since a MySQL client library is distributed with PHP and built into PHP by default. Rất hiếm khi một thư viện MySQL khách hàng được phân phối với PHP và được xây dựng trong PHP theo mặc định.
However, it is possible to build PHP without MySQL support. Tuy nhiên, có thể xây dựng hỗ trợ PHP mà không có MySQL. Some possible fixes: Một số có thể bản sửa lỗi:
apt-get install php-mysql apt-get install php-mysql
rpm -Uvh php-mysql-4.2.2-1.i386.rpm rpm-Uvh php-mysql-4.2.2-1.i386.rpm
./configure –with-mysql=shared,/usr -. / Configure với-mysql = chia sẻ, / usr
cp modules/mysql.so /usr/local/lib/php cp modules / mysql.so / usr / local / lib / php
extension_dir=/usr/local/lib/php extension_dir = / usr / local / lib / php
extension=mysql.so extension = mysql.so
– 3 – – 3 –
Page 4 Trang 4
Slide 3/64 Slide 3 / 64
December 6, 2002 06 Tháng Mười Hai 2002
Sanity Check Kiểm tra sự tỉnh táo
Make sure MySQL is running Hãy đảm bảo MySQL đang chạy
prompt:> mysqlshow nhắc nhở:> mysqlshow
+———–+ +———–+
| Databases | | Cơ sở dữ liệu |
+———–+ +———–+
| mysql | | Mysql |
| test | | Thử nghiệm |
+———–+ +———–+
Or with the latest PHP Hoặc với PHP mới nhất
echo mysql_stat ()?>
Output: Đầu ra:
Uptime: 6717 Threads: 1 Questions: 1 Slow queries: 0 Opens: 6 Flush tables: 1 Thời gian hoạt động: 6717 Chủ đề: 1 Câu hỏi: 1 Slow truy vấn: 0 Mở: 6 bàn xả: 1
Open tables: 0 Queries per second avg: 0.000 Mở bảng: 0 truy vấn mỗi avg thứ hai: 0,000
– 4 – – 4 –
Page 5 Trang 5
Slide 4/64 Slide 4 / 64
December 6, 2002 06 Tháng Mười Hai 2002
Connecting to MySQL Kết nối với MySQL
The simple connection Các kết nối đơn giản
?>
Output: Đầu ra:
Resource id #28 Resource id # 28
Other variations Các biến thể
?>
– 5 – – 5 –
Page 6 Trang 6
Slide 5/64 Slide 5 / 64
December 6, 2002 06 Tháng Mười Hai 2002
Persistent Connections Các kết nối liên tục
The simple connection Các kết nối đơn giản
?>
Output: Đầu ra:
Resource id #31 Resource id # 31
Caveats Hãy cẩn thận
o Watch out for multi-credential connections o Xem ra cho các kết nối đa-chứng nhận
o Make sure you match up max_connections and MaxClients o Hãy chắc chắn rằng bạn phù hợp với lập max_connections và MaxClients
– 6 – – 6 –
Page 7 Trang 7
Slide 6/64 Slide 6 / 64
December 6, 2002 06 Tháng Mười Hai 2002
Creating a Database Tạo một cơ sở dữ liệu
Create a DB Tạo một DB
?>
Output: Đầu ra:
Database foo created Foo tạo ra cơ sở dữ liệu
Create a Table Tạo một bảng
?>
Output: Đầu ra:
Table created Bảng tạo
– 7 – – 7 –
Page 8 Trang 8
Slide 7/64 Slide 7 / 64
December 6, 2002 06 Tháng Mười Hai 2002
Inserting Data Chèn dữ liệu
INSERT Query Truy vấn INSERT
function add_user($id, $pass, $name, $email) { add_user chức năng ($ id, $ pass, $ name, $ email) {
$result=mysql_query(“insert into users values $ Result = mysql_query (“chèn vào giá trị người dùng
(‘$id’,ENCRYPT(‘$pass’),’$name’,’$email’,NULL)”); (‘Id $’, ENCRYPT (‘$ vượt qua’),’$ tên’, ‘$ email’, NULL) “);
if($result) { if ($ result) {
echo “Row inserted
“; echo “Row đưa />
} else { } Else {
echo mysql_error().”
“; echo mysql_error ().”< br /> “;
} }
} }
mysql_connect(‘localhost’); mysql_connect (‘localhost’);
mysql_select_db(‘foo’); mysql_select_db (‘foo’);
add_user(‘rasmus’,’foobar’,’Rasmus Lerdorf’,’rasmus@php.net’); add_user (‘Rasmus’, ‘foobar’, ‘Rasmus Lerdorf’, ‘rasmus@php.net’);
add_user(‘carl’,’carlspass’,’Carl AlexandeR Lerdorf’,’carl@lerdorf.com’); add_user (‘carl’, ‘carlspass’, ‘Carl Alexander Lerdorf’, ‘carl@lerdorf.com’);
?> ?>
Output: Đầu ra:
Row insertedRow inserted Hàng insertedRow chèn
– 8 – – 8 –
Page 9 Trang 9
Slide 8/64 Slide 8 / 64
December 6, 2002 06 Tháng Mười Hai 2002
Selecting Data Chọn dữ liệu
SELECT Query Truy vấn SELECT
mysql_connect(‘localhost’); mysql_connect (‘localhost’);
mysql_select_db(‘foo’); mysql_select_db (‘foo’);
$result = mysql_query(“select * from users”); $ Result = mysql_query (“select * từ những người dùng”);
if(!$result) echo mysql_error(); if (! $ result) echo mysql_error ();
else { else {
while($row = mysql_fetch_row($result)) { while ($ row = mysql_fetch_row ($ result)) {
echo “$row[0] – $row[1] – $row[2] – $row[3] – $row[4]
\n”; echo “$ row [0] – $ row [1] – $ row [2] – $ row [3] – $ row [4]
\ n”;
} }
} }
?> ?>
Output: Đầu ra:
rasmus – aVOtbUF2LODnw – Rasmus Lerdorf – rasmus@php.net – 20021206142646 Rasmus – aVOtbUF2LODnw – Rasmus Lerdorf – rasmus@php.net – 20021206142646
carl – aVOnaDJh48k7o – Carl AlexandeR Lerdorf – carl@lerdorf.com – 20021206142646 carl – aVOnaDJh48k7o – Carl Alexander Lerdorf – carl@lerdorf.com – 20021206142646
mysql_fetch_array() mysql_fetch_array ()
$result = mysql_query(“select * from users order by id”); $ Result = mysql_query (“select * từ người sử dụng tự do id”);
if(!$result) echo mysql_error(); if (! $ result) echo mysql_error ();
else { else {
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) { while ($ row = mysql_fetch_array ($ kết quả, MYSQL_ASSOC)) {
echo “$row[id] – $row[Password] – $row[Name] – echo “$ row [id] – $ row [mật khẩu] – $ row [Tên] –
$row[email] – $row[ts]
\n”; $ Row [email] – $ row [ts] />
?>
Output: Đầu ra:
carl – aVOnaDJh48k7o – Carl AlexandeR Lerdorf – carl – aVOnaDJh48k7o – Carl Alexander Lerdorf –
carl@lerdorf.com – 20021206142646 carl@lerdorf.com – 20021206142646
rasmus – aVOtbUF2LODnw – Rasmus Lerdorf – Rasmus – aVOtbUF2LODnw – Rasmus Lerdorf –
rasmus@php.net – 20021206142646 rasmus@php.net – 20021206142646
– 9 – – 9 –
Page 10 Trang 10
Slide 9/64 Slide 9 / 64
December 6, 2002 06 Tháng Mười Hai 2002
Dealing with timestamps Đối phó với các nhãn thời gian
Using DATE_FORMAT Sử dụng DATE_FORMAT
mysql_connect(‘localhost’); mysql_connect (‘localhost’);
mysql_select_db(‘foo’); mysql_select_db (‘foo’);
$result = mysql_query( $ Result = mysql_query (
“select id, email, “Chọn id, email,
date_format(ts,’%W %M %D, %Y %r’) as d date_format (ts, ‘% W% M% D,% Y% r’) là d
from users order by ts”); từ người sử dụng tự do ts “);
if($result) { if ($ result) {
while($row = mysql_fetch_assoc($result)) { while ($ row = mysql_fetch_assoc ($ result)) {
echo “$row[id] – $row[email] – $row[d]
\n”; echo “$ row [id] – $ row [email] – $ row [d]
\ n”;
} }
} else { } Else {
echo mysql_error(); echo mysql_error ();
} }
?> ?>
Output: Đầu ra:
rasmus – rasmus@php.net – Friday December 6th, 2002 02:26:46 PM Rasmus – rasmus@php.net – Thứ Sáu Ngày 06 Tháng 12 2002 14:26:46
carl – carl@lerdorf.com – Friday December 6th, 2002 02:26:46 PM carl – carl@lerdorf.com – Thứ Sáu Ngày 06 Tháng 12 2002 14:26:46
– 10 – – 10 –
Page 11 Trang 11
Slide 10/64 Slide 10/64
December 6, 2002 06 Tháng Mười Hai 2002
Changing Existing Rows Thay đổi dòng hiện tại
Using UPDATE Sử dụng UPDATE
?>
Output: Đầu ra:
1 1
REPLACE INTO REPLACE INTO
You can also use REPLACE INTO to update a row if it exists and insert it if it doesn’t. Bạn cũng có thể sử dụng để cập nhật REPLACE thành một hàng, nếu nó tồn tại và chèn nó nếu nó không.
– 11 – – 11 –
Page 12 Trang 12
Slide 11/64 Slide 11/64
December 6, 2002 06 Tháng Mười Hai 2002
Magic Quotes Magic Quotes
Escaping troublesome characters Thoát khỏi nhân vật phiền hà
When you are inserting data into a MySQL database, certain characters have a special meaning and Khi bạn chèn dữ liệu vào một cơ sở dữ liệu MySQL, một số ký tự có một ý nghĩa đặc biệt và
must therefore be escaped if you wish to insert these characters literally. phải vì thế được thoát nếu bạn muốn chèn các ký tự này theo nghĩa đen.
By default, PHP will escape these characters for you in any data coming from the user in GET, Post Theo mặc định, PHP sẽ thoát khỏi những ký tự cho bạn trong bất kỳ dữ liệu từ người dùng trong GET, Post
or Cookie data. hoặc Cookie dữ liệu. This magic escaping is known as Magic Quotes and can be configured in your php.ini Điều này thoát khỏi ma thuật được gọi là Magic Quotes và có thể được cấu hình trong php.ini của bạn
file by setting the magic_quotes_gpc directive. tập tin bằng cách thiết lập các chỉ thị magic_quotes_gpc.
The characters affected are \ ‘ ” and NUL (char 0). If these characters appear in user-supplied data Các nhân vật bị ảnh hưởng là \ ‘”và NUL (char 0). Nếu các ký tự này xuất hiện trong cung cấp dữ liệu người dùng
they will be escaped with a \ (backslash). họ sẽ được thoát khỏi với một) \ (dấu gạch chéo.
Some people prefer to turn this feature off and handle escaping data manually using the addslashes() Một số người muốn tắt tính năng này và xử lý dữ liệu tự thoát bằng cách sử dụng addslashes ()
function. chức năng. There is a converse function, stripslashes(), which removes the backslash characters in an Có một chức năng trò chuyện, stripslashes (), trong đó loại bỏ các ký tự gạch chéo ngược trong một
escaped string. thoát khỏi chuỗi.
– 12 – – 12 –
Page 13 Trang 13
Slide 12/64 Slide 12/64
December 6, 2002 06 Tháng Mười Hai 2002
A Simple Guestbook Một Guestbook Wikipedia
Guestbook Example Ví dụ lưu bút
A very simple guestbook example to illustrate basic file handling. Một ví dụ đơn giản lưu bút rất để minh họa xử lý tập tin cơ bản.
My Guestbook > My Guestbook
Welcome to my Guestbook
Welcome to> của tôi Lưu bút
Please write me a little note below
Xin vui lòng viết cho tôi một lưu ý nhỏ dưới đây
” method=”POST”> <Hình thức hành động SERVER_NAME # =”” Method = “POST”>

value=” type=submit

$fp = fopen(“/tmp/notes.txt”,”a”); $ Fp = fopen (“/ tmp / notes.txt”, “a”);
fputs($fp,nl2br($note).’
‘); fputs ($ fp, nl2br (lưu ý) ‘.’
);
fclose($fp); fclose ($ fp);
} }
?>

The entries so far:

?>

Các mục cho đến nay
<? <? @ReadFile(“/tmp/notes.txt”) ?> @ ReadFile (“/ tmp / notes.txt”)?>

Output: Đầu ra:
My Guestbook My Guestbook
Welcome to my Guestbook Chào mừng đến với Lưu bút của tôi
Please write me a little note below Xin vui lòng viết cho tôi một lưu ý nhỏ dưới đây
The entries so far: Các mục cho đến nay:
– 13 – – 13 –
Page 14 Trang 14
Slide 13/64 Slide 13/64
December 6, 2002 06 Tháng Mười Hai 2002
DB-driven Guestbook DB-driven Guestbook
SQL’izing the Guestbook Example SQL’izing các Ví dụ Guestbook
We are going to convert this into an SQL-driven guestbook by first creating a database, then a Chúng tôi sẽ chuyển đổi này vào một hướng lưu bút SQL bằng cách trước tiên tạo ra một cơ sở dữ liệu, sau đó một
schema for the table where we will store the data and then we will modify the code. lược đồ cho bảng, nơi chúng tôi sẽ lưu trữ dữ liệu và sau đó chúng tôi sẽ thay đổi mã.
Create a database Tạo một cơ sở dữ liệu
mysqladmin create mydb mysqladmin tạo mydb
Create a Schema Tạo một lược đồ
CREATE TABLE comments ( CREATE TABLE ý kiến (
id int(8) DEFAULT ‘0’ NOT NULL auto_increment, id int (8) DEFAULT “0” không auto_increment NULL,
comment text, bình luận văn bản,
ts datetime, ts datetime,
PRIMARY KEY (id) PRIMARY KEY (id)
); );
– 14 – – 14 –
Page 15 Trang 15
Slide 14/64 Slide 14/64
December 6, 2002 06 Tháng Mười Hai 2002
DB-driven Guestbook DB-driven Guestbook
SQL’izing the Guestbook Example SQL’izing các Ví dụ Guestbook
Here we add the necessary code to store our guestbook comments in an SQL database Ở đây chúng tôi thêm mã cần thiết để lưu trữ các ý kiến lưu bút của chúng tôi trong một cơ sở dữ liệu SQL

26 Responses to Khóa Học PHP Nâng Cao

  1. Hello Webmaster, I noticed that https://vdhunghaui.wordpress.com/khoa-h%e1%bb%8dc-php-nang-cao/ is ranking pretty low on Google and has a low Google PageRank. Now the Google PageRank is how Google is able to see how relevant your webpage is compared to all the other webpages online, if you cannot rank high at the top of Google, then you will NOT get the traffic you need. Now usually trying to get to the top of Google costs hundreds if not thousands of dollars and very highly optimized targeted marketing campaigns that takes a team of experts months to achieve. However, we can show you how to get to the top of Google with no out of pocket expenses (free traffic), no stupid ninja tricks, no silly mind control techniques, and this will be all white hat with no blackhat software or tactics that could possibly land you on bad terms with Google and put you in the dreaded “Google Sandbox”. We’ll show you how to easily capture all the targeted traffic you need, for free, multiple ways to land fast (not months) first-page rankings in Google and other major search engines (Bing, Yahoo, Ask, etc), even show you strategies on how to earn daily commissions just try Ranking Top of Google, please check out our 5 minute video.

  2. Hello Webmaster, I noticed that https://vdhunghaui.wordpress.com/khoa-h%e1%bb%8dc-php-nang-cao/ is ranking pretty low on Google and has a low Google PageRank. Now the Google PageRank is how Google is able to see how relevant your webpage is compared to all the other webpages online, if you cannot rank high at the top of Google, then you will NOT get the traffic you need. Now usually trying to get to the top of Google costs hundreds if not thousands of dollars and very highly optimized targeted marketing campaigns that takes a team of experts months to achieve. However, we can show you how to get to the top of Google with no out of pocket expenses (free traffic), no stupid ninja tricks, no silly mind control techniques, and this will be all white hat with no blackhat software or tactics that could possibly land you on bad terms with Google and put you in the dreaded “Google Sandbox”. We’ll show you how to easily capture all the targeted traffic you need, for free, multiple ways to land fast (not months) first-page rankings in Google and other major search engines (Bing, Yahoo, Ask, etc), even show you strategies on how to earn daily commissions just try Ranking Top of Google, please check out our 5 minute video.

  3. Hello Webmaster, I noticed that https://vdhunghaui.wordpress.com/khoa-h%e1%bb%8dc-php-nang-cao/ is ranking pretty low on Google and has a low Google PageRank. Now the Google PageRank is how Google is able to see how relevant your webpage is compared to all the other webpages online, if you cannot rank high at the top of Google, then you will NOT get the traffic you need. Now usually trying to get to the top of Google costs hundreds if not thousands of dollars and very highly optimized targeted marketing campaigns that takes a team of experts months to achieve. However, we can show you how to get to the top of Google with no out of pocket expenses (free traffic), no stupid ninja tricks, no silly mind control techniques, and this will be all white hat with no blackhat software or tactics that could possibly land you on bad terms with Google and put you in the dreaded “Google Sandbox”. We’ll show you how to easily capture all the targeted traffic you need, for free, multiple ways to land fast (not months) first-page rankings in Google and other major search engines (Bing, Yahoo, Ask, etc), even show you strategies on how to earn daily commissions just try Ranking Top of Google, please check out our 5 minute video.

  4. Pingback: URL

  5. My Homepage nói:

    You will be able use all sorts of advised attractions with various car treatments. A quantity of sell traditional tools numerous demand families for almost any event for any investment district, or even for a holiday in new york. ???? ??? ?????? ????? 258295

  6. Samual nói:

    Can I simply just say what a relief to uncover somebody that actually knows what they are discussing online.

    You definitely know how to bring an issue to light and make it important.
    More people need to look at this and understand this side of your story.
    I was surprised you are not more popular because you definitely
    possess the gift.

  7. Great blog here! Also your site loads up very fast!
    What host are you using? Can I get your affiliate link
    to your host? I wish my website loaded up as fast as yours lol

  8. I have fun with, result in I found exactly what I was having a look for. You’ve ended my four day lengthy hunt! God Bless you man. Have a nice day. Bye

  9. When some one searches for his required thing, therefore he/she desires
    to be available that in detail, therefore that thing is maintained over here.

  10. Wow! This blog looks exactly like my old one! It’s on a entirely different topic but it has pretty much the same page layout and design. Superb choice of colors!

  11. archives nói:

    Hey There. I found your blog using msn. This is an extremely well written article.
    I will be sure to bookmark it and come back to read more of your useful info.
    Thanks for the post. I will definitely comeback.

  12. With havin so much content do you ever run into any issues of plagorism or copyright
    violation? My site has a lot of completely unique
    content I’ve either authored myself or outsourced but it appears a lot of it is popping it up all over the internet without my authorization. Do you know any techniques to help stop content from being ripped off? I’d genuinely appreciate it.

  13. It is in point of fact a great and helpful piece of information.
    I’m satisfied that you shared this useful information with us. Please keep us up to date like this. Thank you for sharing.

  14. Legal News nói:

    When I initially commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get three
    e-mails with the same comment. Is there any way you can remove me from that
    service? Many thanks!

  15. SOLUTION: Common sense says that whenever you receive an unsolicited
    email offer, you ought to automatically be suspicious.

    This technique, however, has been ineffective since
    2005. White Hat SEOs are at peace with search engines, neither are they looking
    to follow every single guideline nor are the looking to manipulate them in any way.

  16. It is similar like a child, when new it takes time to stand
    up, then few moths later that can stand up but facing problems
    to walk faster. Cloaking refers to any of several means to serve a
    page to the search-engine spider that is different
    from that seen by human users. White Hat SEOs are at peace
    with search engines, neither are they looking to
    follow every single guideline nor are the looking to
    manipulate them in any way.

  17. There are greater chances for a website to remain in the search engine result pages or SERPs.

    They said they didn’t know what their SEO company was doing. Search Engine Optimization, or SEO, is one of the most widely used methods to improve a website.

  18. webs.com nói:

    I’m really inspired together with your writing skills as well as with the structure to your weblog. Is that this a paid subject matter or did you customize it your self? Anyway keep up the nice quality writing, it’s uncommon to peer a nice blog like this one nowadays.
    .

  19. Good day very cool web site!! Guy .. Beautiful .
    . Superb .. I’ll bookmark your website and take the feeds also? I am satisfied to search out a lot of useful info here in the publish, we want develop more strategies in this regard, thank you for sharing. . . . . .

  20. I just want to mention I am beginner to blogging and site-building and absolutely savored you’re blog. Probably I’m want to bookmark your site . You amazingly have beneficial articles. With thanks for sharing with us your web page.

  21. I simply want to tell you that I am just beginner to blogging and site-building and honestly enjoyed your blog site. Almost certainly I’m want to bookmark your blog post . You really come with amazing posts. Thank you for sharing with us your webpage.

  22. I just want to tell you that I’m beginner to blogging and definitely enjoyed you’re web-site. Likely I’m likely to bookmark your website . You definitely come with incredible stories. Cheers for revealing your webpage.

  23. Simply desire to say your article is as astonishing. The clearness for your submit
    is simply excellent and i can think you are an expert on this subject.
    Well with your permission allow me to take hold of your feed to keep up to date
    with drawing close post. Thanks one million and please keep up the enjoyable work.

  24. dive watches nói:

    Excellent post. I was checking continuously this
    blog and I am impressed! Extremely useful
    info specifically the last part🙂 I care for such info much.
    I was looking for this certain information for a long time.
    Thank you and best of luck.

  25. Aaliyah nói:

    Wow, superb hoolwlk blog format! How lengthy have you been running a blog for? you make running a blog look easy. The whole look of your web site is great, as neatly as the content!

  26. Hi thеre, Ӏ found yоur site νia Google eѵeո as lookіng ffor a
    similaг topic, yοur web site got heгe up, it sеems grеat.
    I’ve bookmarked іt іn my google bookmarks.

    Ηello tɦere, juet turneɗ into alpert tߋ yoսr weblog throuǥh Google, aոd fоսnd that it’s really
    informative. I’m goiոg to be careful for brussels.
    I’ll ƅе grateful iո the event yοu continje this in future.

    Lots оf оther folks ԝill be benefited fгom your
    writing. Cheers!

Gửi phản hồi

Please log in using one of these methods to post your comment:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: