php - 如何将输入字段的 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:这是一种打击联系形式垃圾邮件的方法。
解决方案
$this->form_validation->set_rules('phone', $this->language->get_text('phone', 'global'), 'max_length[0]|numeric');
如果不是数字,则表单验证失败。我看不出服务 400 的逻辑。
更新
在更好地理解你的推理之后,你可以简单地这样做:
if (!empty($this->input->post('phone'))) {
show_404(); // sets header + exits
}
您甚至可以使用show_404()
(CI 函数)作为记录错误的一种方式:show_404('bot detected', true);
.
推荐阅读
- c++ - System.Runtime.InteropServices.SEHException 与最新的 Crystal Report Runtime SP27
- java - 更快地遍历地图并匹配键中的模式
- delphi - 如何在 DrawAllPoints:= false 时绘制每个像素、巨大 TeeChart FastLine 系列的最小值和最大值?
- c# - C#如何获取两个字符之间的字符串?升C
- sql - 如何在 CASE 语句中创建多个可能重叠的条件并使用 GROUP BY
- android - 是否可以加载非 AutoML 训练的 tflite 模型以在 Android 上与 FirebaseAutoMLLocalModel 一起使用?
- html - 启用 GPU 加速的 div 滚动
- sql-server - 我可以更改 SSMS 中的“执行程序”弹出窗口吗?
- python - 在 postgres/python 中转义单引号
- javascript - 角度js中的摄氏到华氏