php pdo 评论页面错误

php pdo 评论页面错误

对不起我的英语不好。

我对数据库的了解非常简单。

我必须从论坛获得此代码。

我的问题是,当有人发表评论时,它会显示在所有网站上,而我希望它只显示在发表评论的文件上。

我尝试用...来解决这个问题。

我有两个文件,一个是 Php 代码,代码.php然后是另一个显示评论的地方,评论.php

评论.php文件位于上方,

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

以及评论显示的位置

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

代码.php上面的顶部,将属性声明为$site

 private $site;

函数__construct($site)带有参数$站点,我称之为,

public function __construct($site) {


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

更新时评论.php页面,即将推出警告,

1)

尝试获取 /var/www/html/code.php 第 35 行中非对象的属性“1”

35 号线上有$this->site->$site;

2)

未定义变量:/var/www/html/code.php 中第 164 行的站点

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
    }    
  }
}

所有代码来自代码.php这里

有人可以帮我解决这个问题吗?谢谢!

答案1

我“找到”了解决方案,人们给我解决方案,但我也去搜索......

在 comment.php 上

评论.php文件位于上方,

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

去掉它。

并在评论显示处进行更改

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

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

由于使用包含一次并不是包括 这里说说为什么。

在 code.php 上

排队163改变自

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

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

为什么是 $_SERVER['REQUEST_URI'] ?,因为 php关于'请求 URI'访问此页面所需的 URI。我希望该评论仅显示在它写入的文件上。也就是说,当 site = 我所在的地方时.....在此处写入。

排队183改变自

$Newobject = new ClassProveContakt3();

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

为什么是 $_SERVER['REQUEST_URI']?,当评论.php文件调用$新对象对象,它是范围发送到评论.php

我感谢所有帮助我解决这个问题的人!

相关内容