Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用Laravel将表单数据从一个视图提交到另一个视图_Php_Laravel - Fatal编程技术网

Php 如何使用Laravel将表单数据从一个视图提交到另一个视图

Php 如何使用Laravel将表单数据从一个视图提交到另一个视图,php,laravel,Php,Laravel,我对Laravel是个新手,我正试图弄清楚如何从一个视图向另一个视图提交数据。我试着在这里阅读一些其他类似的问题,并观看一些视频,但我仍然无法得到它。基本上我有3个提交按钮,传递的数据来自一个表单。我在我的控制器中设置了一个新路由和一个函数,但是我得到了一个错误:App\Http\Controllers\PagesController::CallAction()的声明应该与light\Routing\controller::CallAction($method,$parameters)兼容。然而

我对Laravel是个新手,我正试图弄清楚如何从一个视图向另一个视图提交数据。我试着在这里阅读一些其他类似的问题,并观看一些视频,但我仍然无法得到它。基本上我有3个提交按钮,传递的数据来自一个表单。我在我的控制器中设置了一个新路由和一个函数,但是我得到了一个错误:
App\Http\Controllers\PagesController::CallAction()的声明应该与light\Routing\controller::CallAction($method,$parameters)
兼容。然而,我认为我遵循的是正确的格式

这是我的web.php:

Route::group(['middleware' => ['auth']], function() {
  // CallCenter page
 public function CallCenter() {
    return view('Pages.CallCenter');
 }

 Route::post(
  '/CallAction/', 'PagesController@CallAction'
 );

});

Auth::routes();
我的页面控制器:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PagesController extends Controller
{

    // CallCenter page
    public function CallCenter() {
        return view('Pages.CallCenter');
    }
    // CallAction page
    public function CallAction() {
      return view('Pages.CallAction');
    }

}
以及来自:

 <form action="/CallAction" method="post">
        @csrf
            <table style="width:70%">
                <tr>
                    <td width="33%">Date<BR>
                        <?php
                            date_default_timezone_set('America/Chicago');
                            echo date('m/d/y');
                        ?>
                    </td>
                    <td width="33%">Time<BR>
                        <?php
                            date_default_timezone_set('America/Chicago');
                            echo date('h:i');
                        ?>
                    </td>
                    <td width="33%">Campus<BR>
                        <select name="campus">
                            <option disabled selected value>-- Campus --</option>
                            <option value="XXX1"></option>
                            <option value="XXX2"></option>
                            <option value="XXX3"></option>
                            <option value="XXX4"></option>
                            <option value="XXX5"></option>
                        </select>
                    </td>
                </tr>
                <tr>
                    <td width="33%">Extension<BR>
                        <input name="extension" type="text" size="15">
                    </td>
                    <td width="33%">Name<BR>
                        <input name="customerName" type="text" size="40">
                    </td>
                    <td width="33%">Email<BR>
                        <input name="customerEmail" type="text" size="50">
                    </td>
                </tr>
                <tr>
                    <td colspan="3">Description<BR>
                        <textarea name="description" rows="2" cols="125"></textarea>
                    </td>
                </tr>
                <tr>
                    <td width="33%"><input type="submit" name="convert" value="Convert to Ticket"></td>
                    <td width="33%"><input type="submit" name="close" value="Close Issue"></td>
                    <td width="33%"><input type="submit" name="hold" value="Put Issue on Hold"></td>
            </table>
    </form>

@csrf
日期
时间
校园
--校园-- 分机
名称
电子邮件
说明

问题:

问题是您的控制器正在扩展
App\Http\Controllers\Controller
,这反过来又将抽象类
illighte\Routing\Controller扩展为BaseController
。此
BaseController
已经有一个名为
callAction()的方法定义如下:

public function callAction($method, $parameters)
{
    return call_user_func_array([$this, $method], $parameters);
}
因此,如果希望在控制器中有一个名为
callAction()
的方法,则需要提供相同的接口并接受
$method
$parameters
数组

解决方案:

快速解决方案是将控制器方法
CallAction()
重命名为与父类上的方法名称不冲突的名称。。。可能
CallMyAction()
然后更新路由文件以匹配新名称


所以你做的一切都很好,你只是选择了一个已经在框架中其他地方定义的方法名称。

你使用的是哪一版本的Laravel?最新版本5.7它总是很小的东西哈哈。我吓坏了,非常感谢你