How can I insert data into Database Laravel?
Solution 1
The error MethodNotAllowedHttpException means the route exists, but the HTTP method (GET) is wrong. You have to change it to POST:
Route::post('test/register', array('uses'=>'TestController@create'));
Also, you need to hash your passwords:
public function create()
{
$user = new User;
$user->username = Input::get('username');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user->save();
return Redirect::back();
}
And I removed the line:
$user= Input::all();
Because in the next command you replace its contents with
$user = new User;
To debug your Input, you can, in the first line of your controller:
dd( Input::all() );
It will display all fields in the input.
Solution 2
make sure you use the POST to insert the data. Actually you were using GET.
MD. Atiqur Rahman
I am enthusiastic, reliable, fast learner and hardworking individual who has over 4 years of experience working with wordpress, woocommerce, shopify, magento, prestashop, bigcommerce and any kinds of php/Laravel web app.
Updated on March 03, 2020Comments
-
MD. Atiqur Rahman about 4 years
I'm new to programming. I have created a basic form inside views/register.blade.php like this
@section('content') <h1>Registration Form</h1><hr> <h3>Please insert the informations bellow:</h3> {{Form::open(array('url'=>'test/register','method'=>'post'))}} <input type="text" name="username" placeholder="username"><br><br> <input type="text" name="email" placeholder="email"><br><br> <input type="password" placeholder="password"><br><br> <input type="submit" value="REGISTER NOW!"> {{Form::close()}}@stop
I have a controller. like this
public function create() { $user= Input::all(); $user = new User; $user->username = Input::get('username'); $user->email = Input::get('email'); $user->password = Input::get('password'); $user->save(); return Redirect::back(); }
Here is my route:
Route::get('test/register', array('uses'=>'TestController@create'))
I can not register users through the form. Would you please suggest me how to do that?
-
MD. Atiqur Rahman over 9 yearsI have done this. Still it has an error. The error is : SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'password' cannot be null (SQL: insert into
users
(username
,email
,password
,updated_at
,created_at
) values (sss, [email protected], , 2014-09-26 19:43:23, 2014-09-26 19:43:23)) -
Antonio Carlos Ribeiro over 9 yearsNow you have a different problem, your password field is empty!
-
MD. Atiqur Rahman over 9 yearsYes. But I inserted my password. Why does it show empty?
-
MD. Atiqur Rahman over 9 yearsAlright. It works. I am familiar with core php. I did basic authentication, so I tried not to Hash the password at all. Thanks for the solution. I owe you . :)
-
Antonio Carlos Ribeiro over 9 yearsNice. No problem, mate.
-
Asif Shahzad over 7 yearsFrom creating new migration to creating form and then inserting record in database, with sample code and output devtrainings.com/2016/05/…