Create Blog using Laravel 5.3 - Next Lessons about How to create blog apps using Laravel 5 Insert Data, Validation, Redirect Page and Flash Message, to continue the previews lessons, we will make new function to create/insert new data into database and create the form validation, after all data hasbeen saved, we will create redirect page to home page and displaying the message.
At the previews lessons, we has create database and connect it form laravel project, than we have configuration Restful Controllers and Routing System in our project, and make an Model Eloquent & Displaying Data from Databaseif you still confused, just read Model Eloquent & Displaying Data from Database.
Insert Data, Validation, Redirect Page and Flash Message
Add two function in our controller (BlogController.php) to show form insert data and will be proccess data into database
BlogController.php
public function create()
{
// we will return to our new views
return view('blog.create');
}
/**
* Store a newly created resource in storage.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpResponse
*/
public function store(Request $request)
{
// we will create validation function here
$this->validate($request,[
'title'=> 'required',
'description' => 'required',
]);
$blog = new Blog;
$blog->title = $request->title;
$blog->description = $request->description;
// save all data
$blog->save();
//redirect page after save data
return redirect('blog')->with('message','data hasbeen updated!');
}
Next, create new page for our Form insert data page (create.blade.php) will stored on resources\views\blog\create.blade.php
create.blade.php
<!-- @if (count($errors) > 0)
<ul>
@foreach ($errors->all() as $error )
<li>{{ $error }}</li>
@endforeach
</ul>
@endif -->
<h2>Add new post</h2>
<form class="" action="/blog" method="post">
<input type="text" name="title" value="" placeholder="this is title"><br>
{{ ($errors->has('title')) ? $errors->first('title') : '' }} <br>
<textarea name="description" rows="8" cols="40" placeholder="this is description"></textarea><br>
{{ ($errors->has('description')) ? $errors->first('description') : '' }} <br>
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="submit" name="name" value="post">
</form>
next, in the index page (index.blade.php) add new session to get the message session after form create hasbeen redirect to index page.
index.blade.php
{{ Session::get('message') }}
<h1>My First Blog</h1>
@foreach ($blogs as $blog)
<h2>{{ $blog->title }}</h2>
<p>{{ $blog->description }}</p>
<hr>
@endforeach
Video tutorial Insert Data, Validation, Redirect Page and Flash Message
See you next Lessons .....
Không có nhận xét nào:
Đăng nhận xét