免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2599 | 回复: 3
打印 上一主题 下一主题

如何令傳回來的variable 值變empty? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-01-26 07:28 |只看该作者 |倒序浏览
謝謝一顆小白菜在web版答我php的問題
以下是我的 phonebook.php:--------------------
<?php
if ($_POST['new_name'] and $_POST['new_phone'] ){
   $link_ID = mysql_connect("localhost","root";
   mysql_select_db("heartpower";

   $new_name=$_POST['new_name'];
   $new_phone=$_POST['new_phone'];
   $new_email=$_POST['new_email'];
   $new_icq=$_POST['new_icq'];

   $ins="insert into hplist
         (name, phone, email, icq)
         values
         ('$new_name','$new_phone','$new_email','$new_icq')";
   mysql_query($ins,$link_ID);
   mysql_close($link_ID);
};
?>;

<html>;
<head>;
</head>;
<body>;   
<form action="phonebook.php" method="post">;
   name:<input type="text" name="new_name">;
   phone no:<input type="text" name="new_phone">;
         email:<input type="text" name="new_email">;
         icq:<input type="text" name="new_icq">;
   <input type="submit" value="新增">;
</form>;
</body>;
</html>;   
----------------------------------
當我第一填入資料后, $_POST['new_name']  不再empty. 之后每次我對ie browser 一按 "refresh" 或 "F5" , 之前我input 的data 會再次重 insert 入 mysql database. 十分令人煩擾.
想求救各位高手, 如何可以令傳回來的variable 值, 在run 完if 句子后變empty?

论坛徽章:
0
2 [报告]
发表于 2003-01-26 10:12 |只看该作者

如何令傳回來的variable 值變empty?

使用cookie或者session标记

比如使用cookie:

在第一次插入数据以后再加上
setcookie("had_post", 1);

然后在
if ($_POST['new_name'] and $_POST['new_phone'] ){
后面加上
if (!empty($_COOKIE["had_post"])) die("请勿重复发送数据";

论坛徽章:
0
3 [报告]
发表于 2003-02-02 16:27 |只看该作者

如何令傳回來的variable 值變empty?

不成功啊!

论坛徽章:
0
4 [报告]
发表于 2003-02-05 15:28 |只看该作者

如何令傳回來的variable 值變empty?

其实,使用javascript就可以实现:
<script language="JavaScript">;
<!--

havesubmited=0;

function CheckForm(theForm)
{if (theForm.Subject.value.length + theForm.Info.value.length< 4)
        {alert("对不起,留言不能为空!";
         theForm.Subject.focus();
         return false;
        }
if (havesubmited>;0)
        {alert("对不起,请不要重复发布同一留言,要再发此留言请对留言做些修改!";
        return false;}
havesubmited=1;
return true;
}

function onchanged()
{havesubmited=0;
}
// -->;
调用时候运行:
<form action="/txl/liuyan/input.pl" method="OST" onsubmit="return CheckForm(this)">;
【具体情况可以参考5460的留言板源代码】
其实,也可以先判断是否关键字与数据库中已有记录重复,这样比较好一些
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP