php mysql +评论系统

时间:2013-03-09 14:59:18

标签: php mysql comments dreamweaver

我正在创建具有评论系统的社交媒体网站,其中用户写的文本将被发布在电路板上并存储在数据库中,但问题是没有文本显示且文本没有存储在数据库中但是文本旁边的其他字段都存储起来,所以任何人都可以帮助我???

个人资料.php

<?php  
ob_start();
session_start();
require_once('for members/scripts/global.php'); 

if($_SESSION['login'] != 'true'){
        header("location:index.php");
    }
$user_id = $_SESSION['user_id'];
$send =(isset($_POST['send']));
$writenCom = (isset($_POST['post']));
if($send && $writenCom){
   echo $writenCom;
 $query = mysql_query("INSERT INTO comment(sender_id, text, comment_date)VALUES('$user_id', '$writenCom', now())")or die(mysql_error());

 while($row = mysql_fetch_array($query)){

 echo"comment success";


 }


}

?>

<!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" />
<link href="style/stylesheet.css"rel="stylesheet" type="text/css"/>
<title>
<?php print($_SESSION['first_name']); ?>
<?php print($_SESSION['last_name']); ?>'s profile</title>
<style type="text/css">

</style>



<link href="style/stylesheet.css" type="text/css"/>
</head>

<body>
<?php require_once('header.php'); ?>

<div class="container center"> 
<div class="postForm">
<form action="<?php echo($_SESSION['first_name']); ?>" method="post">
  <textarea id="post" name="post" rows="5" cols="70"> </textarea>
  <input type="submit" name="send" value="Post" style="background-color:#DCE5EE; float:right; border:1px solid #666; color:#666; height:73px; width:65px;" />
</form>

</div>


<div class="profilePost">Your Post will go here...

</div>
<!--for posting area -->
<div class="textProfileHeader"><?php echo($_SESSION['first_name']); ?>'s profile</div>


<!--end of posting -->
<div class="profileImage"><img src="image with highlight 2/images/new images/imageHover/homeHover.jpg" height="250" width="200" alt="<?php echo($_SESSION['first_name']); ?>'s profile" title="="<?php echo($_SESSION['first_name']);?>'s profile /></div>

<div class="profiletextContent">Some Content about  this person profile...</div>

<div class="textProfileHeaderFriends"><?php echo($_SESSION['first_name']); ?>'s Friends</div>

<div class="profileImgFriends"> <img src="image with highlight 2/images/new images/imageHover/homeHover.jpg" height="50" width="40" />&nbsp;&nbsp; <img src="image with highlight 2/images/new images/imageHover/homeHover.jpg" height="50" width="40" />&nbsp;&nbsp; <img src="image with highlight 2/images/new images/imageHover/homeHover.jpg" height="50" width="40" />&nbsp;&nbsp; <img src="image with highlight 2/images/new images/imageHover/homeHover.jpg" height="50" width="40" />&nbsp;&nbsp; <img src="image with highlight 2/images/new images/imageHover/homeHover.jpg" height="50" width="40" />&nbsp;&nbsp; <img src="image with highlight 2/images/new images/imageHover/homeHover.jpg" height="50" width="40" />&nbsp;&nbsp; <img src="image with highlight 2/images/new images/imageHover/homeHover.jpg" height="50" width="40" />&nbsp;&nbsp; <img src="image with highlight 2/images/new images/imageHover/homeHover.jpg" height="50" width="40" />&nbsp;&nbsp; </div>

<!--
<form id="form" method="post" action="profile.php" enctype="multipart/form-data" target="iframe">
    <input type="file" id="file" name="file" />
    <input type="submit" name="submit" id="submit" value="Upload File" />
</form>
-->
<!--
<a href="#">edit profile</a><br />
<a href="#">account settings</a><br />
-->
<?php
//}else{
    //header("Location: home.php");
?>
<!--
<a href="#">private message</a><br />
<a href="#">add as friend</a><br />
--> 
<?php
//}
?>
</div>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<?php require_once('footer.php'); ?>

</body>
</html>

<?php flush(); ?>

2 个答案:

答案 0 :(得分:1)

您应该使用mysql_affected_rows代替mysql_fetch_array

if (mysql_affected_rows() > 0) {
    echo "comment success";
} else {
    echo "insert comment failed";
}

mysql_fetch_array用于获取select个查询的结果集。

或者,您可以只测试mysql_query的返回值,其中TRUE表示成功,或者FALSE表示插入语句失败

if ($query) {
    echo "comment success";
} else {
    echo "insert comment failed";
}

除此之外,您应该考虑切换到mysqliPDO,因为现在已弃用mysql_*函数。

答案 1 :(得分:0)

我在您的代码中发现了多个问题。首先,$writenCom = (isset($_POST['post']));$writenCom设置为TRUE / FALSE,这是您尝试在DB中插入的值。其次,mysql_fetch_array只有在执行SELECT查询时才有意义。此外,您应始终转义来自用户的数据(建议使用mysqliPDO,而不是过时mysql