想屏蔽恶意刷新?使用SESSION来做可以
<?php
session_start();
if(!isset($_SESSION['postFlag'])) 
$_SESSION['postFlag'] = 0;
if (isset($_POST['submit'])) // 处理数据
{
   if (empty($_SESSION['postFlag']))
   {
          //处理数据
         $_SESSION['postFlag'] += 1 ;  //将提交标识制为1
 echo "数据导入成功!";
    }
   else 
         echo "表单不能重复提交";
}
else  //显示表单

  echo "<form method=post action=''>";
  echo "<input type=text name=ice>";
  echo "<input type=submit name='submit' value='提交'>";
  echo "</form>";

?>

解决方案 »

  1.   

    那样的话执行插入操作的时候岂不是要先做一个post submit参数的动作?
      

  2.   

    什么意思?
    你可以用任何$_POST变量来判断是否已经提交表单
    我这里是用了表单的提交按钮元素
      

  3.   

    我所有的操作都是在页面上执行,并没有表单的提交动作……
    因为读取文本数据>拆分字符串>写入数据库>这样的步骤似乎没有必要使用到表单啊
      

  4.   

    先将整个文本读取(file(文本文件)),然后根据分隔符分割字串(explode)
    最后将分割的字符串循环插入数据库(insert into table (列1,列2,列3……) values(切分字串1,切分字串2,切分字串3……))
    以上所有操作均在页面上直接执行,所以就面临无法限制插入次数……
    这就是问题所在了,无法将数据表里边的东西跟文本里边的数据做直接的比较
      

  5.   

    如果按照你说的load data的办法的话,依然是存在重复数据无法插入的问题,比如:
    表结构:id column2 column3 column4   (其中id是主键且自动增加的)
    文本数据:1   column1_data   column2_data   column3_data   column4_data
              2   column1_data   column2_data   column3_data   column4_data
    以上两行记录尽管有id主键的不同,但是用load data infile的方法是无法插入的
    因为会被认为两条记录相同!!如果文本里边没有id列,也就是id列插入空值(依靠自动增加),但是这两条记录同样会被认为相同而让导入终止
      

  6.   

    肯定不会啦,因为我以前建立的表是没有id列的
    按照你的解决办法才重新设计过的表了(以前的表早drop了),id就是主键,况且一个表也只能一个主键了