-1

ユーザーが書いたテキストがボードに投稿され、データベースに保存されるコメントシステムを備えたソーシャルメディアWebサイトを作成していますが、テキストが表示されず、テキストがデータベースに保存されず、他のフィールドが横にあるという問題がありますテキストは保存されているので、誰でも私を助けることができます???

プロファイル .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(); ?>
4

2 に答える 2

1

mysql_affected_rows代わりに使用する必要がありますmysql_fetch_array

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

mysql_fetch_arrayselectクエリの結果セットをフェッチするためのものです。

または、の戻り値をテストすることもできますmysql_query。これは、挿入ステートメントTRUEの成功または失敗のいずれかです。FALSE

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

それに加えて、関数は現在廃止されているため、mysqliまたはのいずれかに切り替えることを検討する必要があります。PDOmysql_*

于 2013-03-09T15:06:20.490 に答える
0

コードに複数の問題があります。まず、TRUE / FALSEに$writenCom = (isset($_POST['post']));設定します。これは、DBに挿入しようとしている値です。$writenCom次に、クエリmysql_fetch_arrayを実行する場合にのみ意味があります。SELECTさらに、常にユーザーからのデータをエスケープする必要があります(廃止されたものではなく、mysqliまたはを使用することをお勧めします)PDOmysql

于 2013-03-09T15:05:32.697 に答える