2016-08-22 477 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