Hỏi - Đáp

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

hoc thiet ke website

Kiểm tra source website của bạn thấy chép thiếu thư mục fonts chứa các font awesome.
Tôi đã chép thêm thư mục này bỏ vào website của bạn.
Kiểm tra mail để nhận lại website

Giáo viên trả lời:
Tôi đã kiểm tra Source webiste của Bạn.


Phần màn hình từ 320 -> 480 Bạn chỉnh thêm một số thuộc tính như sau:

.sanpham_box{
width:99%;
height:218px;
margin-right:0px;
float:left;
text-align:center;
border:1px solid #CCC;
margin-bottom:5px;
margin-left:0px;
}

.main_box{
position: relative;
overflow: hidden;
float: none !important;
border-bottom:1px solid #FFF !important;
margin-left:auto !important;
margin-right:auto !important;
}

Trong màn hình từ 240 -> 320 Bạn làm tương tự.

Kiểm tra mail để nhận lại source đã fixed

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

<?php
if($baoloi != "") {
 
?>
<section>
 
<p align="center">
<div class="notification error">
<?php echo $baoloi ;?>
</div>
</p>
 
</section>
 
<?php
}
?>
===============

Khi viết các script PHP thì tà phải bỏ vào bên trong cú pháp <?php và ?>

<?php => cho biết chỗ này là ta bắt đầu viết code PHP
còn ?> cho biết là tới đây là viết xong code PHP rồi

Giống như viết HTML thì Bạn phải bắt đầu bằng móc nhọn <
và kết thúc bằng mó nhọn >

Trong đoạn Code PHP này là ta dùng lệnh if để phát biểu điều kiện
if thì có bắt đầu {

và cũng phải có kết thúc }

mà các lệnh bắt đầu hay kết thúc là lệnh của PHP do đó phải cho nó vào <?php và ?>


<?php
if($baoloi != "") {
 
?>
Viết PHP tới đây rồi và chu6a3n bị viết thẻ HTML section bên dưới do đó chỗ này phải kết thúc PHP ?>
<section>
 
<p align="center">
<div class="notification error">
<?php echo $baoloi ;?>
</div>
</p>
 
</section>

Chỗ này đang viết HMTL và chuẩn bị viết qua PHP thì phải bắt đầu PHP lại <?php
 
<?php
}
?>

Và sau khi viết PHP xong thì phải kết thúc ?>

Phần phát biểu điều kiện if này ta sẽ kiểm tra biến baoloi , nếu biến baoloi khác rỗng có nghĩa là có lỗi xuất hiện thì lúc bấy giờ ta mới xuất ra đoạn thẻ section chứa báo lỗi

Giáo viên trả lời:
Đầu tiên Bạn phải chọn chức năng backup trong MySQL Guitool -> sau đó chọn database project để backup, trong lúc backup nhớ chỉ chọn 1 bảng lienhe thôi, khi backup xong ta sẽ có 1 tập tin có đuôi *.sql.

Bạn hãy mở tập tin này lên bỏ 2 dòng

CREATE DATABASE IF NOT EXISTS abc;
USE project;

Sau khi bỏ xong lưu file này lại.

Bước kế tiếp Bạn hãy dùng chức năng Restore, khi phục hồi. Khi phục hồi hãy chọn tập tin *.sql mà Bạn đã lưu hồi nảy lại và trong lúc phục hồi thì chọn phục hồi vào database banhang

Giáo viên trả lời:
Bạn đã chép thư mục chức hình ảnh daata1 và engine1 lúc xuất Banner Slideshow ra bỏ vào trong DW hay chưa?

Trong source Code kiểm tra lại đường dẫn tới các hình Slideshow là đã đúng chính xác hay chưa?

Ví dụ:

<li><img src="images/banner1.jpg" alt="" title="" id="wows1_0"/></li>
<li><img src="images/banner2.jpg" alt="" title="" id="wows1_1"/></li>
<li><img src="images/banner3.jpg" alt="" title="" id="wows1_2"/></li>
<li><img src="images/banner4.jpg" alt="" title="" id="wows1_3"/></li>
<li><img src="images/banner5.jpg" alt="" title="" id="wows1_4"/></li>
<li><img src="images/banner6.jpg" alt="" title="" id="wows1_5"/></li>

Đây là đường dẫn tới các hình cần tạo Slideshow, vậy kiểm tra xem thực tế là trong thư mục images bạn đã có các hình banner này hay chưa vậy?


Lỗi không hiện hình chỉ có 2 ngyên nhân
1 - Chưa chép thư mục chứa hình Slide bỏ vào webste
2 - Đường dẫn chỉ tới hình bị sai.

Bạn hãy gửi source Code website qua email để tôi kiểm tra cho Bạn.

Giáo viên trả lời:
Bây giờ đã cập nhật chuyển chuyển sang địa chỉ http://news.hocwebgiare.com 

Bạn vào đây tham khảo giao diện nhé.
Mỗi ngày học bao nhiêu bài thì tuỳ theo các Bạn rãnh thời gian và học tiếp thu Bao nhiêu.
Theo tôi thì mỗi môn học từ 1 -> 2 tuần là OK (1 tuần thường là khoảng 20 - 40 bài).
Kiểm tra mail để nhận giao diện gốc để tham khảo

Giáo viên trả lời:
Theo kinh nghiệm của tôi thì Bạn nên dùng DW CS4 trước để làm quen giao diện trước vì mình mới vào học căn bản, sau này quen với bản CS4 rồi qua bản CS6 hay CC sẽ dễ dàng hơn, mới vào dùng liền bản CS6 sẽ bị rối vì Bạn chưa học qua môn Responsive.


Nếu dùng bản CS6 thì bạn không cần phải cài HTML5 và CSS3 nữa vì mặc định bản này đã hỗ trợ, còn nếu dùng CS3 hay CS4 thì phải cài thêm một Plugin nhỏ vào để CS3 và CS4 có chức năng HTML5 và CSS3

Giáo viên trả lời:
cach upload file len hosting


loi upload file

====================

Theo như hình minh hoạ của Bạn thì lỗi này là do lỗi upload FTP lên hosting của Bạn, Bạn upload lên không được do đó thiếu hình nên không hiện được.

1 - Hãy vào Cpanel của hosting kiểm tra xem hosting còn đủ dung lượng trống để upload lên hay không?
2 - Kiểm tra đã cấp quyền 777 cho thư mục assets trên hosting hay chưa?
3 - Thử chuyển qua Upload bằng phần mềm Total Commander thử xem?

Giáo viên trả lời:
Do thư viện Animate.css này nó sử dụng tổng cộng 2 class.


+ Class thức nhất là animated  để chỉnh thời gian của hiệu ứng CSS3
+ Class thứ 2 là kiểu hiệu ứng ví dụ như xoay hay Zoom

Do đó ta phải gọi cả 2 class này thì mới được: hiệu ứng thì phải có thời gian và kiểu của hiệu ứng.

Bạn hãy vào thư mục css mở tập tin Animate.css ra để tham khảo các class này thì sẽ hiểu rõ hơn cách nó tạo hiệu ứng CSS3 như thế nào.

Giáo viên trả lời:
Bạn có thể tạo cấu trúc bảng chứa log của user có cấu trúc như sau:


tao log user

Trong đó
ID_nhatky: là khoá chính của bảng nhatky (bảng loguser)
ID_thanhvien: Khoá ngoại dùng để quan hệ với bảng thanhvien, để cho biết log này của ai
ipuser: ghi lại địa chỉ IP của user
ngaygiovao: lưu ngày giờ đăng nhập của user
ngaygiora: lưu ngày giờ đăng xuất của user
phienlamviec: Lưu phiên đăng nhập của user

Lưu ý: nếu có khai báo sử dụng log thì bảng này sẽ có rất nhiều mẫu tin lưu lại của user khi đăng nhập vào hệ thống do đó bạn phải thường xuyện đi xoá các log không cần quan tâm nữa (xoá bằng tay hay viết chương trình xoá tự động).


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

<style>
<div> {
width:100px;
height:100px;
background:#F00;
text-align:center;
line-height:100px;
animation:myfirst 5s;
-webkit-animation:myfirst 5s;
}
@keyframes myfirst{
form {background:#F00;}
to {background:#FF0;}
}
@-webkit-keyframes myfirst{
form {background:#F00;}
to {background:#FF0;}
}
</style>
==============================
Trong phần định nghĩa CSS Bạn viết sai chỗ div, chỗ này chỉ viết tên thẻ thôi chứ không để trong cặp móc nhọn

div {
width:100px;
height:100px;
background:#F00;
text-align:center;
line-height:100px;
animation:myfirst 5s;
-webkit-animation:myfirst 5s;
}


Giáo viên trả lời:
Lỗi này là do trong bảng thanhvien chưa có trường active => Bạn hãy bổ sung trường active vào bảng thanhvien


Hãy mở bảng thanhvien lên => tạo thêm trường active kiểu dữ liệu là tinyint gán giá trị mặc định default là 0

Kiểm tra luôn nếu trong bảng thanhvien chưa có trường randomkey thì bổ sung vào luôn.

Trường randomkey kiểu dữ liệu là varchar (255)

hoc php va mysql

Giáo viên trả lời:
Bạn chưa hiểu đúng ý nghĩa của 2 trường này.

+ Trường vitri dùng để cấu hình cho banner của ta hiện ở bên cột trái (left) hay bên cột phải (right) hay ở trên (top) hay ở phía dưới cùng của trang web (bottom)
+ Còn trường sapxep dùng để điều khiển banner nào nằm trên và banner nào nằm dưới. Ví dụ cùng cột bên phải nhưng ta có 3 banner thì lúc bấy giờ ta dùng trường sắp xếp để hiển thị cái banner nào lên trên cùng theo ý của ta.
+ Một banner đang nằm bên cột trái (left) ta có thể cấu hình để nó hiện qua cột phải (Right) nếu layout Bạn thiết kế ví dụ 3 cột hay một banner đang nằm trên phần top của trang web ta có thể đổi chỗ với banner đang nằm ở bottom hay ngược lại.

Giáo viên trả lời:
- localStoragesessionStorage là hình thức lưu trữ Web (Web Storage). 

  
Để lưu trữ thông tin của người dùng khi vào website thì lúc trước ta thường dùng cookies nhưng do giới hạn về kích thước cookies chỉ cho phép lưu khoảng 4KB thôi.
Khi chúng ta muốn cache lại nhiều dữ liệu xuống máy Client để việc truy xuất nhanh hơn chúng có thể sử dụng cơ chế Web Stoarge để làm.

Đối với dạng localStorage khi ta cache dữ liệu lại trong trình duyệt của Client, dữ liệu này có thể được truy xuất qua lại giữa các cửa sổ trình duyệt. Ta có thể mở nhiều cửa sổ trình duyệt cùng lúc và từ các cửa sở trình duyệt này ta có thể truy xuất dữ liệu mà chúng ta đã lưu trong localStorage, với lại dữ liệu lưu trong localStorage không bị giới hạn thời gian lưu trữ. 

Còn sessionStorage thì dữ liệu lưu trữ sẽ bị giới hạn thời gian, dữ liệu khi lưu trong sessionStoarge sẽ bị mất khi ta đóng trình duyệt. Với lại nếu một trang web được mở trong 2 tab của cùng một trình duyệt thì chúng ta không thể truy xuất để lấy dữ liệu qua lại với nhau trong khi localStorage thì lấy được thoải mái.

Bạn xem các bài học trong phần HTML5 của tuần 7 và làm bài tập để hiểu kỹ thêm về nó

hoc lap trinh html5


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

Atttribute Selecttor dùng để chọn đối tượng và chúng ta gán thuộc tính cho nó thôi.

Cách này ít dùng hơn khi ta dùng bằng class.

Ví dụ:

Trong một trang web ta có định nghĩa CSS như sau:

a[target]{
background-color:yellow;
}
 

Đoạn này ta định nghĩa các Hyperlink trong trang HTML có nền vàng, còn target chính là attribute

Ví dụ ta áp dụng CSS này vào trong các Hyperlink như sau:

<a href="http://www.zing.vn">zing.vn</a>
<a href="http://www.disico.edu.vn" target="_blank">disico.edu.vn</a>
<a href="http://www.hocwebgiare.com" target="_top">hocwebgiare.com</a>

Do trong hai thẻ a cuối có dùng thuộc tính target và target chúng ta có định nghĩa trong phần CSS style do đó nó sẽ áp màu nền vào cho các thẻ A có thuộc tính target vậy 2 link cuối sẽ có nền vàng.

Vậy sau này cứ thẻ A nào trong trang web ta viết ra có tartget vào thì nó sẽ áp nền vàng vào hết (nếu như phần định nghĩa CSS của ta để trong tập tin *.CSS).

Ví dụ ta có đoạn định nghĩa CSS như sau:

<style>
img[src$=".png"]{
   border: 5px solid #F00;
}
</style>

Trong phần HTML ta chèn một số hình vào

<img src="images/php.jpg" width="500" height="407" />
<img src="images/html5.png" width="500" height="407" />

=> Vậy hình nào có đuôi là png sẽ bị ảnh hưởng đóng khung 5px còn hình JPG thì không bị (trong phần định nghĩa CSS ta sử dụng toán tử $= để chỉ định các ảnh nào sẽ bị ảnh hưởng đóng khung.

Để tôi sẽ làm thêm một số Video nói về cách dùng cái này cho các Bạn.

Giáo viên trả lời:
cach tao menu chuan rwd


===============
Hở mép ngoài thì Bạn dùng thuộc tính margin-right. ví dụ cho 10px là OK

Hãy vào thư mục menu mở flatmenu.css lên chỉnh lại một số thuộc tính sau:

.emerald-black,
.emerald-black ul.dropdown { background:#fff; } /*Chỉnh lại màu chỗ này màu trắng cho trùng nền của trang web*/
.emerald-black ul.dropdown ul { background:#2C3E50; }

ul.dropdown li {
font-size:15px;
text-transform:uppercase;
background-color: #F00; /*Chỉnh lại màu đỏ cho dễ nhìn không trùng nền xanh*/
margin-right: 20px; /*Chỉnh lại thêm thuộc tính margin-right:20 sẽ thấy hở ra giữa các mục*/
}

Check mail nhận lại lại source đã làm theo yêu cầu của Bạn

Giáo viên trả lời:
thiet ke web ban hang online


===========
Phần header của Bạn phải tách làm 2 section, một float qua trái , 1 float qua phải. Bạn để phần chọn ngôn ngữa trong thẻ p kể như no chiếm 1 dòng rồi thì phần tiên tệ bị rớt xuống dưới.

Làm lại phần header như sau:

   
<header class="header">
<section class="language">
    EN|FR|GR
</section>
<section class="tiente">
    <img src="images/images/01_home_03.jpg">
    <img src="images/images/01_home_05.jpg">
</section>
</header>

+ Định lại CSS cho 2 phần này như sau:

.language
{
float:left;
width:50%;
text-align:left;
}
.tiente
{
float:right;
width:50%;
margin:0px;
text-align:right
}

Kiểm tra mail để nhận lại source đã sửa.


Giáo viên trả lời:
Bạn chỉnh lại thuộc tính một số class để nó chạy theo ý của mình (để ý chỗ thuộc tính màu đỏ chỉnh cho hợp lý)


hoc thiet ke web ban hang

.main_box{
/*background: red;*/
/* Important parameters of style start */
position: relative;
overflow: hidden;
float: left;
/* Important parameters of style end */
margin-right: 10px;
margin-bottom: 10px;
width:190px !important; /*Chỉnh thêm*/
}

.popup{

/* Important parameters of style start */
left:80px !important; /*Chỉnh thêm*/
display: none;
text-align: center;
position: absolute;
z-index: 40;
/* Important parameters of style end */
height: 50px;
width: 50px;
background: #753ffe url(img/up.png) no-repeat center center;
-moz-box-shadow: 0 0 5px rgba(0,0,0,0.5); /* Firefox */
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5); /* Safari and Chrome */
box-shadow: 0 0 5px rgba(0,0,0,0.5);
filter: progid:DXImageTransform.Microsoft.shadow(direction=120, color=#000000, strength=2);
}

.overlayPop{
/* Important parameters of style start */
position: absolute;
top: 0;
left: 0;
display: none;
margin: 0;
/* Important parameters of style end */

background: rgb(228, 17, 17);
width:210px !important; /*Chỉnh thêm*/
height:210px !important; /*Chỉnh thêm*/
}



Giáo viên trả lời:
Bạn đảo ngược 2 dòng này lại dạng như sau:


hoc lap trinh css3

Giáo viên trả lời:
Vào đường dẫn này nhé http://hocwebgiare.com/css3/border-image/index.html


Sau này domain gặp nào là hoconline.vietchuyen.edu.vn Bạn đổi thành hocwebgiare.com