程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中如何不刷新頁面實現和後台CGI頁面交互

PHP中如何不刷新頁面實現和後台CGI頁面交互

編輯:PHP綜合

我們在網站制作中如何讓前台頁面不刷新的情況下與後台CGI頁面進行交互是個問題,我們這裡將介紹兩種方法實現這一交互。

    方法一:通過CookIE交互。一共是三個文件,分別為:
index.htm,action.php,main.htm
      原理為前台頁面main.htm和後台action.php通過頁面框架
index.htm組織起來,將action.PHP的頁面寬度設為0,這樣並不
影響顯示。action.PHP將信息放入cookIE中,main.htm通過讀取
cookIE來實現交互。在main.htm中也可以通過重新讀取action.PHP
來實現控制後台CGI程序。

index.htm
---------------------------------------------------------------
<Html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/Html; charset=gb2312">
</head>

<frameset framespacing="0" border="false" frameborder="0" cols="0,*">
  <frame name="leftFrame" scrolling="no" noresize src="action.PHP">
  <frame name="rightFrame" scrolling="auto" src="main.htm">
</frameset><noframes>
  <body bgcolor="#FFFFFF">
  <p>本頁使用頁面框架,但是您的浏覽器不支持。</p>
  </body>
</noframes>
</Html>
---------------------------------------------------------------

action.PHP
---------------------------------------------------------------
<?
srand((double)microtime()*1000000);
$result=rand(0,100);
setcookIE("action",$result,time()+900,"/");
?>
---------------------------------------------------------------

main.htm
---------------------------------------------------------------
<Html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/Html; charset=gb2312">
<script language="javascript">
function get_cookIE()
{
  document.test.current_cookie.value=document.cookIE;
}
</script>
</head>
<body bgcolor="#FFFFFF">
<form name="test" >
當前參數為<input type="text" name="current_cookIE" size="80" maxlength="1000">
</form>
<script language="Javascript">
  setInterval("get_cookIE()",200);
</script>
<br>
<a href="action.PHP" target="leftFrame">重新讀取CookIE</a>
</body>
</Html>
---------------------------------------------------------------

    方法二:直接通過parent.*.*來實現交互。一共是三個文件,分別為:
index.htm,action.PHP,main.htm,其中index.htm和前面的一樣。
    原理為通過parent.rightFrame.test.current_cookIE.value直接傳遞
信息。

action.PHP
---------------------------------------------------------------
<?
srand((double)microtime()*1000000);
$result=rand(0,100);
?>
<script language="javascript">
  parent.rightFrame.test.current_cookIE.value="<? echo $result?>";
</script>
---------------------------------------------------------------

main.htm
---------------------------------------------------------------
<Html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/Html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<form name="test" >
當前參數為<input type="text" name="current_cookIE" size="80" maxlength="1000">
</form>
<br>
<a href="action.PHP" target="leftFrame">重新讀取CookIE</a>
</body>
</Html>
--------------------------------------------------------------- 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved