Hỏi - Đáp

Giáo viên trả lời:
http://www.pavietnam.vn/vn/ vps-server.html

Bạn có thể dùng VPS cá nhân, sử dụng Windows Server 2003, Plek 9.0.2, PHP 5.2, MySQL 5.0

Giáo viên trả lời:
Phần phản hồi tin sau này ta làm phản hồi đẩy lên Facebook luôn bạn để cho SEO tốt hơn, không lưu trong database của chúng ta nữa, phần phải hồi này bạn xem trong phần hoàn thành bài tập cuối khoá có nói đó, còn phần làm website đa giao diện sau này chúng ta cũng làm theo cách khác nhanh hơn do đó bảng giaodien ta không cần dùng tới cũng được cho nhẹ database và cũng nằm trong phần hoàn thành bài tập cuối khoá, còn bảng loguser cũng không thực sự cần thiết để đưa vào website vì sẽ làm database của website mau phình ra và tốn băng thông rất nhiều, chỉ dùng khi nào bạn dùng Server riêng thôi.

Giáo viên trả lời:
Download ở đây, chép về rồi bỏ vào website dùng thôi bạn

Giáo viên trả lời:
Tromg câu hỏi này không thấy bạn nói cụ thể review trang web nào trong các trình duyệt?

+ Nếu bạn muốn Review trang web bạn đang thiết kế trong Dreamweaver thì đầu tiên bạn phải thêm các trình duyệt vào trong Dreamweaver bằng cách bấm vào hình trái địa cầu rồi chọn menu Edit Browser List. Trong mục Browser click nút + rồi chỉ đường dẫn tới tập tin trình duyệt của bạn trong thư mục Programe files. Xem các hình minh hoạ.









Cón nếu bạn xem các Videoclip bài học chỉ được trên Chrome không có nghĩa là máy đang đang dùng hệ điều hành quá cũ WinXP rồi. Hiện tại Windows XP Microsoft đã không còn support và cập nhật mới nữa và hệ điều hành Windows XP các trình duyệt IE hay Firefox sẽ không xem được Videoclip dạng HD MP4 được, trên Wndows XP chỉ dùng Chrome xem được Video dạng HD MP4 nhưng sẽ bị một số hạn chế.

Để xem được Video dạng HD MP4 (các video bài học được xây dụng theo chuẩn video mới nhất hiện nay) máy của bạn phải dùng tối thiểu là Windows 7 hay Windows 8 hay Windows 8.1 và tốt nhất là dùng trình duyệt IE 10, hay IE 11 (trình duyệt này hỗ trợ xem video HD MP4 rất tốt có thể xem tới hay xem lui các đoạn Videoclip đã tải về rồi và có thể chỉnh được tốc độ xem video nhanh hay chậm), còn Firefox trên các trình duyệt này cũng hỗ trợ xem video dạng HD MP4 cũng khá tốt nhưng không bằng Iternet Expore (IE)

Giáo viên trả lời:
Trang form_search.php của bạn làm có quá nhiều chỗ vô lý

1 - Trang form_search.php của bạn không thể include vào dòng phía trên menu được mà phải include vào cột bên phải thì hợp lý hơn vì trang này nó có chiều cao khá dài => đó là lỗi về cách thiết kế giao diện
2 - Trong trang này chỉ cần tạo một Recordset mà bạn tạo tới 2 Recordset không biết dùng để làm gì???
Ở đây là ta tìm sản phẩm X trong một danh mục sản phẩm cấp 1 như ví dụ như ta muốn tìm Máy tính Dell trong danh mục máy tính với giá từ bao nhiêu tới bao nhiêu. Trong trang này key1 thì quá dễ rồi giống hoàn toàn với keyword trong website cms, còn cái menu thì ta chỉ cần tạo một Recordset tối bảng danhmuc1 là được sau đó chọn menu và đưa dữ liệu vào menu mà thôi ví dụ rs_danhmuc1 chỉ cần lấy các trường ID_danhmuc1,tendanhmuc1, tendanhmuc1_EN là được sau đó đưa vào menu với value là ID_danhmuc1 và Label là tendanhmuc1.
Còn trong menu này bạn lại tạo một Recordset lấy dữ liệu từ bảng sanpham rồi lại dưa sản phẩm vào menu là hoàn toàn sai về ý tưởng, ở đây là ta tìm sản phẩm theo danh mục với giá từ đâu tới đâu chứ ta đâu có tìm tên sản phẩm torng danh sách các sản phẩm, ví dụ sau này có 10 ngàn sản phẩm hổng lẻ trong menu này xổ ra 10 ngàn sản phẩm, mà menu này phải xổ ra danh mục để người dùng tìm sàn phẩm trong danh mục nào
3 - Phần thiết kế key3 và key4 cho 2 menu cũng sai hoàn toàn về ý tưởng. Trong khi trong bảng sản phẩm phần admincp bạn nhập sản phẩm với giá là tiền việt mà torng đây tôi thấy bạn để tiền là USD không biết là USD này ở đâu ra, trorng LAB là vậy nhưng bạn phải đổi lại chứ, phải theo dữ liệu torng database của mình chứ.

bạn kiểm tra xem trong bảng sản phẩm của bạn giá tiền thấp nhất là bao nhiêu và giá tiền cao nhất người ta nhập là bao nhiêu trong đó mà làm theo dữ liệu này

Trong database tôi thấy giá tiền thấp nhất là 7190 VND và giá tiền cao nhất là 16500 VND (giá tiền này bạn ó thể sửa lại theo ý của bạn)

Trong key3 ví dụ menu chọn Giá từ ta có thể đặt là

<option value="1000" selected>Giá từ </option>
<option value="5000">5000 VND</option>
<option value="7000">7000 VND</option>
<option value="10000">10000 VND</option>
<option value="12000">12000 VND</option>
<option value="20000">20000 VND</option>

Các gái tiền này là do ta đặt ra để người dùng chọn tìm giá tới thiểu là bao nhiêu và tối đa là bao nhiêu, bạn tạo bao nhiêu là tuỳ nhưng phải có giá tối thiểu và có giá tối đa

Còn trong menu key4 Giá đến cũng làm tương tự

<option value="20000" selected>Giá từ</option>
<option value="5000">5000 VND</option>
<option value="7000">7000 VND</option>
<option value="10000">10000 VND</option>
<option value="12000">12000 VND</option>
<option value="20000">Trên 20000 VND</option>

Trong này option selected phải là giá cao nhất của key3 để nếu người dùng không chọn tìm từ đâu đến đâu thì kể như nó tìm từ giá thấp nhất đến cao nhất là 1000 VND đến 20000 VND


Còn trong thẻ form thì bạn phải gọi trang ketquatim.php giống như bên site CMS bạn đã làm chứ sau lại gọi trang chủ, khi người ta nhập từ khoá vào tìm rồi chọn danh mục để tìm và chọn giá tìm từ đâu đến đâu và click nút tìm thì sẽ hiện ra trang ketquatim.php chứ tìm xong lại ra cho người ta coi trang chủ của ta làm gì mà phải hiện trang kết qua chứ

+ Còn trang ketquatim.php thì lấy trang index.php Save thanh trang ketquatim.php giống như làm trong site CMS.
+ Sau đó tạo trang inc_ketquatim.php rồi Include vào cột giữa giống như làm trong site CMS
+ Trong trang inc_ketquatim.php bạn có thể Save As từ trang inc_sanphamcap1.php đè vao trang này để lấy giao diện rồi sau đó mở trang inc_ketquatim.php lên sửa lại Recorset thôi.

+ Trong Recordset này phải lọc sau cho đủ các điều kiện sau:
+ Phải tao QuB kết nối tới 2 bảng danhmuc1 và sanpham và phải tạo quan hệ giữa 2 bảng này (giống như làm trong trang inc_sanphamcap1.php)
+ Trong QuB phải lọc theo ID_danhmuc1 với value là 1 giá trị nào đó của danh mục 1 (ví dụ 1) và Run Time value và key2 (tức là ID_danhmuc1), key2 chỉ là bí danh của ID_danhmuc1 thôi
+ Trong QUB sẽ lọc theo tensanpham với kiểu lọc là Contain (có chứa) và Run Time Value là key1 còn giá trị Default ví dụ như tên sản phẩm cần tìm như IBM gì đó
+ Sort theo ngày giảm dần và kiemduyet cũng là 1
+ Sau khi lưu QuB trở về chết độ Advance hãy thêm 2 biến nữa như torng LAB hướng dẫn đó là KTColParam3 (để lấy key3) và KTColParam4 để lấy key4 . Trong này KTCOlParem3 hay 4 giống như là colname1 hay colname2 khi ta làm trong site CMS
+ Sau đó viết thêm lệnh trong Recordset để nó có thể tìm được giá từ đâu tới đâu bằng lệnh BETWEEN (bạn coi trong LAB tạo tarng kết qua tìm - LAB - CREATE SEARCH RESULT người ta có chỉ và bôi đỏ dòng viết thêm này.
Chú ý là giá trị default của KTColparem3 phải là giá thấp nhấ ví dụ là 1000 và giá trị Default của KTColParam4 là giá cao nhất ví dụ là 20000
 
Ví dụ như:............AND sanpham.gia BETWEEN KTColParam3 AND KTColParam4
Khúc ... là lệnh đã phát sing từ QUB ta chỉ viết thêm phần AND vào để nó tìm thêm giá từ thấp nhất đến cao nhất thôi.

Bạn làm lại trang form_search.php và làm tiếp trang ketquatim.php và trang inc_ketquatim.php đi để tôi xem tiếp bạn làm như thế nào rồi sửa tiếp. Hãy cố gắng suy luận khi làm LAB, bạn làm tiếp tới đây đi, có gì hỏi tiếp để được hướng dẫn, bạn phải làm thì mới có kinh nghiệm được.

Giáo viên trả lời:


Giáo viên trả lời:
Bên máy tôi vào và vẫn lấy script được bình thường, chắc đường mạng của bạn bị gì rồi. Kiểm tra lại đường mạng xem sau.

Giáo viên trả lời:
Bạn vào trang addthis.com lấy lại đoạn script mới bỏ vào thử xem có bị hông? có thể mạng cáp quang bị gì nên nó kết nới với addthis củng chập chờn, nhìn đoạn Code thì thấy OK.

Giáo viên trả lời:


Mấy cái hình chỗ phần giỏ hàng và nút Add cart bị mất là do bạn chưa đưa $url vào trong thẻ img. Phải nhớ là khi rewrite các đường dẫn tới hình ảnh css và js đều phải đưa $url vào để chuyển thành tuyệt đối thì mới được.

Giáo viên trả lời:

Đã gửi 2 LAB về tìm kiếm sản phẩm cho bạn, bạn làm qua đi rồi hãy hỏi tiếp, thấy bạn chưa làm gì cả.

Trong phần tìm kiếm thì bạn phải lam trang form_search.php trước (LAB - CREATE FORM SERACH) sau đó có thể nâng cấp lên Form search level 2 có nghĩa là tìm kiếm với số từ khoá nhiêu hơn, rồi sau đó mới làm tới trang hiện kết quả tìm (LAB -LAB - CREATE SEARCH RESULT).

+ Trong trang form_search.php có 1 recordset để lấy dữ liệu từ bảng itemcategory (chính là bảng danhmuc1 của bạn) trong lab này database nó đặt tên khác bạn phải đổi tên bảng và tên filed theo đúng như database hiện tại của bạn. Trường ItemCatID chính là ID_danhmuc1 còn trường ItemCatName chính là tendanhmuc1 thôi.

Trong trang này có chỉ rất kỹ là tạo một form_search bao gồm các thành phần
+ key1 => là một Text Filed
+ key2 => là một menu lấy dữ liệu từ bảng ItemCategory (tức bảng danhmuc1)
+ key3 => là hộp menu cho phép tìm theo giá từ (ở đây người ta dùng tiền đô còn database của bạn nhập tiền việt thì bạn đổi lại xài tiền việt ví dụ người ta 1$ thì bạn làm ví dụ là 100000 ngàn gì đó
+ key4 => là hộp menu cho phép tìm đến giá và cũng tìm theo tiền $ bạn đổi lại tìm theo tiền việt.
+ Và một cái nút Tìm là hình

Form search chỉ có vậy thôi.

Còn trong trang search_result.php người ta đã chỉ bạn cách tạo Recorset bằng chết độ QuB kết nối giữa 2 bảng bảng ItemCategory và bảng Item (tức là kết nối giữa bảng danhmuc1 và bảng sanpham). Phần kết nối giữa 2 bàng này thì trong trang sanphamcap1.php bạn đã có làm qua rồi (chịu khó dịch tiếng anh tên trường của người ta thành tên tiếng việt thí đoán xem nó là trường gì và nằm trong bảng nào của mình). Trong đây ItemName chính là tensanpham (tương ứng key1) và ItemCatID tường ứng key2) khi tìm (các key1 và key2 này là lúc thiết kế form search ta cho người ta nhập vào)
Và ta tạo thêm 2 thông số nữa để lấy key3 và key4 để cho phép tìm theo giá (chú ý giá trị default chính là giá tiền việt còn ở đây người ta để 50 có nghĩa là 50 USD là giá tìm cao nhất còn 1 có nghĩa là 1USD là gia tiềm tìm thấp nhất. Ví dụ ta tìm từ 100000 đến 5000000 (tuỳ theo bạn muốn tìm theo các khoảng tiền việt như thế nào vd như tìm sản phẩm có giá từ 100000 đến 2000000 gì đó

Và trong lệnh có thêm vàoAND items.ItemPrice BETWEEN KTColParam3 AND KTColParam4

để cho phép tìm theo giá từ đâu tới đâu (có nghĩa là tìm giá từ key3 đến key4. ItemPrice chính là gia torng bảng sanpham của bạn thôi. Còn key3 là giá tiền thấp nhất, key4 là giá tiềm tìm cao nhất.

Sau khi có Recordset rối thì bạn xuất dữ liệu ra thôi. Trong trang này người ta dùng Table và dùng lệnh Looper Wiward bạn không cần dùng lệnh này (đây là một cách khác) bạn có thể lấy giao diện mấy trang sanphamcap1 của bạn dùng luôn cũng được, sau đó đưa các trường tương ứng từ Recordset vào thôi

Giáo viên trả lời:
Lỗi này là do bạn chưa Rewite cho mục trang chủ trong trang menu.php

Bạn hãy rewrite cho mục trang chủ trong thẻ A của mục trang chủ. Hiện tại thẻ A này thuộc tính href đang để rỗng. 
Trong thuộc tính href này bạn xuất biến $url vào là được

Giáo viên trả lời:



Bạn chưa sử dụng Show If Recordset Is Not Empty cho section đang chứa kết quả tìm kiếm

Còn dòng thông bào lỗi bạn cũng tạo ra một section chứa thông báo lỗi sau đó dùng lệnh Show If Recordset Is empty để hiện nó ra khi không có kết quả tìm

Giáo viên trả lời:
Rewrite chỉ ghi như vậy thôiRewriteRule ^ket-qua-tim-kiem.html$ ketquatim.php [L]

Không cần truyền keyword

Giáo viên trả lời:
có to hay không có to đều phải hiện được, do bạn ghi bị ngược thôi phải ghi là như vầy


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<style>
.gradient_ltbr {
background: -webkit-linear-gradient( left top, #FF0000, #00FF00 );
background: -moz-linear-gradient( left top, #FF0000, #00FF00 );
background: -o-linear-gradient( left top, #FF0000, #00FF00 );
background: linear-gradient(to bottom right, #FF0000, #00FF00 );
}
div {width:200px;
height:200px;
text-align:center;
line-height:200px;
}
</style>
</head>
<body>
<div class="gradient_ltbr">
Hocwebgiare.com
</div>
</body>
</html>

Giáo viên trả lời:
Nhìn vào đường dẫn tới các tập tin của bạn tôi thấy bạn chưa đưa địa chỉ website vào. Bạn phải nhớ một nguyên tắc quan trọng là khi ta rewrite thì ta phải dùng địa chỉ tuyệt đối hết cho các tập tin trong trang web. Nhất là các tập tin trong các trang thuộc cấp 2 (vì bây giờ nó sẽ hiểu trang của chúng ta nằm sau một cấp thư mục)


Trong trang layout_theloaitin.php chỗ mấy thẻ link tới tập tin css bạn hãy đưa biến $url vào và cũng đưa vào chỗ tập tin styleswitcher.js. Nói chung là ở tất cả các trang bạn đều phải làm thao tác này cho đường dẫn tới tất cả các trang CSS, JS và HÌNH

Giáo viên trả lời:


Lỗi này là do lúc bạn cài đặt chương trình Appserv, tới phần cài đặt MySQL nó có 2 cái checkbox, ta phải chọn checkbox Enable InnoDB thì sau này khi tạo Table nó mới cho ta tạo được.
Có 2 cách giải quyết
+ Cách 1: gỡ bỏ Appserv ra cài lại và nhớ chọn mục Enable InnoDB
+ Cách 2: Đăng nhập vào MySQL bằng MySQL Guitool -> chọn menu Startup Varibles-> chọn Tab InnoDB Parameters->Chọn Checkbox Active InnoDB sau đó vào Service , Stop và Start dịch vụ MySQL lại là được.

Giáo viên trả lời:


+ Lỗi này là do ta chưa có keyword do đó nó bị lỗi. Bạn không được phép chạy riêng trang timtukhoa.php vì khi ta chạy riêng thì nó sẽ không có keyword mà hàm search_highliht() nó lại tôi màu cho từ khoá, mà không có từ khoá thì nó sẽ không tô được do đó nó sẽ lỗi.
+ Bạn phải chạy từ trang chủ, nơi có cái Form search và phải nhập vào từ khoá thì mới được bạn.

Giáo viên trả lời:
Cám ơn Bạn đã góp ý về chương trình học Online, trong thời gian sắp tới tôi sẽ cố gắng đem hết kinh nghiệm của tôi truyền vào trong các bài học đó là mong muốn của tôi, để truyền đạt những gì tôi đã biết được cho học viên, Bạn nhớ vào cập nhật kiến thức thường xuyên nhé Bạn. Trong khoá học tôi cố gắng trang bị cho các bạn tất cả các kiến thức liên quan trong phần học chính của bạn trước khi vào phần học chính thức PHP của bạn , do đó thời gian học có thể dài ra đôi chút do đó Bạn thông cảm nhé. Về thời gian học Online thì các bạn an tâm không phải khoá học 2 tháng là hết 2 tháng là hết hạn đâu mà thời gian thường cấp dư ra cả năm cho các bạn để các bạn có thời gian vào ôn bài.

Mọi ý kiến mà Bạn cảm nhận về chương trình Bạn có thể ghi vào form bên dưới dùm tôi để các học viên khác tham khảo.
Cám ơn!

Giáo viên trả lời:
Download tại đây: http://hocwebonline.info/attach/customscrollbar.zip