【发布时间】:2019-12-31 19:52:42
【问题描述】:
我在web.php 中有以下路线,前五条路线运行良好,但从contacts 到aboutroutes` 失败,但出现以下异常:
Illuminate\Contracts\Encryption\DecryptException 负载无效。
Route::get('services', 'PageController@services')->name('services');
Route::get('/service/{id}', 'PageController@showService')->name('service');
Route::get('/blogs', 'PageController@showBlogs')->name('blogs');
Route::get('/{blog}', 'PageController@showPost')->name('post.show');
Route::post('/comment/{blog}/store', 'PageController@storeComment')->name('comment.store');
Route::get('/contacts', 'PageController@contacts')->name('contacts');
Route::post('/contact/store', 'PageController@storeContact')->name('contact.store');
Route::get('/courses', 'PageController@showCourses')->name('courses');
Route::get('/{course}', 'PageController@categoryCourses')->name('course.category');
Route::get('coursesdetail', 'PageController@showCoursesDetail')->name('coursesdetail');
Route::get('resource', 'PageController@showResource')->name('resource');
Route::get('about', 'PageController@showAbout')->name('about');
PageController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Crypt;
use App\About;
use App\Team;
use App\Service;
use App\Post;
use App\Category;
use App\Tag;
use App\Slider;
use App\Contact;
use App\Client;
use App\Comment;
use App\Course;
use App\Coursecategory;
class PageController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$about = About::all();
$teams = Team::all();
$services = Service::all();
$posts = Post::orderBy('created_at', 'desc')->take(3)->get();
$sliders = Slider::all();
$clients = Client::all();
return view('index')->with('about', $about)
->with('teams', $teams)
->with('services', $services)
->with('posts', $posts)
->with('sliders', $sliders)
->with('clients', $clients);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
public function services()
{
$services = Service::all();
return view('service')->with('services', $services);
}
public function showService($id)
{
$id = Crypt::decrypt($id);
$service = Service::find($id);
$services = Service::all();
return view('service')->with('service', $service)->with('services', $services);
}
public function showBlogs()
{
// $posts = Post::orderBy('created_at', 'desc')->take(5)->get();
// $recents = Post::orderBy('created_at', 'desc')->take(5)->get();
$posts = Post::orderBy('created_at', 'desc')->paginate(4);
$recents = Post::orderBy('created_at', 'desc')->take(4)->get();
// $posts = Post::all();
$tags = Tag::all();
$categories = Category::all();
return view('blogs')->with('tags', $tags)
->with('categories', $categories)
->with('posts', $posts)
->with('recents', $recents);
}
public function showPost(Request $request, $id)
{
$id = Crypt::decrypt($id);
$posts = [Post::find($id)];
$recents = Post::orderBy('created_at', 'desc')->take(4)->get();
$tags = Tag::all();
$categories = Category::all();
// $next_id = Post::where('id', '>', $id)->min('id');
// $prev_id = Post::where('id', '<', $id)->max('id');
// dd($posts);
return view('post')->with('posts', $posts)
->with('recents', $recents)
->with('tags', $tags)
->with('categories', $categories);
// ->with('next', Post::find($next_id))
// ->with('prev', Post::find($prev_id));
}
public function storeComment(Request $request, $post)
{
request()->validate([
'name' => 'required',
'email' => 'required|email',
'phone' => 'required',
]);
$contact = Comment::create([
'post_id' => $post,
'user_id' => Auth::id(),
'name' => $request->name,
'email' => $request->email,
'phone' => $request->phone,
'comment' => $request->comments,
]);
session()->flash('success', 'Comment successfully submitted');
return redirect()->back();
}
public function contacts()
{
return view('contact');
}
public function storeContact(Request $request)
{
request()->validate([
'name' => 'required',
'email' => 'required|email',
'phone' => 'required',
]);
$contact = Contact::create([
'name' => $request->name,
'email' => $request->email,
'phone' => $request->phone,
'comment' => $request->comments,
]);
session()->flash('success', 'Contact information successfully submitted');
return redirect()->route('contact');
}
public function showCourses()
{
$categories = Coursecategory::all();
$courses = Course::orderBy('created_at', 'desc')->paginate(4);
return view('courses')->with('courses', $courses)
->with('categories', $categories);
}
public function categoryCourses($id)
{
$id = Crypt::decrypt($id);
$course = Coursecategory::where('id', $id)->first()->courses;
$categories = Coursecategory::all();
return view('coursewithcategory')->with('course', $course)
->with('categories', $categories);
}
public function showCoursesDetail()
{
return view('coursesdetail');
}
public function showResource()
{
return view('resource');
}
public function showAbout()
{
$about = About::all();
return view('about')->with('about', $about);
}
}
【问题讨论】:
-
请您添加您的
PageController代码。 -
我添加了我的 PageController .php 。
-
尝试运行
php artisan route:list -
您需要检查您传递给
decrypt($id)方法的值。$id正确吗? -
我运行了这个命令,这里所有的路线都完美显示了,但问题仍然没有解决。