【问题标题】:Problem getting value from a public function on another page从另一个页面上的公共函数获取价值的问题
【发布时间】:2022-01-27 17:36:14
【问题描述】:

您好,请原谅我的问题, 我对编程还很陌生,有些困惑。

我创建了一个公共函数,并试图在另一个页面上回显行数,该页面将用户名值传递给我知道这是有效的函数,因为如果我在函数本身中打印结果,我会得到所需的结果.

这是我页面中传递变量的代码,我试图在其中回显结果.. 这是帖子的数量,$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 已经定义并且可以在函数中使用,如果我打印它的工作结果。 但是,上面代码中 $xcount 的值没有打印出来,如果我在 vscode 中将鼠标悬停在它上面 它说未设置。我知道我一定是在做一些完全愚蠢的事情,所以请提前原谅我。

这是我其他页面的代码。

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;

}

【问题讨论】:

  • 如何定义$crud,从你的第一个sn-p开始?

标签: php function


【解决方案1】:

当您只想在 HTML 中使用 $xcount 值时,您应该使用变量 $rez,其中函数返回值被分配给:

<?php echo 'Posts created: '.$rez;?>

您应该删除“打印”行,否则数字将显示在页面顶部。

问题是,$xcount 是在函数范围内定义的。所以它不能从外部访问,这不应该是这种情况,因为它是一种不干净的编程方式(在大多数情况下)。

【讨论】:

    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 2015-03-31
    相关资源
    最近更新 更多