Skip navigation.

Log in | Sign up

My little corner on MyOpera

Simple life :)

Posts tagged with "Kinh nghiệm"

Parse single Javascript object in Jquery by $.ajax method

, , , ...

Chưa thử test với Jquery phiên bản mới nhất, mới chạy trên bản 1.2.1 (dự án hiện tại đang dùng :frown:). Khi sử dụng $.ajax như bên dưới thì phát sinh lỗi:
$.ajax({
type: "POST",
url: document.location.href,
data: "card_type=" + cardType + "&card_number=" + cardNumber,
dataType: 'JSON',
cache: false,
success: function(responses){
    if(!responses.has_error)
    {
 alert("Please enter valid Card Number.");
 return false;
    }
       }
});

thì bị lỗi. Mặc dù response là {'has_error': false;} nhưng lại không nhảy vào khối lệnh IF.
Cách khắc phục rất đơn giản:
...
success: function(responses){
    var obj = eval('('+responses+')');
    if(!obj .has_error)
    {
alert("Please enter valid Card Number.");
return false;
    }
}

Lưu ý: Chỉ xảy ra lỗi này nếu response là single object, nếu nó là mảng các object thì cứ $.each rồi get theo key, val thì lại ko sao :frown:

Xem bản có định dạng code tại đây

Stupid IE???

, ,

Today, a colleague asked me: "how to download file with docx extension (MS Word 2007) in IE6?" because IE automatic changes the .docx to .zip. I thought to solve this problem very easy by directly link download but I'm wrong :frown: It seems a IE bug??? So I recommend him that he should use PHP header to output binary content of file.

IE handle stupid or smart in this case?

p/s: Mặc dù biết trình độ tiếng Anh của tớ rất tệ nhưng tớ cứ mạnh dạn tập viết. Nếu mọi người thấy sai chỗ nào thì góp ý để tớ sửa nhá p:

Confused

, , , ...

Dạo này tự nhiên cảm thấy khó chịu ghê gớm, hơi tý là nổi cáu :worried: Công việc căng thẳng cũng là một nguyên nhân nhưng thật ra còn 1 nguyên nhân khác, cái này chắc 1 vài người biết :zip:

Tối nay lúc trên đường đi làm về mình lại miên man suy nghĩ. Nào là đang làm cái gì, cho ai, vì ai, như thế nào... Chốt lại là thấy chán. Nhiều khi bị cuốn vào lối sống kiểu thị trường lúc nào không hay (cho đến giờ phút này mình vẫn miễn nhiễm với nó :knight:). Rồi lại nghĩ đến ông Lâm. Dạo này hay được ông ấy an ủi quá :love:

Kể cũng lạ. Ông này nhiều tuổi hơn mình thế mà sống cứ phơi phới, hơn hớn ý :D Chắc ông ấy cũng có ưu tư như ai thôi, quan trọng là ông ấy biết cách chế ngự nó, hoặc ít ra, biết cách "bơ" nó đi :rolleyes: Uh, bơ nó đi cũng là cách hay đấy chứ. Với những thằng bản lĩnh không được cao như mình thì cứ tạm lờ khó khăn, bức xúc hay là 1 cái tên quái quỉ gì đó đi cũng được :yuck:

Tự thưởng cho mình bài hát của nhóm B*Witched, một bài hát mình rất thích "nhìn" năm lớp 9 :sing:

C'est_la_vie



Ah Ohh Hey Hey [X2]
I said, hey boy sittin in your tree
Mummy always wants you to come for tea
Don't be shy, straighten up your tie
Get down from your tree house sittin in the sky
I wanna know just what to do
Is it very big is there room for two ?
I got a house with windows and doors
I'll show you mine if you show me yours

Gotta let me in, hey, hey, hey
Let the fun begin hey
I'm the wolf today hey, hey, hey
I'll huff I'll puff
I'll huff I'll puff and blow you away

Say you will say you won't
Say you'll do what I don't
Say you're true, say to me c'est la vie

Do you play with the girls, play with the boys ?
Do you ever get lonely playing with your toys ?
We can talk, we can sing
I'll be the queen and you'll be the king
Hey boy in your tree
Throw down your ladder make a room for me
I got a house with windows and doors
I'll show you mine if you show me yours

Gotta let me in, hey, hey, hey
Let the fun begin hey
I'm the wolf today hey, hey, hey
I'll huff I'll puff
I'll huff I'll puff and blow you away

Say you will say you won't
Say you'll do what I don't
Say you're true, say to me c'est la vie

Say you will say you won't
Say you'll do what I don't
Say you're true, say to me c'est la vie

PHP Fatal error

, , ,

Trong 1 dự án gặp đến 2 lỗi có thể nói là nghiêm trọng :cry:
  1. Cannot use object of type __PHP_Incomplete_Class as array
  2. 406 Not Acceptable

Lỗi thứ nhất "thường" xảy ra ở khu vực tương tự như sau:
   $user = isset($_SESSION['user'])?$_SESSION['user']:'';
   if ($user['user_id']<0 || $user['user_id'] == '')
   {
       _redirect('user/login');
   }
   return true;

Phần này (backend) tưởng chừng chả có lỗi gì (tôi làm phần frontend, 1 anh nữa làm phần backend) nhưng thật ra lỗi be bét bởi:
  1. Khi session user chưa được khởi tạo, biến $user sẽ = chuỗi trống
  2. Khi $user là chuỗi rỗng thì $user làm gì có phần tử user_id

Thêm vào nữa, đó là tên biến với tên session bị trùng nhau :frown: Nếu chạy trên môi trường dev (XAMPP) thì không vấn đề gì xảy ra, nhưng chạy trên môi trường LAMPP (đặc biệt là trên server của Nhân Hòa) thì sẽ bị lỗi Cannot use object of type __PHP_Incomplete_Class as array

Thứ hai, lỗi 406 Not Acceptable. Không hiểu sao khi vào phần cấu hình của website, chỉ có 3 field dạng Wysiwyg editor (FCKeditor), cứ ấn save thì chết (hiện ra trang trắng xóa). Sau khi xem response code, thấy báo 406 mà chả hiểu tại sao lại bị. Toàn những ký tự có thể nói là hợp lệ vậy mà server nó vẫn từ chối là sao? Bí quá, debug bằng cách...test từng editor 1 :o: và nhận thấy rằng nó chết ở editor có chứa ảnh upload lên với đường dẫn dạng như sau: /home/xxx/public_html/uploads. Hình như SA của Nhân Hòa sợ local attack hay sao ấy mà cấm các truy cập kiểu này??? Không biết nữa, chỉ biết là khi tôi thay cái path đó bằng url path thì mọi thứ okie. Đến mệt awww
Source: donamkhanh.com

is_dir vs file_exists

, , ,

Hôm nay ở cty anh Linh đã hỏi có ai biết hàm kiểm tra thư mục đã tồn tại hay chưa không? (anh ấy đang làm cái liên quan đến theme thì phải :confused: ). Theo phản xạ tôi bật ngay ra hàm is_dir, ngay lúc đấy chỉ biết hàm is_dir là kiểm tra xem tên truyền vào có phải là thư mục hay không, đúng như tên gọi của hàm: is_dir. Mà dù sao thì phải là thư mục thì mới tồn tại được chứ nhỉ? :D

Còn thằng ku Trường nó bảo dùng hàm file_exists. Lúc đó tôi cũng chẳng biết là file_exists có thể check exists cả file lẫn folder :o: Tuy nhiên cái cần nhấn mạnh ở đây là: tôi đã có lần từng dùng hàm file_exists để kiểm tra sự tồn tại của 1 fileluôn nhận được kết quả FALSE mặc dù file nó nằm chình ình ra đấy nên tôi khá e dè trong việc sử dụng hàm này. Khi phải check sự tồn tại của file hay thư mục thì tôi hay dùng is_fileis_dir.

Lúc đó cũng chí chóe 1 lúc nhưng lý do chính để bảo nên dùng is_dir thì tôi chẳng thế nhớ được. Đang bận làm nên không có thời gian search (nhớ không nhầm thì trong PHPVietnam cũng có nhắc đến => nó đây: http://groups.google.com/group/phpvietnam/browse_thread/thread/88631b0e7cec117/199d1957c9df6e73?lnk=gst&q=file_exists#199d1957c9df6e73)

Bây giờ test thử xem nào:
exec('chown mrkhanh test_dir');

if( file_exists('test_dir') )
{
    echo 'test_dir is existed.';
}
else 
{
    echo 'test_dir does not exist.';
}

Mới chạy thử trên host (bluehost) thì thấy nó chỉ hiện trang trắng, error 500 :o:
Để hôm nào test trên thằng Ubuntu vậy :left:

Nhưng mà PHP manual nói rồi, chẳng lẽ sai :whistle:

This function returns FALSE for files inaccessible due to safe mode restrictions. However these files still can be included if they are located in safe_mode_include_dir.


Còn đây là giải thích của anh pcdinh (Phạm Công Định):

file template được up lên với sở hữu của root trong khi apache lại chạy dưới 1 user khác.

Download Opera, the fastest and most secure browser
December 2009
M T W T F S S
November 2009January 2010
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31