【问题标题】:How to send post value to two separate functions如何将后值发送到两个单独的函数
【发布时间】:2018-08-02 16:20:15
【问题描述】:

我有一个表单和一个提交操作路由到BaseController/FirstFunction,但我需要将一些发送的值发布到SecondFunction。那么如何将 POST 值发送到其他函数。

就像这个例子:FirstFunction 有一个名为“$value”的输入值。我希望SecondFunction 使用这个“$value”。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class BaseController extends CI_Controller{

  public function __construct()
  {
    parent::__construct();
  }

    public function FirstFunction()
    {
      $value = "Test Value";
      /*Insert etc.*/
    }


    public function SecondFunction()
    {
      $insertData = [
        'product_id' => $value,
      ];
      /*Insert etc.*/
    }

}

【问题讨论】:

  • 你为什么不创建一个控制器来决定将发布请求发送到哪个函数?
  • 另外,你没有理由不能从另一个控制器调用一个控制器。例如,在 FirstFunction() 中,您可以调用 SecondFunction()
  • 例如,函数之间如何只发送一个值?
  • 我不确定你在问什么。你有一个函数,你想把什么发送到什么函数?假设您有一个调用第一个函数的请求。您需要在第二个功能中做什么?在我看来,您需要第三个函数,第一个和第二个函数都可以调用它来完成一些工作
  • 我只想将一个值从一个函数发送到另一个函数。例如,如果我在第一个函数 $value = "Test Value" 中有一个值,我想在第二个函数中使用这个值。

标签: php codeigniter oop


【解决方案1】:

将表单操作更改为控制器/通用函数,您将在函数 FirstFunction() 和 SecondFunction() 中获取表单数据。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class BaseController extends CI_Controller{

  public function __construct()
  {
    parent::__construct();
  }

public function common(){
    $this->FirstFunction();
    $this->SecondFunction();

}

    public function FirstFunction()
    {
      echo '<pre>'; print_r($_POST);
    }


    public function SecondFunction()
    {
      echo '<pre>'; print_r($_POST);  
    }
}

【讨论】:

    【解决方案2】:

    不,您不能将帖子值发送到多个函数。相反,您可以这样做:

    <?php
     defined('BASEPATH') OR exit('No direct script access allowed');
    
     class BaseController extends CI_Controller{
    
        public function __construct()
        {
         parent::__construct();
        }
    
    public function FirstFunction()
    {
      $value = "Test Value";
    
      $this->SecondFunction($value);
      /*Insert etc.*/
    }
    
    
    public function SecondFunction($value)
    {
      $insertData = [
        'product_id' => $value,
      ];
      /*Insert etc.*/
    }
    
    }
    

    您可以参考this blogthis

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-25
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 1970-01-01
      相关资源
      最近更新 更多