我正在执行一个函数来计算访问者、浏览量和 page_views。
现在我只是想计算页面浏览量,但我遇到了一个奇怪的问题。
我有一个包含以下列的统计表:“users,visits,page_views”。
现在我只想在用户访问某些页面时增加我的 page_views。
每次我访问我的主页时,我的 page_views 都会增加 1 个单位,但是当我访问一个二级页面时,我的列 page_views 会增加 3 个单位,而我也只想要 1 个单位。
你知道为什么会这样吗?
我认为问题出在我的 getHome() 函数中,因为如果我在 getHome() 之前或之后调用我的函数 countViews(),我会有不同的行为。但我找不到原因。
当我在 getHome() 之上设置 countViews() 时,似乎我在二级页面上调用了函数 countViews 的 3 次。
但我只在我的 index.php 文件上调用我的函数 countViews(),在这个函数下面我有我的 getHome() 函数,我可以在其中导航到我项目中的所有页面。
function countViews(){
$pdo = start();
//if Im not logged as admin
if(!isset($_SESSION['admin'])){
//So at first I read my table stats, if my table dont have any row,
// I create a row with my columns with value of '0'.
$readStats= $pdo->prepare("SELECT * FROM stats");
$readStats->execute();
if($readStats->rowCount()<1){
$insStats= $pdo->prepare("INSERT INTO stats(users, views, page_views) VALUES (?,?,?)");
$insStats->bindValue(1,'0');
$insStats->bindValue(2,'0');
$insStats->bindValue(3,'0');
$insStats->execute();
}
//If my table stats already have one row, I want to increment page_views.
else{
$resultStats= $readStats->fetch(PDO::FETCH_ASSOC);
$incrementPageViews = $resultStats['page_views'] + 1;
$updatePageViews = $pdo->prepare("UPDATE stats set page_views = ?");
$updatePageViews ->bindParam(1,$incrementPageViews);
$updatePageViews ->execute();
}
}
}
我的 index.php 是这样的:
<?php
ob_start(); session_start();
require_once('dts/db.php');
$pdo = start();
countViews();
?>
<!DOCTYPE>
<!-- here I have my css and js imports -->
<?php getHome(); ?>
我的二级页面:
<title>Untitled Document</title>
</head>
<body>
<!-- here I have my html -->
</body>
getHome() 函数:
<?php
function getHome(){
$url = $_GET['url'];
$url = explode('/', $url);
$url[0] = ($url[0] == NULL ? 'index' : $url[0]);
if(file_exists('project/'.$url[0].'.php')){
require_once('project/'.$url[0].'.php');
}
elseif(file_exists('project/'.$url[0].'/'.$url[1].'.php')){
require_once('project/'.$url[0].'/'.$url[1].'.php');
}
else{
require_once('project/404.php');
}
}
?>
我的 table 是这样的:
最佳答案
我不知道为什么会这样,但我可以帮你找到。
在您的 countViews() 中执行以下操作:
echo "<pre>";
var_dump("Count Views beeing called from : ".__FILE__);
echo "</pre>";
如果您仍然找不到为什么要使用它,请告诉我,我会帮助您设置 xdebug 和分析,它会准确地告诉您包含的文件以及按照调用/包含的顺序调用的函数。
关于php - 我的页面浏览量计数器在主页上增加了 1 个单位,但在二级页面上增加了 3 个单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24745003/
这个问题在这里已经有了答案:Checktoseeifanarrayisalreadysorted?(8个答案)关闭9年前。我只是想知道是否有办法检查数组是否在增加?这是我的解决方案,但我正在寻找更漂亮的方法:n=-1@arr.flatten.each{|e|returnfalseife
require'mechanize'agent=Mechanize.newlogin=agent.get('http://www.schoolnet.ch/DE/HomeDE.htm')agent.clicklogin.link_withtext:/Login/然后我得到Mechanize::UnsupportedSchemeError。 最佳答案 Mechanize不支持javascript但您可以将搜索字段添加到表单并为其分配搜索词并使用mechanize提交表单form=page.forms.firstform.add_fie
在Ruby中,以毫秒为单位获取自纪元(1970)以来的当前系统时间的正确方法是什么?我试过了Time.now.to_i,好像不是我想要的结果。我需要结果显示毫秒并且使用long类型,而不是float或double。 最佳答案 (Time.now.to_f*1000).to_iTime.now.to_f显示包含十进制数字的时间。要获得毫秒数,只需将时间乘以1000。 关于ruby-以毫秒为单位获取当前系统时间,我们在StackOverflow上找到一个类似的问题:
我有可变数量的表格和可变数量的行,我想让它们一个接一个地显示,但如果表格不适合当前页面,请将其放在下一页,然后继续。我已将表格放入事务中,以便我可以回滚然后打印它(如果高度适合当前页面),但我如何获得表格高度?我现在有这段代码pdf.transactiondopdf.table@data,:font_size=>12,:border_style=>:grid,:horizontal_padding=>10,:vertical_padding=>3,:border_width=>2,:position=>:left,:row_colors=>["FFFFFF","DDDDDD"]pdf.
据我们所知,Jekyll默认分页仅支持index.html,我想创建blog.html并在那里包含分页。有什么解决办法吗? 最佳答案 如果您创建一个名为/blog的目录并在其中放置一个index.html文件,那么您可以向_config.yml表示paginate_path:"blog/page:num"。不是使用根文件夹中的默认index.html作为分页器模板,而是使用/blog/index.html。分页器将根据需要生成类似/blog/page2/和/blog/page3/的页面。这将使您到达yourwebsite.com/b
我正在寻找一种简单的方法来为我在RubyonRails上的项目实现简单的“即将推出”(预启动)页面。用户应该能够留下电子邮件以便在项目启动时收到通知。有没有这样的插件\gem?或者我应该自己做... 最佳答案 LaunchingSoon是一个Rails插件。它还集成了MailChimp或Campaignmonitor. 关于ruby-on-rails-RoR&&"comingsoon"页面,我们在StackOverflow上找到一个类似的问题: https:/
我有一个使用Jekyll托管在GitHub上的静态网站。问题是,我真的不需要master分支,因为存储库唯一包含的是网站。这样我就必须gitcheckoutgh-pages,然后gitmergemaster,然后gitpushorigingh-pages。有什么简单的方法可以摆脱gh-pages分支并直接从master推送? 最佳答案 Theproblemis,Idon'treallyneedthemasterbranch,astheonlythingtherepositorycontainsisthewebsite.Isthere
我试图通过点击一个链接获得一个带有ISO-8859-1编码的页面,所以代码类似于这样:page_result=page.link_with(:text=>'link_text').click到目前为止,我得到的结果编码错误,所以我看到的字符如下:'T�tulo:'insteadof'Título:'我尝试了几种方法,包括:使用代理在第一个请求中声明编码:@page_search=@agent.get(:url=>'http://www.server.com',:headers=>{'Accept-Charset'=>'ISO-8859-1'})说明页面本身的编码page_result.
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它
我正在使用rails_xss运行Rails2.3.14插入。我有另一个用于创建管理仪表板View的插件。我的问题是rails_xss正在转义我的仪表板插件生成的所有HTML。有没有一种方法可以将rails_xss配置为不转义匹配example.com/admin或基于目录(app/views/admin)或任何类似的页面结果一样吗? 最佳答案 更新仪表板生成插件以使用raw或html_safe进行内容输出可能会更简单。 关于ruby-on-rails-仅在某些页面上使用rails_xss