post 从外部 codeigniter 文件夹向 codeigniter 控制器输入数据

post input data to codeigniter controller from outside codeigniter folder

我遇到了问题。我在 cpanel 的 public_html 文件夹中有一个普通的 html 文件 (contact.html)。以及在 CodeIgniter 中开发的管理面板。现在我要做的是打印或接收来自 contact.html 文件的输入数据到 codeigniter 控制器。下面提到代码

contact.html

<html>
  <form name ="userinput" action="admin/index.php/contact/contact" method="post">
  <div class="row contact-form">
  <div class="col-lg-6">
  <input type="text" name="yourname" id="yourname" class="form-control" placeholder="Your Name">
   </div><!-- end col -->
  </div><!-- end row -->
 </form>

控制器:contact.php

<?php
class Contact extends CI_Controller
{
  function contact()
   {
   echo 'test';
   echo $yourname = $this->input->post('yourname');
   }
 }?>

现在我正在提交数据时'test'正在打印,但我无法获取文本框的post数据。 错误在下面提到。

遇到了一个PHP错误

严重性:通知

消息:未定义属性:联系人::$input

文件名:controllers/contact.php

行号:12

请帮助我如何获得它。

<?php
  class Contact extends CI_Controller
  {
    public function contact(){
    echo 'test';
    echo $yourname = $this->input->post('yourname');
    $this->load->view('index');  // put this file in application/views/index.php  ,also rename to .php
   }
  }
 ?>

尝试在您的控制器中创建函数。希望对您有所帮助!

你需要有索引函数或其他函数

文件名:Contact.php 文件名和 class 控制器和型号的首字母大写。

<?php

class Contact extends CI_Controller {

   public function index() {

   $yourname = $this->input->post('yourname');
   echo $yourname;

   // Since you had named the view file with a .html you need to add .html
   $this->load->view('contact.html');

   }

}

如果您将视图文件命名为 .php 而不是 .html

$this->load->view('contact');

我会自动加载 url helper on autoload.php and would look into form helper

可能是因为您的函数名称与 class 名称相同,所以它会将其视为构造函数。将函数重命名为其他名称,更新表单中的操作 link,然后重试。

最好尝试原生 PHP 获取价值的方式

echo $_POST['yourname'];

希望对您有所帮助