我正在制作一个脚本,我有一个名为ban.php
的PHP文件,其目的是禁止IP。我有一个名为Banning
的班级,位于inc/class.Banning.inc.php
内。由于能够禁止单个IP地址和IP范围,因此我决定提出$_GET
请求。例如:ban.php?type=single
将为单个IP地址加载表单,ban.php?type=range
将加载IP范围的表单。
这是班宁班:
/**
* BANNING CLASS
*/
class Banning {
/**
* VARIABLES
*/
private $_Gtype;
private $_G_Result;
/**
* Constructor, set variables to ban.php $_GET
*/
public function __construct() {
$this->_Gtype = isset($_GET['type']) ? $_GET['type'] : null;
}
/**
* GET THE BANNING TYPE FROM $_GET IN BAN.PHP
*/
public function getType() {
// Get the type of banning form from $_GET
if ($this->_Gtype == 'single') {
$this->_G_Result == 'single';
} else if ($this->_Gtype == 'range') {
$this->_G_Result == 'range';
}
// Return the value
return $this->_G_Result;
}
}
然后在我的ban.php
文件中,我有以下内容:
require_once('inc/class.Banning.inc.php');
define('BAN_IP', true); // define the ban constant
/**
* DETERMINE WHICH FORM TO DISPLAY REGARDING $_GET
* Making use of the getType() function in Banning Class.
*/
$getType = new Banning();
if ($getType->getType() == 'single') {
require_once('html/ban.single.php');
}
?>
<style type="text/css">
<?php require_once('css/css.css'); ?>
</style>
我的httpd.conf
文件中的所有错误都已打开,我在我的mac(MAMP)上运行此错误。
当我运行页面ban.php?type=single
时,我留下了一个空白页面。我做了什么有什么不对吗?
答案 0 :(得分:2)
您可以使用double equal-signes分配值。
if ($this->_Gtype == 'single') {
$this->_G_Result == 'single';
} else if ($this->_Gtype == 'range') {
$this->_G_Result == 'range';
}
应该是
if ($this->_Gtype == 'single') {
$this->_G_Result = 'single';
} else if ($this->_Gtype == 'range') {
$this->_G_Result = 'range';
}
顺便说一下,你永远不会检查_Gtype
的值是否为空。这可能会导致意外行为。