2016-08-22 112 views
-2

我试图建立一个评论系统PHP和HTML评论系统

这是我的代码

<html> 
    <head> 
     <link rel="stylesheet" type="text/css" href="css.css"> 
     <style> 
      .back_glob{width: 350px} 
     </style> 

     <script type="text/javascript" src="jquery-3.1.0.min.js"></script> 
       <script type="text/javascript"> 
        $(function(){ 
       $(".tombol_login").click(function() { 
        var txt = $("[name=comment]").val(); 
         $("#comment").submit(); 


       })}); 
     </script> 


     <style> 
      .back_glob{width: 450px} 
     </style> 

    </head> 


    <body> 
     <div class = "back_glob"> 
        <div class="tableC"> 
         <a href="contetmenu.php"><img src="img\back.png" alt="back" height="42" width="42"></a> 
            <div class ="back_header"> 
             <h4>comment</h4> 
            </div> 
        <div class= "table"> 
         <form id="comment" name="comment" action="contet2.php" method="post"> 
          <div class="row"> 
           <div class="col">comment</div> 
           <div class="col">:</div> 
           <div class="col"><textarea name="comment" rows ="10" cols="40"></textarea></div> 
          </div> 
           <div class="tom"> 
            <button type="button" class="tombol_login">Submit</button> 
           </div> 
         </form> 
        </div> 

        </div> 
     </div> 
    </body> 
</html> 




<?php 
$servername = "localhost"; 
$dbname = "databaseform"; 
$username = "root"; 
$password = ""; 

session_start(); 
     $page = 2; 

$conn = new PDO("mysql:host =$servername ; dbname=$dbname", $username, $password); 
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

$query = "SELECT form.Username, comment.Comment, comment.time FROM 
      form, comment WHERE 
      form.pkey=comment.pkey AND 
      comment.page=$page 
      ORDER BY comment.time DESC"; 
     $result = $conn->query($query); 
     $hasil = $result->fetchAll(); 

    $Comment = $_POST['comment']; 


try 
    { 


    //  injec 
     $query = "INSERT INTO comment (pkey,Comment,time,page) 
       VALUES (:Username,:Comment,NOW(),:page)"; 
     $sql = $conn->prepare($query) ; 
     $sql->BindValue(':Username',reset($_SESSION['txt_login'])); 
     $sql->BindValue(':Comment',$Comment); 
     $sql->BindValue(':page',$page); 
     $sql->execute(); 


    $query = "SELECT form.Username, comment.Comment, comment.time FROM 
      form, comment WHERE 
      form.pkey=comment.pkey AND 
      comment.page=$page 
      ORDER BY comment.time DESC"; 
     $result = $conn->query($query); 
     $hasil = $result->fetchAll(); 



     echo '<div class="back_glob">'; 
       echo '<div class = "table">'; 
        echo '<div class = "tableC">'; 
        echo '</div>'; 
    } 

    catch(PDOException $e) 
    { 
     echo $query . "<br>" . $e->getMessage(); 
    } 


     for($i = 0 ; $i < count($hasil);$i++) 
        { 
        echo'<div class="row">'; 
         echo '<div class="col2">'.$result[$i]['Username'].'</div>'; 
         echo '<div class="col2">'.$result[$i]['Comment'].'</div>'; 
         echo '<div class="col2">'.$result[$i]['time'].'</div>'; 
        echo'</div>'; 
        } 

?> 

但提交按钮之前,PHP的一部分将无法识别$_POST['comment'],我可以”除非我点击提交按钮,否则显示先前的评论。

是否有任何解决方案来纠正?

回答

0

我对你提问的方式感到非常困惑。我想你应该阅读本教程Smashing Magazine。所以你可以更好地理解代码和评论系统。

我希望它能帮助你。

+0

这应该是一个评论而不是答案。 – kikuyu1

+0

感谢您的建议。下次我会。 – Noman

+0

我想说的是,当我进入评论页面时,我希望看到在我去页面atm之前提交的其他评论。在我的代码中,我使用post方法在一个表单中创建了一个名为“comment”的变量,所以PHP会将该评论识别为“$ _POST ['comment']”。但为了做到这一点,我必须点击提交按钮,否则“$ _POST ['comment']”将不会被创建,因此PHP不会识别任何注释输入。我问的是有解决办法吗?希望这能够澄清我的问题。 – newb