好的,我搜索了一下,找到了应该怎么做。例如,找到这个问题。但是它不适合我,所以我一定是做错了什么,但如果我知道是什么。
好吧…这是我的小代码块:
<?php
session_start();
if(!isset($_SESSION['didit'])) {
$url = "http://www.mysite.com/clients/vatera.asmx/DoSomething";
file_get_contents($url);
$_SESSION['didit'] = true;
}
?>
url file_get_contents
工作正常。唯一不起作用的是"运行一次"检查。它每次通过页面运行url代码。它应该只在会话中第一次点击页面时运行它。这个块位于紧接<html>
标签在我的页面。
我尝试过的其他方法:
if(empty($_SESSION['didit']))
if($_SESSION['didit'] != true)
if($_SESSION['didit'] <> true)
我还尝试移动设置变量到$url赋值之前的行。
这些都不起作用。每次加载页面时,它都会继续运行代码。提前感谢!
当您说"紧跟 <html>
标签"时,您的意思是在之前,对吗?
session_start()
必须出现在任何输出之前
你如何测试你的代码?它只能在真实的浏览器中工作。因此,如果您使用wget
或curl
来测试-您的条件代码将始终运行b/c。Curl默认不保留会话cookie。
还要确保您没有在浏览器中阻止cookie