回 帖 发 新 帖 刷新版面

主题:请教刷新问题 谢谢!

通过文本框写信息,插入数据库后,按工具栏中的“刷新”,就会把这条信息又一次
插入数据库,请问:这是怎么回事?怎样才能不发生这种情况?谢谢!

回复列表 (共8个回复)

沙发

你把文本框跟插入数据库的语句,分开写在两个文件里!在提交信息的时候,就把参数(信息内容)传递到那个执行的文件,这样执行后就能插入数据库去了!
而你刷新也不会再次提交!

<form name="bbsaction" action="XXXX.PHP" method="post">

XXXX.PHP就是你要执行的文件名!

板凳

一个人住你好,确实如你所说,我把所有的事情都写到一个文件里了,回头我把它们分开写。
这里有个问题我不明白,第一次提交后,text就空了,程序中写了:
if($text!="" and $submit)
{
插入数据
}
请问:是否刷新并不改变变量的值?
谢谢!

3 楼

这应该是浏览器的记忆功能问题吧, 这跟 vc vb java 这类的程序是不同的,
刷新的时候浏览器会认为你要重做刚才的事,变量值也由其控制

4 楼

下雨了你好,你说得很对,每次按“刷新”时,Microsoft Internet Explorer都会给
出一个提示框:“不重新发送信息,则无法刷新网页。清单击“重试”再次发送信息,
或单击“取消”返回正察看的页。”我不明白的是,为什么那时我不看提示内容,就
按下了“重试”,而且是一而再再而三,浪费了许多时间,希望以后我能少犯这样的
错误,谢谢你,非常感谢!

5 楼

要使用户不跟你犯同样的错误,最好做个转向
这就是为什么很多论坛发完贴都有一个页面告诉你页面正在跳转,这可不是多此一举

6 楼

qining-china你好,你的建议非常及时,我正打算问这个问题,谢谢你!
综合上面三位朋友的意见,我把这个留言本分成两页,
1.php:上面有文本框和查询显示部分,
2.php:提示“正在跳转,请稍候”,插入数据部分,然后跳转到1.php.
现在跳转部分还没弄好,书上例题的语句是:
echo "<script language=javascript>";
echo "location=1.php;";
echo "</script>";
可运行后没有跳转,请问错在哪里了?
另外我的想法是,最好不要让2.php现身,或顶多是一闪而过,这样就没有机会去按“刷新”了,
请问这是否能办到?谢谢!
一般来说,比较合理的设计是怎样的?谢谢!

7 楼

在2.php里面用php的跳转就行了
header("location: 1.php");

8 楼

qining-china你好,这个header("location: 1.php");非常棒,2.php根本看不着,
谢谢你,非常感谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册