在 PHP,Codeigniter 中提交带有空字段的表单时出现一些错误

Posted

技术标签:

【中文标题】在 PHP,Codeigniter 中提交带有空字段的表单时出现一些错误【英文标题】:Some error while submit form with empty field in PHP , Codeigniter 【发布时间】:2021-11-07 12:57:07 【问题描述】:

我正在使用 Codeigniter 框架。

我的问题是:-

当我提交预订表格时,如果表格字段为空,它会显示503 service unavailable page

如果所有表单字段都有值,则表单完全提交成功。

【问题讨论】:

请通过if else检查表格是否已填写数据。 @KUMAR 当我删除 If 语句时它起作用了。但是该 If 语句用于服务器端验证。有没有其他方法可以避免这种情况? 使用form_validation @KUMAR 是的,我正在使用 Codeigniter form_validation 加载 $this->load->library('form_validation');在你的功能中??? 【参考方案1】:

以下是一些额外的提示,可帮助您解决可能导致 503 Service Unavailable 出现在服务器端的问题:

    重启服务器 检查意外维护 服务器连接问题 防火墙配置不当 检查日志 应用程序代码或脚本错误

更多信息请关注这些网站。

    https://airbrake.io/blog/http-errors/503-service-unavailable https://askphpquestions.com/2020/11/30/getting-503-service-unavailable-on-codeigniter-in-apache-server/

我将发送有关表单处理的适当解决方案。如果可能,请分享代码 sn-p。

【讨论】:

【参考方案2】:

您可以通过各种方式做到这一点:-

(1)表单验证

您需要为输入字段设置规则

$this->form_validation->set_rules('username', 'Username', 'required');
if ($this->form_validation->run() == FALSE)
  
    //run your code on success here
  
else
  
    //run your code on failure here
  

(2)由if else语句条件。

 if ($_POST) 
        $data = array(
            'category' => $this->input->post('category'),
            'name' => $this->input->post('name'),
            'description' => $this->input->post('description'),
           );
        $this->model_name->method_name($data);
        redirect(base_url().'Controller/method/');
     else 
     redirect(base_url().'Controller/method');
         

【讨论】:

我已经完成了这个服务器端验证。并非所有字段仅适用于必填字段。当我删除这个 if 语句时,一切正常

以上是关于在 PHP,Codeigniter 中提交带有空字段的表单时出现一些错误的主要内容,如果未能解决你的问题,请参考以下文章

CodeIgniter:提交无效表单后如何保留值?

无法在数据库 PHP、Codeigniter 中搜索现有值

无法在 codeigniter 中提交数据

Codeigniter 4 不适用于带有 PHP 8.0 的 xampp

使用 PHP 和 codeigniter 显示带有 foreach 函数的固定表

带有 Wiredesignz HMVC 路由的 CodeIgniter