【问题标题】:using form input value in form action, Laravel 5.4在表单操作中使用表单输入值,Laravel 5.4
【发布时间】:2017-07-01 17:42:20
【问题描述】:

我编写了一些代码来在用户访问 url 时从数据库中检索一些数据。 例如,当有人访问这个时:

http://localhost:8000/home/foo

他会看到类似:

foome
fooyou
foohim
fooher

现在,我想配置它并在我的 home.blade.php 页面中创建一个 html 表单。
当有人以这个简单的表单输入查询时,他应该被重定向到一个 url,就像上面一样。 例如,假设他在这个表单中输入了“foo1”。他应该去:

http://localhost:8000/home/foo1

并查看与上面相同的值:

foo1me
foo1you
foo1him
foo1her

所以,我在我的控制器中使用了它:

    class DomainGeneratorController extends Controller
{
    public function keywordreturn()
    {
        return  view('home');
    }
    public function userkeyword(Request $inputtedkeyword, $id)
    {
        $blog = DB::table('keywords')->pluck('blog');
        $hosting = DB::table('keywords')->pluck('hosting');
        return view('home', ['inputtedkeyword' => $id, 'category' => $blog]);
    }
}

这是我的路线:

Route::get('/', 'DomainGeneratorController@keywordreturn');

Route::auth();

Route::get('/home', 'DomainGeneratorController@keywordreturn');
Route::resource('home/{id}', 'DomainGeneratorController@userkeyword');

最后,这里是 home.blade.php :

<div class="panel-body">
    @if(isset($category))
        <table>
            <tbody>
            <tr>
                <td>Keyword</td>
                <td>.COM</td>
                <td>.NET</td>
                <td>.ORG</td>
            </tr>
            @foreach( $category as $item )
                <tr>
                    <td>{{ $inputtedkeyword }}{{ $item }}</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                </tr>
                <tr>
                    <td>{{ $item }}{{ $inputtedkeyword }}</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                </tr>
            @endforeach
            </tbody>
        </table>
    @else
        <p>Enter your own keyword</p>

        <form method="POST" id="domaininput"
              action="{{ action('DomainGeneratorController@userkeyword', $id = Request::get("find")) }}">
            <div id="check" class="input-group margin-bottom-sm">
                <input class="form-control" type="text" name="find" placeholder="Search">
                <button type="submit">
                    <div id="search" class="input-group-addon">
                        <i class="fa fa-search"></i>
                    </div>
                </button>
            </div>
        </form>
    @endif
</div>

我哪里做错了?请帮我。谢谢。

【问题讨论】:

  • 有什么问题?

标签: php forms laravel laravel-5 frameworks


【解决方案1】:

需要做出一些改变

  1. 使用路由

     Route::post('home', 'DomainGeneratorController@userkeyword');
    
  2. 完全相反,这里也改一下

     <form method="POST" id="domaininput"
          action="/home">
    
  3. 获取帖子价值

     return view('home', ['inputtedkeyword' => $inputtedkeyword->find, 'category' => $blog]);
    

【讨论】:

  • 您遇到什么错误?什么没有按预期工作?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
  • 1970-01-01
  • 2013-05-26
  • 1970-01-01
  • 2017-06-10
  • 2020-03-29
  • 2011-09-07
相关资源
最近更新 更多