关于留言板的一个问题!

关于留言板的一个问题!

<?php
          $db =mysql_connect('localhost','root','password','guestbook');
          mysql_query("set names gbk");
  if (!db) {
   echo "<script>location.href='index.php';</script>";
  }
       
       
        $nickname=$_POST['nickname'];
        $email=$_POST['email'];
        $homepage=$_POST['homepage'];
        $qq=$_POST['qq'];
        $content=$_POST['content'];
        $submit_time=date("Y-m-d H-i-s");
       
        if (strpos($nickname,">")!==false||strpos($nickname,"<")!==false||strpos($nickname,"@")!==false||strpos($nickname,"\"")!==false||strpos($nickname,"_")!==false||strpos($nickname," ")!==false)
        {
                echo "<script> alert('名称不能有特殊符号!');location.href='insert.php';</script>";
                exit();
        }
         if (!ereg("^[0-9]{0,}$",$qq))
            {
                    echo "<script> alert('QQ号码为空或格式错误!');location.href=insert.php;</script>";       
                    exit();
            }       
        if($email)
        {       
            if (!ereg("^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$",$email))
            {
                     echo "<script>alert('email格式不正确!');location.href='insert.php';</script>";
                     exit();
            }
        }
   
   if (!$nickname)
   {
                   echo "<script>alert('昵称不能为空!');location.href='insert.php';</script>";
   }
  elseif (!$content&&!$email&&!$qq)
  {
                  echo "<script>alert('请留下联系方式和想对我说的话!');location.href='insert.php';</script>";
  }
        else
        {
        $ip=getenv('REMOTE_ADDR');
       
        $sql= "insert into lo(nickname,email,homepage,qq,ip,submit_time)
                values('$nickname','$email','$homepage','$qq','$ip','$submit_time')";
        $resule= mysql_query($sql);
        mysql_close();
        echo "<script>alert('提交成功!');location.href=index.php</script>";

       
?>
这里有几个问题,第一个就是插不进数据库,虽然说提交成功,但是数据库找不到相应的数据?然后还有一个问题就是那个location.href=index.php不起作用的?然后对字符的判断逻辑也出现错误,这是我第一次写php程序,以前没学过编程,弄了很多天了,还是没办法解决!!请各位大虾帮帮我!~

[ 本帖最后由 coolkiss 于 2007-5-22 13:38 编辑 ]

怎么没人回答我的!!是不是太低B啦
各路大虾帮帮手拉。。。。。。。。。。。

你将 $sql echo出来,在phpmyadmin上的sql运行一次看看有什么提示。
问题一个出在sql语句上
毕业了。。。

Warning: Cannot modify header information

Warning: Cannot modify header information - headers already sent by (output started at D:\AppServ\www\phpMyAdmin\libraries\header_meta_style.inc.php:27) in D:\AppServ\www\phpMyAdmin\libraries\common.lib.php on line 1154
在phpmyadmin那个查询分析器中输入insert语句,就出现这个错误
请问管理员大人是什么原因呀????

不至于吧?把你的操作过程具体说一次。
毕业了。。。

单纯执行sql语句的话不可能出现这种错误阿
如履薄冰

首先我进到phpmyadmin,然后在进到guestbook。然后点击SQL查询窗口
输入insert into lo(nickname,qq,email,content,ip,submit_time,homepage)
values('$nickname','$email','$homepage','$qq','$ip','2005-02-08','$homepage');
这里除了submit_time是datetime类型之外,其他的都是varchar类型
我重新试过一次了,还是不行哦!?
那个提示到底是什么原因呢?

虽然那些values没对应好,但是它应该会自动识别为常量的吧

这样当然不行。那些变量是你在留言板页面赋值的,而不是在phpmyadmin赋值的。你要先把$sql echo出来。用具体值替换变量。
再在phpmyadmin上执行。
毕业了。。。

insert into lo(nickname,qq,email,content,ip,submit_time,homepage) values('coolkiss','123456','coolkiss@phpfans.net','abcd','192.168.1.1','2005-02-25','www.phpfans.net');
我用具体值在查询窗口试了一下,还是提示
Warning: Cannot modify header information

Warning: Cannot modify header information - headers already sent by (output started at D:\AppServ\www\phpMyAdmin\libraries\header_meta_style.inc.php:27) in D:\AppServ\www\phpMyAdmin\libraries\common.lib.php on line 1154
哦哦
是不是我的服务器本身有问题呢?