繁体   English   中英

为什么我的post方法在Laravel中不起作用?

[英]Why my post method doesn't work in Laravel?

我在Laravel中创建了一个表单,用于将注册数据提交到数据库。 在其他有效的视图中,我与其他形式所做的相同。 检查了拼写错误,但是当我按提交按钮时,什么都没有发生。

“ registrations / create.blade.php”中表单的HTML

<form method="POST" action="{{route('registrations.store')}}"></form>
<div class="container">
    <p>Prašome užpildyti visus laukus.</p>
    <hr>
    @csrf

    <label for="vardas"><b>Vardas</b></label>
    <input type="text" placeholder="Įveskite savo vardą" name="vardas" required>

    <label for="pavarde"><b>Pavardė</b></label>
    <input type="text" placeholder="Įveskite savo pavardę" name="pavarde" required>

    <label for="el_pastas"><b>El. paštas</b></label>
    <input type="text" placeholder="Įveskite savo el. paštą" name="el_pastas" required>

    <label for="tel_nr"><b>Telefono nr.</b></label>
    <input type="text" placeholder="Įveskite savo telefono nr." name="tel_nr" required>

    <b>Pasirinkite norimą gitaros mokytoją</b><br><br>
    <input type="radio" name="mokytojas_id" value="1"> Petras Petrauskas<br>
    <input type="radio" name="mokytojas_id" value="2"> Andrius Rimiškis<br>
    <input type="radio" name="mokytojas_id" value="3"> Virgis Stakėnas<br>
    <hr>
    <button type="submit" class="registerbtn"><b>Registruotis</b></button>
</div>
</form>

'routes.web.php'

Route::get('/', 'PagesController@index');

Route::get('/contacts', 'PagesController@contacts');

Route::get('/form', 'PagesController@form');

Route::get('/guitarists', 'PagesController@guitarists');

Route::get('/news', 'PagesController@news');

Route::resource('questions', 'QuestionsController');

Route::resource('registrations', 'RegistrationsController');

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

Route::get('/admin', 'AdminController@dashboard');

Route::resource('guitarists', 'MokytojaiController');

模型

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Registration extends Model
{
    protected $fillable = ['vardas', 'pavarde', 'el_pastas', 'tel_nr', 'mokytojas_id'];
}

控制者

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Registration;
class RegistrationsController extends Controller
{
/**
 * Display a listing of the resource.
 *
 * @return \Illuminate\Http\Response
 */
public function index()
{
    //$questions = DB::select('SELECT * FROM questions');
    //$questions = Question::orderBy('id','desc')->take(1)->get();
    //$questions = Question::orderBy('id','desc')->get();

    $registrations = Registration::orderBy('id','desc')->paginate(10);
    return view ('registrations.index')->with('registrations', $registrations);
}

/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    return view('registrations.create');
}

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{

    $request->validate([
        'vardas'    =>  'required',
        'pavarde'    =>  'required',
        'el_pastas'    =>  'required',
        'tel_nr'    =>  'required',
        'mokytojas_id'    =>  'required'
    ]);
    $post = $request->all();

    Registration::create($post);

    return redirect('/registrations/create')->with('status', 'Registracija atlikta!');
}

您的表单标签将立即关闭。

<form method="POST" action="{{route('registrations.store')}}"></form>

当您在此处发布时是这种类型,还是最有可能的问题 Button没做任何事情,因为它不在form标记内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM