Php CodeIgniter控制器登录页及联系表单

Php CodeIgniter控制器登录页及联系表单,php,codeigniter,contact-form,Php,Codeigniter,Contact Form,大家好,我正在用codeigniter和bootstrap创建一个新项目 我已经配置了第一个页面,CI正在加载所有内容,但我的联系人表单有问题。 如果我尝试在没有codeigniter的情况下使用它,那么它工作得很好,所以我认为问题出在控制器上 这是我的代码:(这是视图)landing.php <div class="col-md-8 col-md-offset-2"> <form action="%3C?php%20echo%20site_url('landing/i

大家好,我正在用codeigniter和bootstrap创建一个新项目

我已经配置了第一个页面,CI正在加载所有内容,但我的联系人表单有问题。 如果我尝试在没有codeigniter的情况下使用它,那么它工作得很好,所以我认为问题出在控制器上

这是我的代码:(这是视图)landing.php

<div class="col-md-8 col-md-offset-2">
    <form action="%3C?php%20echo%20site_url('landing/index');%20?%3E" class=
    "wow bounceInUp" data-wow-delay="0.2s" data-wow-offset="10" id=
    "contact-form" method="post" name="contact-form" onsubmit=
    "return checkform();">
      <input name="act" type="hidden" value="act">

      <div class="row">
        <div class="col-md-6" style="margin-bottom:5px">
          <input class="form-control input-lg" id="name" name="name"
          placeholder="Name" required="required" type="text" value="name">
        </div>

        <div class="col-md-6" style="margin-bottom:5px">
          <input class="form-control input-lg" id="email" name="email"
          placeholder="E-mail" required="required" type="email" value="email">
        </div>
      </div>

      <div class="row">
        <div class="col-md-12" style="margin-bottom:5px">
          <div class="form-group">
            <input class="form-control input-lg" id="object" name="object"
            placeholder="Object" required="required" type="text" value=
            "object">
          </div>

          <div class="form-group" id="interested">
            <select class="form-control input-lg" id="contact-form" name=
            "interested">
              <option value="select">
                --Select--
              </option>

              <option id="info" value="info">
                Info
              </option>

              <option id="careers" value="careers">
                Careers
              </option>
            </select>
          </div>

          <div class="form-group" style="margin-bottom:5px">
            <textarea class="form-control" name="message" rows="3">
</textarea>
          </div><button class="btn btn-primary" style="width:100%;" type=
          "submit">Send</button>
        </div>
      </div>
    </form>
  </div>
这是我尝试发送邮件时显示的错误:

遇到错误

不允许您请求的操作

修正!代码还可以,但是我传入了错误的变量
$this->email->to($interest) 我以前也遇到过这个问题,这和CSRF的安全性有关

您应该使用表单帮助器,而不是硬编码表单

一旦加载了帮助器,表单标记将从此处更改

<form id="contact-form" class="wow bounceInUp" data-wow-offset="10" data-wow-delay="0.2s" method="POST" action="<?php echo site_url('landing/index'); ?>" onsubmit="return checkform();" />

编辑

<?php echo form_open('landing', 'id="contact-form" class="wow bounceInUp"  data-wow-offset="10" data-wow-delay="0.2s" onsubmit="return checkform();"'); ?>

在config.php文件中设置此配置:

$config['csrf_protection'] = FALSE;  

好的,我已经在控制器中添加了$this->load->helper('form');我已经用你的申报单代替了我的申报单。。但是现在联系人表单从视图中消失了!表格上有CSS吗?试试我刚刚发布的form_open函数的第二个版本,看看它是否有效…结果相同。。不要加载表单。。。我必须在CodeIgniter中的配置文件的其他部分加载一些东西??我尝试使用我的第一个配置,我从$config['index_page']=''中删除了“index.php”;(application/config/config.php)现在,当我发送邮件时,我遇到了一个问题:没有指定输入文件。我刚刚阅读了有关CSRF保护的内容。显然,加载表单验证库时效果更好。请将解决方案作为答案发布在下面,而不是问题中。然而,由于这个问题是由打字错误引起的,我认为你应该删除它。多谢各位。
<?php echo form_open('landing', 'id="contact-form" class="wow bounceInUp"  data-wow-offset="10" data-wow-delay="0.2s" onsubmit="return checkform();"'); ?>
$config['csrf_protection'] = FALSE;