你刷新了,能不向数据库内再insert一条记录吗?
你insert成功后,你跳转到其他页面就行了。
你insert成功后,你跳转到其他页面就行了。
解决方案 »
- xdebug 断点不起作用
- php-java-bridge配置问题
- 十分简单,关于连接mysql的,要交作业啊,新手求救。。。。。。
- php如何将远程的图片映射本地化
- 求高手写个php语句
- php中取子串函数,求位置函数
- preg_replace加了e修正符,为什么得到的结果中"(双引号)都会加上\?
- 在xp下启动Apache2.0.40会报出错误:the requested operation has failed.这是什么问题阿。谢谢高手指点
- 如何通过Windows客户机去执行Linux/unix 程序或命令?(不用Telnet)
- mysql 类型 MyISAM 是什么意思啊呀
- 两个$-----$$file的解释是什么??(高手指点)
- 求救!急急急急急急急急急急急急急急急急急急急急!
结果出现错误!
用这个变量来判断怎么样?if (isset($_ENV["HTTP_REFERER"])&&($_ENV["HTTP_REFERER"]=="page1.php")){
echo "<p>数据来自<a href=".$_ENV["HTTP_REFERER"].">";
echo $_ENV["HTTP_REFERER"];
echo "</a>";
...加入数据库的操作代码...
}else{
echo "<script language=javascript>\n";
echo "alert(\"请到这个页面提交数据\");\n";
echo "location=\"page1.php\";\n";
echo "</script>";
};
是不是你前面有輸出呀,比如echo,printf等或者空行等
提交的时候,把这个变量$check也一起提交执行插入的页面,先检验输入的$check和session中的那个变量是否匹配,
如匹配,先把session值变掉,再向数据库里添加。
如不匹配,就不管了。
没必要搞得这么复杂的。重定向失败,说明你的header语句之前有输出
我们来看 addcust.php:<?php
$query = "INSERT INTO customer
SET surname = $surname,
firstname = $firstname";
$connection = mysql_connect("localhost", "fred", "shhh");
mysql_select_db("winestore", $connection);
$result = mysql_query($query, $connection);
?>
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
<html>
<head>
<title>Customer insert</title>
</head>
<body>
I've inserted the customer for you.
</body>
</html>
?>
假设我们用下面的连接使用这个程序:http://www.freelamp.com/addcust.php?surname=Smith&firstname=Fred如果这个请求只提交一次,OK ,不会有问题,但是如果多次刷新,你就会有多条记录插入。
这个问题可以通过 header() 函数解决:下面是新版本的 addcust.php:<?php
$query = "INSERT INTO customer
SET surname = $surname,
firstname = $firstname";
$connection = mysql_connect("localhost", "fred", "shhh");
mysql_select_db("winestore", $connection);
$result = mysql_query($query, $connection);
header("Location: cust_receipt.php");
?>
这个脚本把浏览器重定向到一个新的页面:cust_receipt.php:<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
<html>
<head>
<title>Customer insert</title>
</head>
<body>
I've inserted the customer for you.
</body>
</html>
这样,原来的页面继续刷新也没有副作用了。
结果出现错误!
~~~~~~是什么错误?不能说一下吗?
是怎么做的?
一个PAGE1的页面包含一个FORM
提交到PAGE2的页面,上面的代码是PAGE2的内容
哦,对了,在开始那个判断的句子里面应该是包含HTTP://
的全路径啊!,你先用正确的看看对比下了!
有一个系统所自动提取的变量啊,
我测试除INDEX.PHP这样的可能会没有取出文件名外其他都是正常的
结果我用header("location:***.php");
提示好象是什么have send by....
1:在插入表单中增加:
<?
$myurl=getenv("HTTP_REFERER");//插入与显示不同页
//$myurl=$REDIRECT_URL; //插入与显示同页
?>
<input type=hidden name=myurl value=<?echo $myurl?>>
2:处理页面
echo "<br><center><a href=$myurl>插入成功</a></center><br>";
echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=$myurl'>";
echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=javascript:location.reload()'>";
exit;
呵呵试试效果,
//重定向到原来的显示页面
echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=$myurl'>";
//刷新显示页面
echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=javascript:location.reload()'>";
//这里才结束处理页面的运行
exit;
我的send.php中是:
左边是新闻标题,右边是delete.如果点击新闻标题则表示修改,点击delete 删除。
delete.php
中是处理delete的,我想delete处理完后,我用了个
echo "location=\"send.php\";\n";定位到send.php;结果我已经删除的那条记录还在,需要手动刷新才能去掉,请问我应该怎么做?
在header之前不能有任何信息输出,哪怕是一个空格!!!
左边是新闻标题,右边是delete.如果点击新闻标题则表示修改,点击delete 删除。
delete.php
中是处理delete的,我想delete处理完后,我用了个
echo "location=\"send.php\";\n";定位到send.php;结果我已经删除的那条记录还在,需要手动刷新才能去掉,请问我应该怎么做?
你让它自动刷新一次不就OK了吗
echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=javascript:location.reload()'>";