我在我的文件上传下在php中发表评论部分

时间:2017-12-24 07:22:12

标签: php html

      $query_file="SELECT * FROM files";
      $result_file = mysql_query($query_file);
          if ($result_file) {
          while ($row= mysql_fetch_array($result_file))
           {
           if($row[file_type] == "image"){
           echo" <image src=".$row['file_location']."width=340 height=240>"; 
       echo "</image><br>";
       echo "</br>";
       echo $row['file_description'];
       echo "</br>";
       }
         if (isset($_POST['post_comment']) and !empty($_POST['write_comment'])) {
           $comment_description = trim(htmlentities(strip_tags(mysql_real_escape_string($_POST['write_comment'])))); {
             if (!$file_id=mysql_query("SELECT file_id FROM files WHERE file_id='$id' ")) {
                    echo 'Invalid file ID';
              } else {  
               $query=mysql_query("INSERT INTO comments VALUES ('','$user','$fileid',NOW(),'$comment_description')");
                 }
         }
    }
                 echo "
                  <div style='float: left; width: 100%;''>
                 <form action='' method='post'>
                  <textarea name='write_comment' rows='3' cols='50' style='float: left;'></textarea>
                  <input type='submit' name='post_comment' id='' value='Comment' style='height: 40kpx; float: left;''d>
                 </form>
                  </div>
                  ";
      }
     }
      else{
      echo mysql_error();
     }

这是我制作评论部分的代码,但它并不是我上传的特定文件ID 我应该怎么纠正它 和我的sql表for commment ...

comments_id,comment_by,comment_on,comment_date,comment_description

和我的文件表

idfile_titlefile_descriptionfile_keywordsprivacyuploaded_bydate_uploaded,{{1} },md5viewsfile_idfile_md5file_location

1 个答案:

答案 0 :(得分:0)

由于原始代码的性质以及对实际问题的不清楚,以下内容可能会或可能不会是您尝试做的事情。

原始代码中存在很多错误 - 其中一些是PHP,另一些是基本的HTML错误。我试图找出并修复它们,虽然我不保证它们都是固定的。

允许用户添加评论的表单包含一个隐藏字段,其中包含图像的ID。该ID与评论一起发布,并使用顶部的代码插入〜但是再次 - $user定义在哪里?

这里的代码容易受到sql注入攻击,但正如你所说,你要将其更改为mysqli,那么这或许是无关紧要的。

<?php
    /*
        This handles the insertion of the comment
    */
    if( $_SERVER['REQUEST_METHOD']=='POST' && isset( $_POST['write_comment'], $_POST['post_comment'], $_POST['file_id'] ) ){

        $fileid=$_POST['file_id'];
        $comment=$_POST['write_comment'];
        $user='GERONIMO';   /* WHERE IS $user DEFINED????? */

        $query=mysql_query( "INSERT INTO comments VALUES ( '', '$user', '$fileid', NOW(), '$comment_description' )" );
    }
?>



<?php

    /*
        This is to display the image and
        the form so that a user can add a
        comment
    */

    $sql='SELECT * FROM files';
    $result = mysql_query( $sql );

    if ( $result ) {
        while( $row= mysql_fetch_array( $result ) ) {

            if( $row['file_type'] == "image" ){

                echo "
                <div style='float:left; width:100%;'>
                    <img src='{$row['file_location']}' width=340 height=240 />
                    <p>
                    {$row['file_description']}
                    </p>
                    <form method='post'>
                        <textarea name='write_comment' rows='3' cols='50' style='float:left;'></textarea>
                        <input type='hidden' name='file_id' value='{$row['file_id']}' />
                        <input type='submit' name='post_comment' value='Comment' style='height:40px; float:left;'>
                    </form>
                </div>";
            }
        }
    }
?>