php - 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() 函数有什么建议吗?
解决方案
站点被执行了两次,因为 .htaccess 重写
RewriteEngine On
RewriteRule ^((?!index\.php).+)$ /index.php [L,QSA]
推荐阅读
- react-native - 如何提高 ReactNative 中的 PanResponder 效率?
- python - 在列表中查找所有相同对象的位置
- arkit - ARkit 场景套件动画
- mysql - 将一列子查询分配给列
- python - 使用 pytest.main() 调用 pytest 时等效于 `-s`
- apache-kafka - Kafka中的两个maven模块有什么区别
- javascript - 如何从 typeof 创建接口?
- php - 从 PHP 调用 MySql 存储过程显示错误
- javascript - 如何根据日期忽略js或时刻js中的时间比较两个时间戳值?
- python - Pdb 崩溃:无法设置断点