|
|
1. Xử lý các Event được đặt trong jquery.plugin.pn2Menu.js và jquery.1.4.1-min.js ở trang đó.
2. Dấu $ trong jquery được dùng để get 1 element qua id hoặc class (hoặc các cách khác) của element đó, thay thế cho hàm getElementById(). Muốn hiểu rõ và chi tiết bạn có thể vào trang chủ của jquery để xem.
3. Trong file js, không dùng <script></script> để khai báo hàm, biến .v.v.
Bạn nên học qua về javascript ngay cả khi bạn chỉ muốn sử dụng các plugin của jquery hoặc các js framework khác, có như vậy bạn mới có thể hiểu và xử lý các lỗi có thể gặp phải hoặc đơn giản hơn là để sử dụng các plugin, framework này cho đúng cách.
|
|
|
Code:
$(document).ready(function() {
$('#menu').pn2Menu({timeOut: 800});
});
Bạn chú ý đến chỗ "#menu" ở đoạn code trên (trong chính site bạn đưa ra), đó chính là id dùng để plugin pn2Menu xử lý cái dropdown menu này, cho nên bạn vẫn có thể lấy dữ liệu từ database ra để tạo menu bình thường:
Code:
<ul id="menu">
<?php
/**
* Lấy dữ liệu từ database, dùng vòng lặp duyệt qua rồi xuất các dữ liệu đó ra theo dạng
* <li>
* <a href="TopLink1" class="m-top">Menu1</a>
* <ul class="m-sub1">
* <li><a href="link">Link</a></li>
* </ul>
* </li>
* <li>
* <a href="TopLink2" class="m-top">Menu2</a>
* <ul class="m-sub1">
* <li><a href="link">Link</a></li>
* </ul>
* </li>
*/
?>
</ul>
|
|
|
zalman wrote:
Mình chạy centos trên vmware ,mặc dù có đã có ip nhưng vẫn không cách nào vào mạng được,đã chỉnh phần network trên vmware rồi mà vẫn vậy.Có cách nào khắc phục không ah?
Bạn đã thử chuyển network trong setting của máy ảo sang NAT chưa? Lúc đầu mình cũng không kết nối mạng được nhưng sau khi chọn network là NAT thì có thể kết nối bình thường. Thân.
|
|
|
Mình xin phép ngòai lề tí
warpzv wrote:
Bạn muốn làm việc ở một nơi mà suốt ngày bon chen, tính toán thiệt hơn hay làm việc ở một nơi thoải mái và có thể tập trung hết sức cho niềm đam mê của mình?
"Chúng tôi chúc bạn có một cuộc sống tốt ở nơi khác với các công ty đa quốc gia hoặc các công ty lớn đã ổn định."
Chỉ có thể thỏai mái và tập trung hết sức cho niềm đam mê khi có một cuộc sống tốt, không bị chi phối bởi những yếu tố bên ngòai và lương (nói thẳng ra là tiền bạc) là một trong số đó
warpzv wrote:
"Chúng tôi chúc bạn có một cuộc sống tốt ở nơi khác với các công ty đa quốc gia hoặc các công ty lớn đã ổn định."
Vậy là SMAT không tự tin tạo ra cuộc sống tốt cho nhân viên của họ?
npnvhk wrote:
Các bạn có dám chắc rằng thời gian ít hơn dám chắc đủ để chúng tôi tìm đúng những người chúng tôi cần?
Sao phải cần đến 6 tháng mới nhận ra được là ứng viên phù hợp với công việc tại SMAT, với một ứng viên, đâu cần phải đến 6 tháng mới nhận ra được anh ta sáng tạo, có khả năng, có tư duy tốt và đam mê với công việc
npnvhk wrote:
Thứ nhất, bạn cho mình hỏi điểm khác nhau giữa việc bạn chắc chắn có 6 tháng thử việc và việc bạn nhận được hợp đồng chính thức rồi bị đuổi việc sau đó 2 ngày?
Cái mà ứng viên chắc chắn nhận được là 6 tháng thử việc và chỉ là 6 tháng thử việc, còn sau đó thì sao? Nhưng nếu có được hợp đồng chính thức thì chứng tỏ, tôi/người ứng viên đủ khả năng đáp ứng các yêu cầu của cty.
npnvhk wrote:
Trong mắt chúng tôi chưa có một công ty phần mềm nào ở đất nước chúng ta xứng đáng gọi là "công ty lớn" cả, vì họ đang không có nhiều những "lập trình viên" đúng nghĩa mà chỉ có những "thợ gõ code".
Vì bạn chưa thấy qua nhiều công ty phần mềm hay vì tiêu chuẩn để được gọi là lập trình viên của bạn quá cao?
|
|
|
Anh thử đọc bài viết này http://vinaora.com/joomla/blog/157-phan-quyen-joomla-1-6.html rồi xem thử có thể đem vào joomla 1.5 được không? Hoặc là thử cái này http://www.corephp.com/community-acl/community-acl-for-joomla-1.5.html
Joomla 1.5 cũng có 1 extension giúp phân quyền là SimpleAcl nhưng có lẽ nó quá đơn giản so với yêu cầu của anh, chi tiết tại http://extensions.joomla.org/extensions/access-a-security/frontend-access-control/4836.
|
|
|
Cái link đó dùng để assign giá trị cho biến lang là vn, rồi sau đó, dựa vào biến này để hiển thị ngôn ngữ đúng với lựa chọn của người dùng thôi, đâu có sử dụng kỹ thuật gì nhiều đâu bạn
|
|
|
tyhaonline wrote:
Hiện tại mình thấy cách load website của gmail và yahoo... rất là hay(thường lúc login vô sẻ cho mình lựa chọn 1 là load giống ajax, hai là load basic html)!
công nghệ hiện tại có phải là yahoo và gmail sử dụng ajax và jquery hay không! bạn nào đã làm qua dạng tương tự như thế này, có thể cho bài phân tích cụ thể để mọi người học hỏi được không
Bạn tìm hiểu hai cái màu đỏ đã đi nhé. Chính xác là Yahoo và Gmail có sử dụng Ajax, nhưng không phải Ajax chỉ là Jquery đâu
|
|
|
Bạn thử cách này xem:
1. Tại host A (host không hỗ trợ file_get_contents) bạn viết hàm Ajax để gửi request đến host B (là host có hỗ trợ file_get_contents)
2. Tại host B, bạn viết hàm nhận request + xử lý request từ host A, get_contents theo ý đồ của bạn, rồi trả lại giá trị đó cho host A (có thể trả về dưới định dạng Json hoặc xml).
3. Host A nhận response từ host B (dùng Ajax), xử lý dữ liệu được truyền từ host B rồi xuất ra web.
Cũng khá đơn giản thôi, chắc bạn làm không khó (giống y như cách của leartohack thôi nhỉ)
@MrMe: chắc bạn í nói bị líu lưỡi nên nói sai A và B ấy mà
|
|
|
Vậy thì người ta gợi ý dùng javascript để làm gì Dùng JS để lấy phần "abcxyz" phía sau dấu # rồi dựa vào cái abcxyz + Ajax đó để send request đến server script. Đến nước này mà làm không được nữa thì ..... (phần .... tự hiểu nhé )
|
|
|
1. Sao không xử lý ngay trên A mà phải đi đường vòng qua B nữa vậy bạn?
2. Xử lý request mà sao lại cần đến file_get_contents() vậy?
Trả lời giùm mình 2 cái này trước đi
|
|
|
1. Trang đó không hề wwwect đi đâu cả, vẫn đứng ngay trang chủ để load các thông tin khác ra và hiển thị, bằng cách sử dụng Ajax.
2. Trang đó xác định thông tin request đến server bằng cách "nhìn" vào url, cụ thể là phần "#abc..." trên thanh địa chỉ.
3. ASP hay ASP.NET đều làm được.
4. Vì trang đó xài Ajax nên không bạn không thể save nguyên trang về để chạy offline được.
5. Nếu vẫn còn thắc mắc thì bạn nghiên cứu thêm về Ajax, js .... như xnohat đã nói.
(nhắc nhỏ: pro gì kì dzậy bạn )
|
|
|
proA.Vito wrote:
- Mình muốn biết nếu giả sử mình sử dụng ajax để thêm 1 user vào db thì có thể gặp vấn đề bảo mật gì không?
- Tương tự với trường hợp nếu mình muốn xóa 1 message của user trong db bằng ajax
Có. Chỉ nói 1 vài cái đơn giản thôi là có những thằng không có quyền xóa hay add nhưng vẫn muốn chen vào, add thêm hoặc xóa bớt db, hoặc là có những thằng được quyền chỉnh sửa db thì lại đưa những dữ liệu tầm phào vào thay vì đưa những dữ liệu đúng để có thể chỉnh sửa trong db (cái này thì ajax hay không ajax đều có thể gặp)
|
|
|
proA.Vito wrote:
@Cái 1: người dùng thích cái gì nhanh và đơn giản, dễ dùng :"> Thì nếu bình thường mình nghĩ để ứng dụng AJAX ở càng nhiều chức năng càng tốt. Nhưng mình nghĩ là trong câu hỏi của mình, thì nên đặt ở vị trí của 1 hacker, xem nó có thể phá hoại mạnh nhất ở chức năng nào để tránh những nguy cơ đó đi
@Cái 2: Thỉ rõ ràng rồi :"> nhưng vấn đề ở đây là phân biệt thế nào khi dữ liệu truyền vào là ở trong câu lệnh select hay delete :">
1. Đang nói khía cạnh người dùng mà, hack hiếc gì ở đây không phải cứ xài càng nhiều Ajax vào càng nhiều chức năng là càng tốt đâu
2. Muốn delete thì gọi đến function delete, muốn select thì gọi đến function select chứ sao nữa mình phải xác định lúc nào del hay lúc nào select để truyền vào url cho đúng, chứ không lẽ bắt nó phải tự hiểu hay sao nà?
|
|
|
proA.Vito wrote:
Đấy đấy... Đúng rồi đấy... Vì mình chưa trả lời được 2 câu này nên mình mới phải post bài hỏi mọi người. Đọc sách chỉ thấy nó nói ajax có thể làm được cái này cái nọ mà chẳng nói đến lỗ hổng bảo mật của nó ra sao, ảnh hưởng thế nào tới người dùng Nhưng theo cách hiểu của tớ (còn đang non kém) là không nên làm những công việc như thêm, sửa, xóa db => sợ bị hack lắm Dùng câu lệnh select thôi. Nhưng nghĩ lại thấy nếu nó dùng sql injection, thêm dấu -- vào đằng sau, rồi chèn thêm câu lệnh delete nữa thì chít ( (mặc dù có thể validate input được cái này, nhưng chắc vẫn có cách phá được cái validate đấy :">, nếu không thì cái thằng sql injection không nổi tiếng như thế ) )
Cái 1: đặt mình vào trường hợp của người dùng (chứ không phải của một coder) để biết người dùng cần gì
Cái 2: Thêm, xóa hay sửa thì phải dựa vào khóa chính của trường muốn sửa (id chẳng hạn) --> kiểm tra cái này cộng với kiểm tra (hay kiểm soát) dữ liệu được truyền từ client side
|
|
|
proA.Vito wrote:
Oh` ý tưởng của bạn khá hay... Để mình thử làm xem. Cảm ơn bạn nhé!!! Thế ngoài việc dùng để check form đăng ký ra, ajax còn có thể làm gì nữa nhỉ :"> Nó có nên dùng để làm các công việc như insert user vào db, hay là xóa thông tin gì trong db ko? Hay chỉ nên dùng để truy xuất và hiện thị dữ liệu thôi
Có nên dùng vào mục đích nào đó hay không thì phải phụ thuộc vào các yếu tố:
1. Có dễ sử dụng không? Có gây rắc rối gì cho người dùng không?
2. Có đảm bảo sẽ kiểm soát được các lỗi có thể xảy ra không
và nhiều yếu tố nữa chưa nghĩ ra
Nếu trả lời xong được các câu hỏi đó thì bạn sẽ biết có nên hay không
|
|
|
proA.Vito wrote:
Cảm ơn ý kiến của anh :X ... Nhưng vấn đề em đang thắc mắc là khi mình thì muốn check sự tồn tại của thằng user đó, nhưng do lỗi hổng bảo mật mà em vừa nói, thì công việc check đó ko thực hiện được... Đầu tiên phải lo đến việc có thực hiện được việc check hay không đã rồi mới dám tính nó check thế nào chứ anh hi` hi`.
À à, có cách này, bạn xem thử có hợp lý không nhé
1.Trong trang reg nick, mặc định bạn sẽ cho disable nút submit (hoặc disable sự kiện submit của form).
2.Khi sau khi dùng Ajax để check cái username đó, nếu và chỉ nếu server side trả về status của username là available thì cũng đồng thời trả về một biến, mình dựa vào giá trị của biến này để enable sự kiện submit form kia. Điều này sẽ tránh được trường hợp như bạn nói, không kiểm tra nick thì sẽ không có giá trị trả về để enable sự kiện submit.
Hy vọng là mình viết không quá khó hiểu
|
|