首页 > 解决方案 > 如何将输入字段的 IF 条件放入联系表单(PHP,CODEIGNITER)

问题描述

PHP 控制器:

$this->form_validation->set_rules('phone', $this->language->get_text('phone', 'global'), 'max_length[0]');

我需要为上面的行代码设置一个 IF 条件来返回:

if (The_Above_Line_Code is NOT empty)
{
$this->output->set_status_header(400);
exit;
}

因此,如果输入字段不包含字符,则可以,并且联系表单可以正常工作,但如果包含字符,则应返回空白页 (set_status_header(400))。

PS:这是一种打击联系形式垃圾邮件的方法。

标签: phpcodeigniter

解决方案


$this->form_validation->set_rules('phone', $this->language->get_text('phone', 'global'), 'max_length[0]|numeric');

如果不是数字,则表单验证失败。我看不出服务 400 的逻辑。

https://www.codeigniter.com/userguide3/libraries/form_validation.html?highlight=form%20validate#rule-reference


更新

在更好地理解你的推理之后,你可以简单地这样做:

if (!empty($this->input->post('phone'))) {
    show_404(); // sets header + exits
}

您甚至可以使用show_404()(CI 函数)作为记录错误的一种方式:show_404('bot detected', true);.


推荐阅读