当点击链接时,PHP执行文件两次

当点击链接时,PHP执行文件两次,php,mysql,hyperlink,fopen,execute,Php,Mysql,Hyperlink,Fopen,Execute,我的网站上有一个奇怪的问题。每当单击链接时,文件将执行两次。我注意到这一点的唯一原因是,当我提交关键字搜索请求时,我会将搜索记录在MySQL数据库中。数据库总是保存两条记录(有一个时间戳,记录有时在同一秒钟内添加,但通常仅相隔一秒钟)。我知道我是网站上唯一的一个,查询不会在循环中被调用。所以我做了一个fopen($file,'a')来看看会添加多少行代码,大多数时候会添加两行代码。我能得到一条要添加的记录的唯一方法是,如果我连续运行相同的搜索2-3次 所以我唯一能想到的就是我们的网站上有good

我的网站上有一个奇怪的问题。每当单击链接时,文件将执行两次。我注意到这一点的唯一原因是,当我提交关键字搜索请求时,我会将搜索记录在MySQL数据库中。数据库总是保存两条记录(有一个时间戳,记录有时在同一秒钟内添加,但通常仅相隔一秒钟)。我知道我是网站上唯一的一个,查询不会在循环中被调用。所以我做了一个fopen($file,'a')来看看会添加多少行代码,大多数时候会添加两行代码。我能得到一条要添加的记录的唯一方法是,如果我连续运行相同的搜索2-3次

所以我唯一能想到的就是我们的网站上有goodle广告。我唯一能想象的是,当我点击链接时,绑定到广告的javascript也会跟随相同的链接


还有什么好主意吗?

当一个资产(图像、js、css)没有实际链接时,我看到过这样的症状,比如:

<img src="" />


在这种情况下,浏览器试图获取相同的url,但标题不同。记录它,这将有助于了解情况是否如此。

当有一个资产(图像、js、css)没有实际链接时,我看到过这样的症状,如:

<img src="" />


在这种情况下,浏览器试图获取相同的url,但标题不同。将其记录下来,这将有助于查看是否存在这种情况。

在处理表单时,检查他们是否实际单击了提交按钮,如下所示:

if (isset($_POST['submit']) && $_POST['submit'] == 'submit') {
   // Process form
} else {
   // Just display it
}

这将阻止您对其进行两次处理。您还应该在表单发布后使用303重定向进行重定向。

在处理表单时,检查他们是否实际单击了提交按钮,如下所示:

if (isset($_POST['submit']) && $_POST['submit'] == 'submit') {
   // Process form
} else {
   // Just display it
}
这将阻止您对其进行两次处理。您还应该在表单发布后使用303重定向进行重定向。

我应该害怕吗

我一写这篇文章(并看到@cillosis)就注释掉了谷歌广告的代码

我不再有这个问题了。不过,这完全是谷歌的功劳。每次我运行搜索时,这都会出现在我的apache访问日志中

66.249.73.87 - - [16/May/2012:12:38:45 -0500] "GET /search.php?page_num=1&keywords=stylist&city=&state=AL&cat= HTTP/1.1" 200 14185 "-" "Mediapartners-Google"
我害怕….

我应该害怕吗

我一写这篇文章(并看到@cillosis)就注释掉了谷歌广告的代码

我不再有这个问题了。不过,这完全是谷歌的功劳。每次我运行搜索时,这都会出现在我的apache访问日志中

66.249.73.87 - - [16/May/2012:12:38:45 -0500] "GET /search.php?page_num=1&keywords=stylist&city=&state=AL&cat= HTTP/1.1" 200 14185 "-" "Mediapartners-Google"

我很害怕….

请给我们看带有链接的页面代码,然后是php代码。你能给我们看一下按钮上的代码吗?可能是
包含
d两次?试着注释一下Adsense代码,看看这是否会改变什么。我发现了问题。看看我刚刚发布的答案。老大哥。。。。哈!@cillosisPlease为我们展示带有链接的页面的代码,然后是php的代码。你能给我们展示一下按钮上的代码吗?可能是
include
d两次?试着对Adsense代码进行注释,看看是否有什么变化。我发现了问题。看看我刚刚发布的答案。老大哥。。。。哈!@纤毛症