PHP+MYSQL如何实现多步骤填写数据

我有一张表分3类信息:
1.基本信息
2.产品信息
3.其他信息
我想在网站里做成这样:
当用户填写完 基本信息 后按下一步 页面跳转到产品信息 填写完产品信息后在按下一步 页面跳转到其他信息 填写玩其他信息后 点击确认 然后将这些数据一起写道数据库请问应该怎样实现。

这样写很麻烦的,客户体验也不好,不过既然楼主想做了,我就帮你写一下吧,
1.php
<form name=form1 id=form1 method=post action=2.php>
基本信息1:<input type=text name=base1 />
基本信息2:<input type=text name=base2 />
<input type=submit value="下一步">
</form>

2.php
<form name=form2 id=form2 method=post action=3.php>
产品名称:<input type=text name=prcname />
产品价格:<input type=text name=price />
产品型号:<input type=text name=prcXH />
<input type=hidden name=base1 value="<?php echo $_REQUEST['base1'] ?>" />
<input type=hidden name=base2 value="<?php echo $_REQUEST['base2'] ?>" />
<input type=submit value=下一步 />
</form>

3.php

<form name=form3 id=form3 method=post action=4.php>
其他信息1:<input type=text name=other1 />
其他信息2:<input type=text name=other2 />
<input type=hidden name=base1 value=<?php echo $_REQUEST['base1'] ?> />
<input type=hidden name=base2 value=<?php echo $_REQUEST['base2'] ?> />
<input type=hidden name=prcname value=<?php echo $_REQUEST['prcname'] ?> />
<input type=hidden name=price value=<?php echo $_REQUEST['price'] ?> />
<input type=hidden name=prcXH value=<?php echo $_REQUEST['prcXH'] ?> />
<input type=submit value=确定 />
</form>

4.php

<?php
/*
此处链接数据库代码省略,如果需要,自己查阅文档http://www.w3school.com.cn/php/php_mysql_connect.asp
*/

$base1=$_REQUEST['base1'];
$base2=$_REQUEST['base2'];
$prcname=$_REQUEST['prcname'];
$price=$_REQUEST['price'];
$prcXH=$_REQUEST['prcXH'];
$other1=$_REQUEST['other1'];
$other2=$_REQUEST['other2'];

$sql1="insert into [base_table](base1,base2) values('{$base1}','{$base2}')";
$sql2="insert into [prc_table](prcname,price,prcXH) values('{$prcname}','{$price}','{$prcXH}')";
$sql3="insert into [other_table](other1,other2) values('{$other1}','{$other2}')";
query($sql1);
query($sql2);
query($sql3);

echo "写入完成";
?>

+++++++++++++++++++++++++++++++++++++

至于中间一些信息审核的,你可以自己完整一下。。。

有其他需要帮助的,直接联系我。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-20
第一步、第二步提交的时候可以将数据保存在 hidden 表单中,即输出到页面:
<input type="hidden" name="username" value="第一步填写的数据" />
<input type="hidden" name="pwd" value="第一步填写的数据" />
<input type="hidden" name="productname" value="第二步填写的数据" />
<input type="text" name="others" value="第三步填写的数据" />
最后提交的时候就会一起提交了。目前主流的程序基本都是采用这种方式。本回答被网友采纳
第2个回答  2010-07-21
flyskyxx 提的session方法不错,不过这只适合用户少的情况下,如果用户多的话,会给服务器带来很大负担;

如果用户多的话,建议每一步都执行数据库操作(只用一张表)。
第一步填写基本信息,提交时将基本信息马上出入到数据库;
第二步填写产品信息,提交时将产品信息更新到第一步的记录里面;
第三步填写其他信息,提交时将其他信息也是更新到第一步的记录里面;
第3个回答  2010-07-20
为何不用 $_SESSION[] 来保存中间数据呢? 用 hidden 到后来越来越多,麻烦啊,而且这种紧耦合也不利于将来对软件的维护,不管你分多少步,每一步产生的结果先放到 SESSION 中多好啊,SESSION 本来就是用来传递全局数据的啊
相似回答