簡體   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