你的提交留言的页面是不是和处理留言的页面在同一页吧?按F5弹出警告说再次提交的吧?在处理完后用header转向一下

解决方案 »

  1.   

    插入数据时做个判断标题相同 AND 内容相同
      

  2.   

    处理完后用header重新定向到浏览页面
      

  3.   

    建议使用不同页,插入后header会原来的页
      

  4.   

    可以放在同一页处理,判断接收到的表单变量$_POST["FormData"]的值,如果是空则不进行新增记录的操作。
      

  5.   

    我是存在mySQL做的数据库的,格式如下:
    table guestbook(
    id int(11) NOT NULL auto_increment,
    name varchar(30),
    fromcity varchar(30),
    email varchar(100),
    time int(100),
    content varchar(255),
    KEY (id));判断并存入数据库的代码如下:
    $conn=mysql_connect("localhost","root","6078726");
    mysql_select_db('test');
    if($submit&&$name&&$content)
    {
      if(!$fromcity)$fromcity="";
      if(!$email)$email="";
      $time=time();
      $sql="insert into guestbook(name,fromcity,email,content,time) values
      ('$name','$fromcity','$email','$content','$time')";
      mysql_query($sql);
    }
    显示留言的代码如下:
     $sql="select * from guestbook order by id desc";
     $result=mysql_query($sql);
     while($arr=mysql_fetch_array($result))
     { 
      <?echo $arr["id"] ?> <font color="#3333ff"><?echo $arr["name"] ?></font>
      来自:<font color="#333ff"><?echo $arr["fromcity"] ?></font>
            email:<font color="#3333ff"><?echo $arr["email"] ?></font> 时间:<font
            color="#3333ff"><?echo date("Y-m-j H:i:s",$arr["time"]);?></font><br>
            <blockquote><font color="#666666">
      <?echo$arr["content"]?></font></blockquote> 
      }      
    这是表单:
      <form method="post" action="guestbook.php">
      <p>你的大名:
      <input type="text" name="name" size="40">
      </p>
      <p>从哪来啊:
      <input type="text" name="fromcity" size="40">
      </p>
      <p>你的mail:
      <input type="text" name="email" size="40">
      </p>
      <p>留言内容:<br>
      <textarea name="content" cols="60" rows="6"></textarea>
      </p>
      <p>
      <input type="submit" name="submit" value="确定">
      <input type="reset" name="cancel" value="取消">
      </p>
     </form>
    文件存为guestbook.php,而且当初次用IE打开该文件时,第一行会出现submit变量没定义的错误警告,请问是怎么回事?小弟我是刚开始学php,所以代码可能会有些乱,不要见怪。谢谢了!
      

  6.   

    $conn=mysql_connect("localhost","root","6078726");
    mysql_select_db('test');
    if(empty($havesubmit) && $submit && $name && $content)
    {
      if(!$fromcity)$fromcity="";
      if(!$email)$email="";
      $time=time();
      $sql="insert into guestbook(name,fromcity,email,content,time) values
      ('$name','$fromcity','$email','$content','$time')";
      mysql_query($sql);
      $havesubmit=yes;
    }小改一下,没做太多的变动,看行不行,没调试,呵呵。
      

  7.   

    直接按F5肯定是要重新执行一次啦。你可以在mysql_query($sql);改为:
    if (mysql_query($sql)) 
       echo "header '你当前这张页面'";
    总之是用header或者是用类似<META HTTP-EQUIV="refresh" <? echo "CONTENT='0; URL=$echostr'"; ?>>这样的语句来重定向。这样原来表单中的内容就不再次提交啦.