[英]Problem getting value from a public function on another page
您好,请原谅我的问题,我对编程还很陌生,有些困惑。
我创建了一个公共 function 并试图在另一个页面上回显行数,该页面将用户名值传递给 function 我知道这是有效的,因为如果我在 ZC1C425268E68385D14ZA507 本身打印结果,我会得到所需的结果。
这是我页面中传递变量的代码,我试图在其中回显结果..这是帖子的数量,$xcount
<?php $rez=$crud->postcount($pc); ?>
<div class="card mb-4">
<div class="card-header">Welcome <?php echo $_SESSION['user']?></div>
<div class="card-body">
<div>
<form action="" method="post">
<input type="submit" name="submit" id="submit" class="button" value="log out"/>
</form>
<image src = "<?php echo $_SESSION['user_image']?>" style="max-width:100px; max-height:100px<br>">
<p><?php echo 'Posts created: '.$xcount;?></p>
<p>Contenthere!</a></p>
</div>
</div>
</div>
$pc 已经定义并且在 function 中可用,如果我打印结果它可以工作。 但是,上面代码中 $xcount 的值没有打印出来,如果我在 vscode 中的 hover 上面它说未设置。 我知道我一定是在做一些完全愚蠢的事情,所以请提前原谅我。
这是我其他页面的代码。
public function postcount($pc){
$sql=("SELECT count(*) from `posts` WHERE `created_by` =:pc ");
$res=$this->db->prepare($sql);
$res->bindParam(':pc',$pc);
$res->execute();
$xcount=0;
$xcount= $res->fetchColumn();
print ' number of posts:' .$xcount;
return $res;
}
当您只想使用 HTML 中的 $xcount 值时,您应该使用变量 $rez,其中函数返回值分配给:
<?php echo 'Posts created: '.$rez;?>
您应该删除“打印”行,否则数字将显示在页面顶部。
问题是,$xcount 是在 function 的 scope 中定义的。 所以它不能从外部访问,这不应该是这种情况,因为它是一种不干净的编程方式(在大多数情况下)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.