Php

php pdo評論頁面錯誤

  • February 9, 2020

對不起我的英語不好。

我對數據庫的了解很簡單。

我必須從論壇中獲取此程式碼。

我的問題,當有人寫評論時,它會顯示在所有網站上,而我希望它只顯示在它寫的文件上。

我試圖解決這個問題……

我有兩個文件,一個是 PHP 程式碼,code.php,另一個是顯示註釋,comment.php

comment.php文件上面有頂部,

include '/var/www/html/code.php';

並在下方顯示評論

<?php $object = new ClassProveContakt3("1");?> 

在上面的code.php頂部,將屬性聲明為$site,

private $site;

函式 __construct($site) mit de parameter $site ,我用它來呼叫它,

public function __construct($site) {


    $this->site->$site;
    ...

更新comment.php頁面時,會出現兩個警告,

1)

試圖在第 35 行的 /var/www/html/code.php 中獲取非對象的屬性“1”

在第 35 行有$this->site->$site;

2)

未定義變數:第 164 行 /var/www/html/code.php 中的站點

在第 164 行有$sth -> execute( array(':site' => $site ));

它是連接數據庫的功能,這個功能,

function getMessages()
{
   if ( ! $this -> dbh ) {
       $this -> getConnection();
   }

   $sql = "SELECT * FROM commentar WHERE site = :site ORDER BY datetime DESC";
   $sth = $this->dbh->prepare( $sql, array( PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY ));
   $sth -> execute( array(':site' => $site ));

   $result = $sth->fetchAll(PDO::FETCH_ASSOC );
   if ( false === $result ) {
       $this->reportPDOError( "fetchAll(ASSOC) failed", $sql );
   }
   foreach ($result as $message) {

?>


<p><strong>From: </strong> <?=htmlspecialchars( $message['name'] ) ?>            
<strong>at: </strong> <?=htmlspecialchars( $message['datetime'] ); ?></p>
<p><?=htmlspecialchars( $message['message'] ); ?></p><hr>


<?php
   }    
 }
}

code.php中的所有程式碼都在這裡

有人能幫我解決這個問題嗎,謝謝!

我“找到”了解決方案,人們給了我解決方案,但我也去搜尋……

在comment.php

comment.php文件上面有頂部,

include '/var/www/html/code.php';

去掉它。

並在評論顯示的下方,從

<?php $object = new ClassProveContakt3("1");?> 

include_once '/var/www/html/code.php';

因為使用了include_once而不是include ,這裡說一下原因。

在程式碼.php

在第163行從

$sth -> execute( array(':site' => $site ));

$sth -> execute( array(':site' => $_SERVER['REQUEST_URI'] ) );

為什麼 $_SERVER

$$ ‘REQUEST_URI’ $$? ,正如 php所說的**‘REQUEST_URI’為了訪問這個頁面而給出的 URI。我希望該評論僅顯示在它寫入的文件上。也就是說,當站點=我所在的地方時……寫在這裡。 在第183**行從

$Newobject = new ClassProveContakt3();

$Newobject = new ClassProveContakt3($_SERVER['REQUEST_URI']);

為什麼 $_SERVER

$$ ‘REQUEST_URI’ $$?,comment.php文件呼叫**$Newobject對象時,是傳給comment.php的**Parameter 我感謝所有幫助我解決這個問題的人!

引用自:https://serverfault.com/questions/1002301