你大概要先搞清楚 页面(前端) 和 PHP(后端) 的关系;
创新互联公司网站建设服务商,为中小企业提供成都网站设计、网站制作服务,网站设计,网站托管维护等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出创新互联公司。
第一个页面 由 A.php完成, 提交后 输入的内容 交给B.php 由B.php 生成第二个页面。
这个时候 A.php已经不起作用了。 A.PHP 提交的内容在服务器端的 全局变量$_POST['name']里面(name 就是A.PHP中TEXTAREA 标签的name 属性值)。
注意 : 第一个页面不存在了,要想显示第一个页面的内容,就在B.php.中把第一个页面复制一遍。把重新建立一个textarea 标签 默认值是你要显示的值,
用PHP输出静态页面有2种方法
一种是利用模板技术,另一种是用ob系列函数。两种方法,看起来都差不多,但是实际上,却是不同的。
第一种:利用模板
目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smart template等。
它们每一种模板,都有一个获取输出内容的函数。
我们生成静态页面的方法,就是利用了这个函数。
用这个方法的优点是,代码比较清晰,可读性好。
这里我用smarty做例子,说明如何生成静态页
?php
require('smarty/Smarty.class.php');
$t = new Smarty;
$t-assign("title","Hello World!");
$content = $t-fetch("templates/index.htm");
//这里的 fetch() 就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了
$fp = fopen("archives/2005/05/19/0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?
第二种方法:利用ob系列的函数
这里用到的函数主要是 ob_start(), ob_end_flush(), ob_get_content(),
其中ob_start()是打开浏览器缓冲区的意思,
打开缓冲后,所有来自PHP程序的非文件头信息均不会发送,
而是保存在内部缓冲区,直到你使用了ob_end_flush().
而这里最重要的一个函数,就是ob_get_contents(),
这个函数的作用是获取缓冲区的内容,相当于上面的那个fetch(),
道理一样的。代码:
?php
ob_start();
echo "Hello World!";
$content = ob_get_contents();//取得php页面输出的全部内容
$fp = fopen("0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?
你要输出什么?我就假设两个条件是数字,选好条件提交后,显示条件1还是条件2吧。
form action="" method="post"
label条件1:
select name="select1"
option value="0" selected="selected"选项1/option
option value="1"选项2/option
/select
/label
label 条件2:
select name="select2"
option value="0" selected="selected"选项1/option
option value="1"选项2option
option value="2"选项3/option
/select
/label
input name="b1" type="submit" value="查询" /
?php
if($_POST['select1']$_POST['select2']){
echo $_POST['select1']."".$_POST['select2'];
}else if($_POST['select1']$_POST['select2']){
echo $_POST['select1']."".$_POST['select2'];
}
else if($_POST['select1']=$_POST['select2']){
echo $_POST['select1']."=".$_POST['select2'];
}
?
输出的时候输出一个比如馀经营客户后,再输出echo "br",然后再接着echo 下一个为客户服务项目不就完了
HTML是页面一般是服务器处理后直接交由浏览器展示的.要想在原A.html中显示提交后的信息,可以有这些思路:
(1)在b.php中处理完成后,将要输入的信息保存数据库或session等中,然后使用header跳转到a.html,但是在服务器端要将html文件当成php页面处理,在此html中(相当于php页面),使用php语句获取要输入的信息并生成在html传输到浏览器.(不推荐)
(2)同上,但是服务器端不将html当成php来解析处理,而是在此html页中使用javascript标签,链接指向某一个php,由它取出之前数据并以js语句输出,如:
a.html中:
script src="j.php"/script
j.php中:(略过取之前数据的过程)
echo "document.write('$message');";
(3)在a.html中使用ajax通过XMLHttpRequest对象提交数据到b.php,处理完成后输出数据.a.html中可以在不刷新页面的情况下取得返回的信息并按你的想法显示在页面的任何地方.(推荐)