首页 > 解决方案 > php脚本在if语句为假时运行

问题描述

您好,我正在用 php 编写一个 api,并且在使用 if 语句时遇到了一些问题:

$type = (isset($_GET['type'])) ? $_GET['type'] : '';

if ($type === '') {
    apilog(-1, 777, 'from ip: ' . $_SERVER['REMOTE_ADDR']);
    die('wrong parameters');
}

if ($type === 'login') {
    echo login();
    die();
}

如果 $type 未设置或为空字符串,则第一个 if 语句应使用 apilog() 函数将日志写入数据库。问题是每次刷新站点时都会执行 apilog() 函数。die() 函数似乎没有执行,因为屏幕上没有出现“错误参数”,并且 login() 函数按预期运行。为什么执行 apilog() 函数有什么建议吗?

标签: php

解决方案


站点被执行了两次,因为 .htaccess 重写

RewriteEngine On
RewriteRule ^((?!index\.php).+)$ /index.php [L,QSA]

推荐阅读