当我将浏览器指向example.com/test.php时,还会加载example.com/index.php中的PHP

时间:2016-06-13 04:52:31

标签: php mysql

我已经找到了为什么这样做的答案,我似乎无法弄明白。我想在index.php我有

上制作一个简单的统计数据
$fromstr = 'index';
$country = 'TEST';
$ip = $_SERVER['REMOTE_ADDR'];
$servername = "localhost";
$username = "*****";
$password = "*****";
$dbname = "*****";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO counter (Country, IP, referrer)
VALUES ('$country', '$ip', '$fromstr')";
mysqli_query($conn, $sql);
$conn->close();

当我访问index.php时,它会将相同的条目添加到数据库中两次。我试着测试它为什么会发生,所以制作了一个额外的文件test.php。我添加了几乎相同的代码,只需更改$fromstr并将$country字段留空。我的代码是:

$fromstr = 'test';
$ip = $_SERVER['REMOTE_ADDR'];
$servername = "localhost";
$username = "*****";
$password = "*****";
$dbname = "*****";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO counter (Country, IP, referrer)
VALUES ('$country', '$ip', '$fromstr')";
mysqli_query($conn, $sql);
$conn->close();

当我访问test.php时,它会正确添加Country->NULL IP->(ip address) referrer->"test"条目,但它也会添加index.php应添加的查询(Country->"TEST" IP->(ip address) referrer->"index")。

TL; DR:当我访问index.php时,我的服务器执行查询以将某些内容插入到数据库中,但是(由于某些奇怪的原因)它会执行两次。我创建了另一个文件test.php来插入一个不同的查询,它会在索引页面上插入一次正确的查询,即使从未访问过索引页面也是如此。为什么会这样做?

1 个答案:

答案 0 :(得分:-1)

如果这是您的实际源代码,则您已经出现语法错误。您忘记在以下行中的TEST后添加单引号:

$country = 'TEST;