亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 注冊 - 表單數據未轉換為數據庫

Laravel 注冊 - 表單數據未轉換為數據庫

PHP
qq_花開花謝_0 2022-12-03 10:54:57
在一個新項目上工作,我使用了 laravel auth 腳手架,但我編輯了登錄、注冊等視圖,布局以尋找美觀。這樣做時,提交的表單似乎可以正常工作,但是刷新數據庫時不會發送任何記錄。不知道我在這里錯過了什么。我將在下面包含代碼。希望你能給我指明正確的方向。HTML@extends('layouts.app')@section('content')<div class="flex items-center justify-center bg-gray-50 py-12 px-4 sm:px-6 lg:px-8">    <div class="max-w-md w-full">        <div>            <h2 class="mt-6 text-center text-3xl leading-9 font-extrabold text-gray-900">              Register            </h2>          </div>          <form class="mt-8" action="/register" method="POST">            @csrf            <input type="hidden" name="remember" value="true" />            <div class="rounded-md shadow-sm">              <div>                <input aria-label="Name" name="name" type='text' required class="appearance-none rounded-none relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 rounded-t-md focus:outline-none focus:shadow-outline-blue focus:border-blue-300 focus:z-10 sm:text-sm sm:leading-5" placeholder="Full Name" />                  </div>                  <div class="-mt-px">                <input aria-label="Email address" name="email" type="email" required class="appearance-none rounded-none relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 rounded-t-md focus:outline-none focus:shadow-outline-blue focus:border-blue-300 focus:z-10 sm:text-sm sm:leading-5" placeholder="Email address" />              </div>
查看完整描述

2 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

當表單從瀏覽器發送到您的服務器時,沒有為它到達而定義的POST路由,但表單使用了該路由。嘗試以下更改。/registerroutes/web.phpPOST


HTML:


<form class="mt-8" action="/register/create" method="POST">

網站.php


Route::post('/register/create', 'Auth\RegisterController@create')->name('register');

其次,Register控制器的create()方法不是Request從路由接收對象,而是一個未指定的名為 的數組$data。


將此添加到use控制器頂部的語句中


use Illuminate\Http\Request;

然后像下面這樣改變create(array $data)方法,所以它注入Request對象$request而不是array $data. 最后,您應該使用框架并調用實例all()上的方法來在數據庫中創建記錄。$request


    /**

     * Create a new user instance after a valid registration.

     *

     * @param  Request $request

     * @return \App\User

     */

    protected function create(Request $request)

    {

        return User::create($request->all());

    }


查看完整回答
反對 回復 2022-12-03
?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

也許您沒有將模型存儲在數據庫中。嘗試dump and die -> dd()一步一步地在您的create()方法中獲取數據,以了解您是否正在從視圖中接收數據。就像是:


protected function create(array $data)

{

    // first if the $data is not empty

    dd($data);


    // then if the user is created

    $user = User::create([

        'name' => $data['name'],

        'email' => $data['email'],

        'password' => Hash::make($data['password']),

    ]);

    dd($user);


    return $user;

}

如果數組不為空但 $user 為空,則問題可能來自數據庫,這意味著您沒有成功連接到數據庫。


.env使用數據庫連接值修改您的文件。


查看完整回答
反對 回復 2022-12-03
  • 2 回答
  • 0 關注
  • 119 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號