<!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>添加留言</title>
</head>
<body-->
<?php
include("conn.php");
if('$_POST[submit]'){
$sql="INSERT INTO message (user,title,content,lastdate) VALUES ('$_POST[user]','$_POST[title]','$_POST[content]',now())";
mysql_query($sql);
echo("成功!");
}
?>
<form action="add.php" method="post">
  用户:
  <input type="text" size="10" name="user" />
  <br />
  标题:
  <input type="text" name="title" />
  <br />
  内容:
  <textarea name="content"></textarea>
  <br />
  <input type="submit" value="发布留言" />
</form><!--/body>
</html-->
为什么把HTML代码注释起来才可以添加到MySQL数据库里,注释起来之后页面显示乱码。
如果不注释的话添加不到数据库里。

解决方案 »

  1.   

    你$_POST接收的值是从哪来的?下面那个form里的吗?那你第一次运行这页应该都是空值阿,插入数据库会有问题。你为什么非要放一个程序里啊?
      

  2.   

    <?php
    include("conn.php");
    if($_SERVER["REQUEST_METHOD"] == "POST"){
    $sql="INSERT INTO message (user,title,content,lastdate) VALUES ('$_POST[user]','$_POST[title]','$_POST[content]',now())";
    mysql_query($sql);
    echo("成功!");
    }
    ?>
      

  3.   

    你先别忙着查数据库。先在同等的条件下,分别把注释和不注释时的insert语句打出来。$_post['user']
      

  4.   

    判断改了之后还是不行,没有把HTML头和尾注释的话还是加不到数据库里。
    把HTML头和尾注释掉之后就可以添加到数据库里了,但页面就成乱码了!
      

  5.   

    没添加成,应该要不就是根本没执行if里面那段,要不就是insert语句有问题,要不就是执行时有问题
    打印insert语句,还有显示mysql_error()信息
      

  6.   

    就像我发的那段代码,把HTML的头和尾注释掉才能使页面提交到数据库里,但是页面显示的是
    “鎴愬姛!
    鐢ㄦ埛锛�
    鏍囬锛�
    鍐呭锛”� 
    这样的乱码。如何才能使页面运行和显示显示正常。
    出现的问题是:运行正常显示不正常,显示正常运行不正常!
    显示正常的时候运行还不报错,就是不会把表单数据提交到数据库!
      

  7.   

    <?php
    include("conn.php");
    if($_POST["submit"]){
    $sql="INSERT INTO message (user,title,content,lastdate) VALUES ('$_POST[user]','$_POST[title]','$_POST[content]',now())";
    mysql_query($sql);
    echo("成功!");
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>添加留言</title>
    </head>
    <body>
    <form action="add.php" method="post">
      用户:
      <input type="text" size="10" name="user" />
      <br />
      标题:
      <input type="text" name="title" />
      <br />
      内容:
      <textarea name="content"></textarea>
      <br />
      <input type="submit" name="submit" value="发布留言" />
    </form></body>
    </html>
      

  8.   

    乱码的原因可能是你的文件编码不是utf-8
      

  9.   

    明显结构不合理,位置放错了啊。
    <?php....?>应该放到最前面位置。否则_Post这类值是无法被正确取得的。<?php
    include("conn.php");
    if('$_POST[submit]'){
    $sql="INSERT INTO message (user,title,content,lastdate) VALUES ('$_POST[user]','$_POST[title]','$_POST[content]',now())";
    mysql_query($sql);
    $flag = true;
    //echo("成功!");
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>添加留言</title>
    </head>
    <body><form action="add.php" method="post">
      用户:
      <input type="text" size="10" name="user" />
      <br />
      标题:
      <input type="text" name="title" />
      <br />
      内容:
      <textarea name="content"></textarea>
      <br />
      <input type="submit" value="发布留言" />
    <? if($flag) echo "成功";?>
    </form></body>
    </html>
      

  10.   


    他自己不显示,你就让他输出啊,echo。。要不你把你代码拆开来,第一页放form那段,第二页放数据库操作,操作完再location.href(url)回到第一页。