0

我从互联网上得到了这个简单的计数器,这正是我所需要的:

<?PHP session_start();
    if(isset($_SESSION['views'])){
        $_SESSION['views']=$_SESSION['views']+1;
        }
        else{
        $_SESSION['views']=1;
        }
        echo "Total page views= ".$_SESSION['views'];
?>

所以我把它扔进了home.html我的主页,不用说是我的主页。但是,我希望将视图打印在我的info.html页面上,但我希望它显示home.html. 有谁知道这是否可能?

4

2 回答 2

1

首先,如果您需要由服务器编译 PHP,则不需要将页面更改为.php扩展。.html

可能有几种方法可以实现您所需要的,但是我将首先指出一些您应该知道的关于 php 会话的事情。

  1. 会话变量可从您网站上的任何页面获得,前提session_start();是首先调用该函数。

  2. 会话本质上是临时存储。简而言之,一个包含唯一 id 的 cookie 被保存到用户的计算机上。唯一 id 是对存储在服务器上的会话信息的引用(临时)。

有关完整信息,请查看php.net

因为会话是临时存储并且它们对用户来说是唯一的,所以您将无法显示任何用户对除他们自己之外的其他用户的主页的访问。要实现这一点,您需要创建一个具有全局和永久存储(即数据库或文件)的解决方案。

现在我将向您展示您所问问题的解决方案,我只是不确定上下文,所以我想我会解释这些限制。

好的,所以您应该在home.php中包含以下代码。

<?php 
    session_start();
    if(isset($_SESSION['views'])){
        $_SESSION['views']++;
    } else{
        $_SESSION['views']=1;
    }
?>

这与您所拥有的完全相同,只是我删除了该echo功能。

现在在info.php页面上添加以下内容。

<?php 
    session_start();
    if(isset($_SESSION['views'])){
        echo $_SESSION['views'];
    }
?>

这将显示用户查看home.php的次数。

于 2013-10-04T01:21:07.723 回答
0

把它放在你的 home.html 中

<?PHP session_start();
if(isset($_SESSION['views'])){
    $_SESSION['views']=$_SESSION['views']+1;
    }
    else{
    $_SESSION['views']=1;
    }

?>

这在你的 info.html 上

<?PHP session_start();
if(isset($_SESSION['views'])){
    echo "Total page views= ".$_SESSION['views'];
} else {
    echo "no page views to show";
}

?>

但是您意识到这仅计算单个人的访问,会话是每个人(设计)不共享的。而那个人只会看到他自己的计数;直到会话到期。

你很多人需要 home.html 到 home.php 才能工作!或设置 html 文件解析为 php

于 2013-10-04T01:13:35.133 回答