我可以在 CodeIgniter Controller 中编写单一方法来处理 GET 和 POST 登录表单吗?
Can i write single method in CodeIgniter Controller to handle both GET and POST login form?
在 Web 应用程序中,我们使用 POST,在 IPAD 中,我们使用 GET 来提交表单详细信息。但是我在我的 CodeIgniter 控制器中写了 GET 和 POST 方法。但这不好,因为我在 Cotroller 中两次维护相同的代码?
当前代码:
class LoginHandle extends REST_Controller
{
public function authenticate_post()
{}
public function authenticate_post()
{}
}
Is is possible some thing like following?
class LoginHandle extends REST_Controller<br>
{
public function authenticate_get_post()
{}
}
如我所料,没有太多要检查的表单项 - 您可以像这样使用(假设 PHP7+)??
运算符:
$username = $_POST['User'] ?? $_GET['User'];
$password = $_POST['Pass'] ?? $_GET['Pass'];
对于 PHP < 7 你可以使用 ...
$username = !empty($_POST['User']) ? $_POST['User'] : !empty($_GET['User']) ? $_GET['User'] : null;
$password = !empty($_POST['Pass']) ? $_POST['Pass'] : !empty($_GET['Pass']) ? $_GET['Pass'] : null;
请参阅:https://www.codeigniter.com/user_guide/libraries/input.html#CI_Input::post_get
$this->input->post_get('key')
在 Web 应用程序中,我们使用 POST,在 IPAD 中,我们使用 GET 来提交表单详细信息。但是我在我的 CodeIgniter 控制器中写了 GET 和 POST 方法。但这不好,因为我在 Cotroller 中两次维护相同的代码? 当前代码:
class LoginHandle extends REST_Controller
{
public function authenticate_post()
{}
public function authenticate_post()
{}
}
Is is possible some thing like following?
class LoginHandle extends REST_Controller<br>
{
public function authenticate_get_post()
{}
}
如我所料,没有太多要检查的表单项 - 您可以像这样使用(假设 PHP7+)??
运算符:
$username = $_POST['User'] ?? $_GET['User'];
$password = $_POST['Pass'] ?? $_GET['Pass'];
对于 PHP < 7 你可以使用 ...
$username = !empty($_POST['User']) ? $_POST['User'] : !empty($_GET['User']) ? $_GET['User'] : null;
$password = !empty($_POST['Pass']) ? $_POST['Pass'] : !empty($_GET['Pass']) ? $_GET['Pass'] : null;
请参阅:https://www.codeigniter.com/user_guide/libraries/input.html#CI_Input::post_get
$this->input->post_get('key')