<?php
include("conn.php");
if($_POST['submit']){
$sql="insert into message(id,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" rows="5" cols="30"></textarea><br/>
<input type="submit" name="submit" value="发布留言"/>
</form>
还没提交数据就会出现“发表成功!”,而且提交了数据之后数据库里也没提交成功,怎么回事啊??

解决方案 »

  1.   

    你这里“echo "发表成功!";”没有前提,也就是不管插入结果如何都会echo 的,可以加一个判断数据库是否改变的if语句,然后echo。还有“if($_POST['submit'])”这里应该是“if(@$_POST['submit']==‘发布留言’)”
      

  2.   

    1.你的sql语句有问题
       $sql="insert into message(id,user,title,content,lastdate)values(``,`$_POST[user]`,`$_POST[title]`,`$_POST[content]`,now())";
       value 不需要使用 tab键上面的单符号
    2.你应该输出一下你的sql 来验证sql是否正确
    3.你可以使用mysql_insert_id()来获取插入之后的id 判断是否插入成功 再echo 插入成功
      当然你也可以使用其他方法来判断是否成功