10/10/2018, 09:30

thay thế thẻ frame trong lập trình php?

Các bạn cho mình hỏi một chút, khi mình lập trình bằng html thì có dùng thẻ frame một bên là menu còn một bên là content thể hiện nội dung. Nhưng khi là với php thì không biết làm thế nào để làm được điều tuơng tự. mình thiết kế khung trang web bằng thẻ div tạo ra các layout chứ không dùng thẻ frame?
toannet viết 11:42 ngày 10/10/2018
Nếu tạo layout = div và khi click menu hiện ra content giống như frame thì bạn nên dùng ajax.

=> Good luck
thuanbk viết 11:45 ngày 10/10/2018
Được gửi bởi toannet
Nếu tạo layout = div và khi click menu hiện ra content giống như frame thì bạn nên dùng ajax.

=> Good luck
Bạn có thể nói chi tiêt hơn không mính không biết gì về ajax. gat go đây???
toannet viết 11:41 ngày 10/10/2018
==>> Ajax.php :


<script type="text/javascript">
var xmlHttp;
function GetXmlHttpObject(){
var xmlHttp=null;
try { xmlHttp=new XMLHttpRequest(); }
catch (e) {
try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
}
return xmlHttp;
}

function getContent(objId,objTitle,strUrl){
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null) {
alert ("Browser does not support HTTP Request");
return;
}
xmlHttp.onreadystatechange=function() {
if (xmlHttp.readyState==4 && xmlHttp.status == 200) {
if(objId!="") { document.getElementById(objId).innerHTML = xmlHttp.responseText; }
if(objTitle != "") { alert(objTitle); }
}
}
xmlHttp.open("GET",strUrl,true);
xmlHttp.send(null);
}
</script>

<div style="width:100px; height:100px; background-color:#CCCCCC; float:left; ">
<a href="#" onClick="getContent('Test','=> Bo trong cung duoc <=','Content.php')">Demo 1</a>
</div>

<div id="Test" style="width:250px; height:100px; background-color:#99CC99; "></div>



==>> Content.php :

Demo thui nha
thuanbk viết 11:38 ngày 10/10/2018
Được gửi bởi toannet
==>> Ajax.php :


<script type="text/javascript">
var xmlHttp;
function GetXmlHttpObject(){
var xmlHttp=null;
try { xmlHttp=new XMLHttpRequest(); }
catch (e) {
try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
}
return xmlHttp;
}

function getContent(objId,objTitle,strUrl){
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null) {
alert ("Browser does not support HTTP Request");
return;
}
xmlHttp.onreadystatechange=function() {
if (xmlHttp.readyState==4 && xmlHttp.status == 200) {
if(objId!="") { document.getElementById(objId).innerHTML = xmlHttp.responseText; }
if(objTitle != "") { alert(objTitle); }
}
}
xmlHttp.open("GET",strUrl,true);
xmlHttp.send(null);
}
</script>

<div style="width:100px; height:100px; background-color:#CCCCCC; float:left; ">
<a href="#" onClick="getContent('Test','=> Bo trong cung duoc <=','Content.php')">Demo 1</a>
</div>

<div id="Test" style="width:250px; height:100px; background-color:#99CC99; "></div>



==>> Content.php :

Demo thui nha
Cảm ơn bạn rất nhiều!!!

[=========> Bổ sung bài viết <=========]

Nhưng làm bằng ajax có nhược điểm là khi muốn back trở lại là bó tay. Có cách nào khắc phục điều này không nhỉ? hay có cách nào khác không vậy? Mong các bạn chỉ giúp vói?
toannet viết 11:38 ngày 10/10/2018
Nếu muốn giữ lại được URL thì bạn phải viêt thêm nữa .

VD :
1 => http://domain.com/#Contact
2 => http://domain.com/#About

Cái ở trên nó sẽ căn cứ vào "#" để xác định là cái gì , sau đó sẽ gọi cái đó ra .

=> <a href="#Contact" onClick="getContent('Test','','Content.php?p=conta ct')">Demo 1</a>

==>> Trang content.php sẽ xử lý $_GET['p'] = contact ==>> Show contact content

==>> Khi Refesh trên URL có biến "#Contact" khi đó dùng javascript để cắt và gọi cái giá trị đó ra

========== GOOD LUCK ==========
thuanbk viết 11:45 ngày 10/10/2018
Được gửi bởi toannet
Nếu muốn giữ lại được URL thì bạn phải viêt thêm nữa .

VD :
1 => http://domain.com/#Contact
2 => http://domain.com/#About

Cái ở trên nó sẽ căn cứ vào "#" để xác định là cái gì , sau đó sẽ gọi cái đó ra .

=> <a href="#Contact" onClick="getContent('Test','','Content.php?p=conta ct')">Demo 1</a>

==>> Trang content.php sẽ xử lý $_GET['p'] = contact ==>> Show contact content

==>> Khi Refesh trên URL có biến "#Contact" khi đó dùng javascript để cắt và gọi cái giá trị đó ra

========== GOOD LUCK ==========
bạn có thể nói chi tiết hơn được không mình thử làm rồi nhưng không được. mong bạn chỉ jum` mình đang rất cần.
thuanbk viết 11:41 ngày 10/10/2018
Bạn toannet không thấy online á? giúp mình với! Có bạn náo sủa được lỗi đó rồi giúp mình với, sắp tới phải nộp bái tập lớn rồi mà chưa đâu vào đâu cả
nguoimoiden1 viết 11:42 ngày 10/10/2018
không dùng ajax được nũa thì:
link menu là:
<a href="index.php?body=contact">

trang index thì <td> chứa content thì viết:

switch($body)
{
case "contact";
include"content.php";
break;
default :
include"hienthimacdinh.php";
}


rồi viết content của contentcua.php với chiều rộng bằng chiều rộng của <td> content thôi.
namduong8889 viết 11:37 ngày 10/10/2018
Bạn nên thiết kế web theo phong cách template (tách riêng layout và php ra) - menu là phần layout
Bài liên quan
0