Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Тема закрыта
Всем здравствуйте, уважаемые форумчане!!!
Очень хочу обратиться к вам со следующей проблемой:
Относительно недавно начал изучать WEB-программирование (примерно с августа 2018 г.), в процессе чего случайно нашёл на каком-то сайте "beonmax.com/ru/" платные курсы по WEB-программированию от некоего "знатока" Сергея Никонова.
Здесь можно долго вдаваться в подробности что из себя представляют эти курсы (создание проекта "Киномонстр" (некоего подобия сайта "kinopoisk.ru") сначала в классическом виде (без использования фреймворков и прочих вспомогательных средств), затем с использованием фреймворка "Bootstrap", затем он создаёт БД "MySQL", подключает к нему свой проект....... и т.д... ).
Наконец автор доходит до "оживления" своего сайта с помощью PHP-фреймворка "CodeIgniter"! Слушал я его внимательно, слушал (повторяя всё за ним, естественно)... РАЗ не получилось всё то, что получилось у него, ДВА не получилось, а я стал интересоваться в чём дело и выяснил, что данный PHP-фреймворк-то, оказывается, бестолковый. Посоветовали мне, в общем, "Laravel".
На видеохостинге "Youtube.com" я нашёл видеоуроки по "laravel" (ссылка: "https://www.youtube.com/watch?v=oZGOnN7 … WHE-KCoNnE") от некоего очередного знатока (здесь это слово пишу без кавычек, так как последний меня пока не разочаровал).
Его методику я применил к своему "сырому" проекту и вот что у меня получилось:
Содержимое файла "web.php":
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
/* Route::get('/', function () {
return view('welcome');
}); */
Route::get('main_page.blade.php', 'IndexController@main_page')->name('main_page');
Route::get('films.blade.php', 'IndexController@films')->name('filmsShow');
Route::get('film/{id}', 'IndexController@film')->name('filmShow');
Route::get('serials.blade.php', 'IndexController@serials')->name('serialsShow');
Route::get('serial/{id}', 'IndexController@serial')->name('serialShow');
Route::get('films_rating.blade.php', 'IndexController@films_rating')->name('films_rating');
Route::get('serials_rating.blade.php', 'IndexController@serials_rating')->name('serials_rating');
Route::get('news.blade.php', 'IndexController@news')->name('news');
Route::get('news/{id}', 'IndexController@information')->name('informationShow');
Route::get('contacts.blade.php', 'IndexController@contacts')->name('contacts');
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Содержимое файла "IndexController.php":
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Movie;
use App\Information;
class IndexController extends Controller
{
public function main_page() {
$movies = Movie::all();
$news = Information::all();
return view('main_page')->with(['movies' => $movies, 'news' => $news]);
}
public function films() {
$movies = Movie::all();
$news = Information::all();
return view('films-content')->with(['movies' => $movies, 'news' => $news]);
}
public function film($id) {
$movies = Movie::all();
$movie = Movie::all()->where('id', $id)->first();
$news = Information::all();
return view('film-content')->with(['movies' => $movies, 'movie' => $movie, 'news' => $news]);
}
public function serials() {
$movies = Movie::all();
$news = Information::all();
return view('serials-content')->with(['movies' => $movies, 'news' => $news]);
}
public function serial($id) {
$movies = Movie::all();
$movie = Movie::all()->where('id', $id)->first();
$news = Information::all();
return view('serial-content')->with(['movies' => $movies, 'movie' => $movie, 'news' => $news]);
}
public function films_rating() {
$movies = Movie::all();
$news = Information::all();
return view('films_rating-content')->with(['movies' => $movies, 'news' => $news]);
}
public function serials_rating() {
$movies = Movie::all();
$news = Information::all();
return view('serials_rating-content')->with(['movies' => $movies, 'news' => $news]);
}
public function news() {
$movies = Movie::all();
$news = Information::all();
return view('news-content')->with(['movies' => $movies, 'news' => $news]);
}
public function information($id) {
$movies = Movie::all();
$news = Information::all();
$information = Information::all()->where('id', $id)->first();
return view('information-content')->with(['movies' => $movies, 'news' => $news, 'information' => $information]);
}
public function contacts() {
$movies = Movie::all();
$news = Information::all();
return view('contacts-content')->with(['movies' => $movies, 'news' => $news]);
}
}
Содержимое файла "main_page.blade.php" (ГЛАВНОЙ СТРАНИЦЫ моего учебного проекта):
@extends('layouts.index')
@section('title')
<title>Киномонстер Bootstrap</title>
@endsection
@section('header')
<li class="active"> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
<li> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
<li> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
<li> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>
@endsection
@section('content')
<h2>Новые фильмы</h2>
<hr>
<div class="row">
@foreach($movies as $movie)
@if($movie->category_id == 1)
<div class="films_block col-lg-3 col-md-3 col-sm-3 col-xs-6">
<a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> <img src=" {{ $movie->poster }} " alt=" {{ $movie->name }} "> </a>
<div class="film_label"> {{ $movie->name }} </div>
</div>
@endif
@endforeach
</div>
<div class="margin-8"></div>
<h2>Новые сериалы</h2>
<hr>
<div class="row">
@foreach($movies as $movie)
@if($movie->category_id == 2)
<div class="films_block col-lg-3 col-md-3 col-sm-3 col-xs-6">
<a href=" {{ route('serialShow',['id'=>$movie->id]) }} " target="_blank"> <img src=" {{ $movie->poster }} " alt=" {{ $movie->name }} "> </a>
<div class="film_label"> {{ $movie->name }} </div>
</div>
@endif
@endforeach
</div>
@endsection
Содержимое файла "index.blade.php" (страницы, В КОТОРУЮ ВЫНЕСЕНЫ ЧАСТИ "HEADER", "БОКОВАЯ ПАНЕЛЬ" и "FOOTER" моего учебного проекта) ( строку " {!! csrf_field() !!} " я сам добавил):
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
@yield('title')
<link rel="shortcut icon" href=" {{ asset('img/favicon.ico') }} ">
<!-- Bootstrap -->
<link rel="stylesheet" href=" {{ asset('css/bootstrap.min.css') }} ">
<link rel="stylesheet" href=" {{ asset('css/style.css') }} ">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container-fluid">
<div class="row">
<nav role="navigation" class="navbar navbar-inverse">
<div class="container">
<div class="navbar-header header">
<div class="container">
<div class="row">
<div class="col-lg-12">
<h1><a href=" {{ route('main_page') }} " target="_blank">КиноМонстр</a></h1>
<p>Кино - наша страсть!</p>
</div>
</div>
</div>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbarCollapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse navbar-right" id="navbarCollapse">
<ul class="nav nav-pills">
@yield('header')
</ul>
</div>
</div>
</nav>
</div>
</div>
@yield('films')
<div class="wrapper">
<div class="container">
<div class="row">
<div class="col-lg-9 col-lg-push-3">
<form action="#" role="search" class="visible-xs">
<div class="form-group">
<div class="input-group">
<input type="search" class="form-control input-lg" placeholder="Ваш запрос">
<div class="input-group-btn">
<button type="submit" class="btn btn-default btn-lg"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</div>
</form>
@yield('content')
</div>
<div class="col-lg-3 col-lg-pull-9">
<div class="panel panel-info hidden-xs">
<div class="panel-heading">
<div class="sidebar-header">Поиск</div>
</div>
<div class="panel-body">
<form action="#" role="search">
<div class="form-group">
<div class="input-group">
<input type="search" class="form-control input-lg" placeholder="Ваш запрос">
<div class="input-group-btn">
<button type="submit" class="btn btn-default btn-lg"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading">
<div class="sidebar-header">Вход</div>
</div>
<div class="panel-body">
<form action="/www/kinomonster.laravel/public/login" target="_blank" role="form" method="post">
{!! csrf_field() !!}
<div class="form-group">
<input type="text" class="form-control input-lg" placeholder="Логин" name="username">
</div>
<div class="form-group">
<input type="password" class="form-control input-lg" placeholder="Пароль" name="password">
</div>
<button type="submit" class="btn btn-warning pull-right">Вход</button>
</form>
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading">
<div class="sidebar-header">Новости</div>
</div>
<div class="panel-body">
@if(!empty($news))
@foreach($news as $new)
<p> <a href=" {{ route('informationShow',['id'=>$new->id]) }} " target="_blank"> {{ $new->title }} </a> </p>
@endforeach
@endif
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading">
<div class="sidebar-header">Рейтинг фильмов</div>
</div>
<div class="panel-body">
<ul class="list-group">
@if(!empty($movies))
@foreach($movies as $movie)
@if($movie->category_id == 1)
<li class="list-group-item list-group-warning">
<span class="badge"> {{ $movie->rating }} </span>
<a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> {{ $movie->name }} </a>
</li>
@endif
@endforeach
@endif
</ul>
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading">
<div class="sidebar-header">Рейтинг сериалов</div>
</div>
<div class="panel-body">
<ul class="list-group">
@if(!empty($movies))
@foreach($movies as $movie)
@if($movie->category_id == 2)
<li class="list-group-item list-group-warning">
<span class="badge"> {{ $movie->rating }} </span>
<a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> {{ $movie->name }} </a>
</li>
@endif
@endforeach
@endif
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<footer>
<div class="container">
<p class="text-center"> <a href="http://ru.wh-db.com">WH-DB.COM</a> </p>
</div>
</footer>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="assets/js/bootstrap.min.js"></script>
</body>
</html>
Содержимое файла "films-content.blade.php" (страницы С ФИЛЬМАМИ моего учебного проекта):
@extends('layouts.index')
@section('title')
<title>Фильмы</title>
@endsection
@section('header')
<li> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
<li class="active"> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
<li> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
<li> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>
@endsection
@section('content')
<h1>Фильмы</h1>
<hr>
@foreach($movies as $movie)
@if($movie->category_id == 1)
<div class="row">
<div class="well clearfix">
<div class="col-lg-3 col-md-2 text-center">
<img class="img-thumbnail" src=" {{ $movie->poster }} " alt=" {{ $movie->name }} ">
<p> {{ $movie->name }} </p>
</div>
<div class="col-lg-9 col-md-10">
<p> {{ $movie->decsription }} </p>
</div>
<div class="col-lg-12">
<a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
</div>
</div>
</div>
@endif
@endforeach
@endsection
Содержимое файла "film-content.blade.php" (страницы С ОДНИМ ИЗ ФИЛЬМОВ моего учебного проекта):
@extends('layouts.index')
@section('title')
<title> {{ $movie->name }} </title>
@endsection
@section('header')
<li> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
<li class="active"> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
<li> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
<li> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>
@endsection
@section('content')
<div class="row">
<h1> {{ $movie->name }} </h1>
<hr>
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src=" {{ $movie->player_code }} " frameborder="0" allowfullscreen></iframe>
</div>
<div class="well info-block text-center">
Год: <span class="badge"> {{ $movie->year }} </span>
Рейтинг: <span class="badge"> {{ $movie->rating }} </span>
Режиссёр(-ы): <span class="badge"> {{ $movie->producer }} </span>
</div>
<div class="margin-8"></div>
<h2>Описание фильма "{{ $movie->name }}" </h2>
<hr>
<div class="well">
<p> {{ $movie->description }} </p>
</div>
<div class="margin-8"></div>
<a href="#"><h3>Как снимали фильм "{{ $movie->name }}" </h3></a>
<hr>
<p>
<p>В качестве оператора был нанят Хойте Ван Хойтема, поскольку Уолли Пфистер был занят работой над своим режиссёрским дебютом «Превосходство».</p>
<p>«Интерстеллар» снят в сочетании анаморфной 35-мм плёнки и формата IMAX.</p>
<p>В январе 2013 года Кристофер Нолан начал переговоры с Paramount и Warner Bros., чтобы принять участие в проекте в качестве режиссёра. В марте его участие было утверждено. Съёмки проходили в последнем квартале 2013 года в провинции Альберта, Канада, в южной части Исландии, на леднике Снайфедльсйёкюдль и в деревне Киркьюбайярклёйстюр, а также в Лос-Анджелесе.</p>
<p>14 декабря 2013 года был выпущен первый тизер к фильму.</p>
<p>17 мая 2014 года вышел официальный трейлер к фильму.</p>
<p>30 июля 2014 года вышел второй официальный трейлер к фильму. Эксклюзивный просмотр был доступен исключительно на официальном сайте фильма после ввода секретной комбинации цифр, которую нужно было разгадать из созвездия в звёздном небе. Спустя сутки ролик стал доступен на YouTube.</p>
</p>
<a href="#" class="btn btn-warning pull-right">читать</a>
<div class="margin-8"></div>
<h2>Отзывы о фильме "{{ $movie->name }}" </h2>
<hr>
<div class="panel panel-info">
<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Сергей</span></div>
<div class="panel-body">Отличный фильм, 3 часа пролетели незаметно.</div>
</div>
<div class="panel panel-info">
<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Дмитрий</span></div>
<div class="panel-body">После фильма Начало, я с нетерпением ждал еще работ от Кристофера Нолана. Интерстеллар меня впечатлил</div>
</div>
<div class="panel panel-info">
<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Игорь</span></div>
<div class="panel-body">Котька Леночка - чудик!!))):-Р</div>
</div>
<form action="#">
<div class="form-group">
<input type="text" placeholder="Ваше имя" class="form-control input-lg">
</div>
<div class="form-group">
<textarea class="form-control"></textarea>
</div>
<button class="btn btn-lg btn-warning pull-right">Отправить</button>
</form>
</div>
@endsection
Содержимое файла "serials-content.blade.php" (страницы С СЕРИАЛАМИ моего учебного проекта):
@extends('layouts.index')
@section('title')
<title>Сериалы</title>
@endsection
@section('header')
<li> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
<li> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
<li class="active"> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
<li> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>
@endsection
@section('content')
<h1>Сериалы</h1>
<hr>
@foreach($movies as $movie)
@if($movie->category_id == 2)
<div class="row">
<div class="well clearfix">
<div class="col-lg-3 col-md-2 text-center">
<img class="img-thumbnail" src=" {{ $movie->poster }} " alt=" {{ $movie->name }} ">
<p> {{ $movie->name }} </p>
</div>
<div class="col-lg-9 col-md-10">
<p> {{ $movie->decsription }} </p>
</div>
<div class="col-lg-12">
<a href=" {{ route('serialShow',['id'=>$movie->id]) }} " target="_blank" class="btn btn-lg btn-warning pull-right">Подробнее</a>
</div>
</div>
</div>
@endif
@endforeach
@endsection
Содержимое файла "serial-content.blade.php" (страницы С ОДНИМ ИЗ СЕРИАЛОВ моего учебного проекта):
@extends('layouts.index')
@section('title')
<title> {{ $movie->name }} </title>
@endsection
@section('header')
<li> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
<li> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
<li class="active"> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
<li> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>
@endsection
@section('content')
<div class="row">
@if($movie->category_id == 2)
<h1> {{ $movie->name }} </h1>
<hr>
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src=" {{ $movie->player_code }} " frameborder="0" allowfullscreen></iframe>
</div>
<div class="well info-block text-center">
Год: <span class="badge"> {{ $movie->year }} </span>
Рейтинг: <span class="badge"> {{ $movie->rating }} </span>
Режиссёр(-ы): <span class="badge"> {{ $movie->producer }} </span>
</div>
<div class="margin-8"></div>
<h2>Описание сериала "{{ $movie->name }}" </h2>
<hr>
<div class="well">
<p> {{ $movie->description }} </p>
</div>
<div class="margin-8"></div>
<a href="#"><h3>Как снимали сериал "{{ $movie->name }}" </h3></a>
<hr>
<p>
<p>В качестве оператора был нанят Хойте Ван Хойтема, поскольку Уолли Пфистер был занят работой над своим режиссёрским дебютом «Превосходство».</p>
<p>«Интерстеллар» снят в сочетании анаморфной 35-мм плёнки и формата IMAX.</p>
<p>В январе 2013 года Кристофер Нолан начал переговоры с Paramount и Warner Bros., чтобы принять участие в проекте в качестве режиссёра. В марте его участие было утверждено. Съёмки проходили в последнем квартале 2013 года в провинции Альберта, Канада, в южной части Исландии, на леднике Снайфедльсйёкюдль и в деревне Киркьюбайярклёйстюр, а также в Лос-Анджелесе.</p>
<p>14 декабря 2013 года был выпущен первый тизер к фильму.</p>
<p>17 мая 2014 года вышел официальный трейлер к фильму.</p>
<p>30 июля 2014 года вышел второй официальный трейлер к фильму. Эксклюзивный просмотр был доступен исключительно на официальном сайте фильма после ввода секретной комбинации цифр, которую нужно было разгадать из созвездия в звёздном небе. Спустя сутки ролик стал доступен на YouTube.</p>
</p>
<a href="#" class="btn btn-warning pull-right">читать</a>
<div class="margin-8"></div>
<h2>Отзывы о сериале "{{ $movie->name }}" </h2>
<hr>
<div class="panel panel-info">
<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Сергей</span></div>
<div class="panel-body">Отличный сериал, 3 часа пролетели незаметно.</div>
</div>
<div class="panel panel-info">
<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Дмитрий</span></div>
<div class="panel-body">После сериалаа Начало, я с нетерпением ждал ещё работ от Кристофера Нолана. Интерстеллар меня впечатлил</div>
</div>
<div class="panel panel-info">
<div class="panel-heading"><i class="glyphicon glyphicon-user"></i><span>Игорь</span></div>
<div class="panel-body">Котька Леночка - чудик!!))):-Р</div>
</div>
<form action="#">
<div class="form-group">
<input type="text" placeholder="Ваше имя" class="form-control input-lg">
</div>
<div class="form-group">
<textarea class="form-control"></textarea>
</div>
<button class="btn btn-lg btn-warning pull-right">Отправить</button>
</form>
@endif
</div>
@endsection
Содержимое файла "films_rating-content.blade.php" (страницы С РЕЙТИНГАМИ ФИЛЬМОВ моего учебного проекта):
@extends('layouts.index')
@section('title')
<title>Рейтинг фильмов</title>
@endsection
@section('header')
<li> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
<li> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
<li> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
<li class="active"> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
<li> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>
@endsection
@section('content')
<h1>Рейтинг фильмов</h1>
<hr>
<table class="table table-striped">
<thead>
<tr>
<th></th>
<th>Фильм</th>
<th class="text-center">Год</th>
<th class="text-center">Рейтинг</th>
</tr>
</thead>
<tbody>
@foreach($movies as $movie)
@if($movie->category_id == 1)
<tr>
<td class="col-lg-1 col-md-1 col-xs-2"><img class="img-responsive img-thumbnail" src=" {{ $movie->poster }} " alt=" {{ $movie->name }} "></td>
<td class="vert-align"><a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> {{ $movie->name }} </a></td>
<td class="text-center vert-align"> {{ $movie->year }} </td>
<td class="text-center vert-align"><span class="badge"> {{ $movie->rating }} </span></td>
</tr>
@endif
@endforeach
</tbody>
</table>
@endsection
Содержимое файла "serials_rating-content.blade.php" (страницы С РЕЙТИНГАМИ СЕРИАЛОВ моего учебного проекта):
@extends('layouts.index')
@section('title')
<title>Рейтинг сериалов</title>
@endsection
@section('header')
<li> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
<li> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
<li> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
<li class="active"> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
<li> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>
@endsection
@section('content')
<h1>Рейтинг сериалов</h1>
<hr>
<table class="table table-striped">
<thead>
<tr>
<th></th>
<th>Сериал</th>
<th class="text-center">Год</th>
<th class="text-center">Рейтинг</th>
</tr>
</thead>
<tbody>
@foreach($movies as $movie)
@if($movie->category_id == 2)
<tr>
<td class="col-lg-1 col-md-1 col-xs-2"><img class="img-responsive img-thumbnail" src=" {{ $movie->poster }} " alt=" {{ $movie->name }} "></td>
<td class="vert-align"><a href=" {{ route('filmShow',['id'=>$movie->id]) }} " target="_blank"> {{ $movie->name }} </a></td>
<td class="text-center vert-align"> {{ $movie->year }} </td>
<td class="text-center vert-align"><span class="badge"> {{ $movie->rating }} </span></td>
</tr>
@endif
@endforeach
</tbody>
</table>
@endsection
Содержимое файла "news-content.blade.php" (страницы С НОВОСТЯМИ моего учебного проекта):
@extends('layouts.index')
@section('title')
<title>Новости</title>
@endsection
@section('header')
<li> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
<li> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
<li> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
<li class="active"> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>
@endsection
@section('content')
<h1>Новости</h1>
<hr>
@foreach($news as $new)
<a href=" {{ route('informationShow',['id'=>$new->id]) }} " target="_blank"> <h3> {{ $new->title }} </h3> </a>
<hr>
<p> {{ $new->slug }} </p>
<a href=" {{ route('informationShow',['id'=>$new->id]) }} " target="_blank" class="btn btn-warning pull-right">читать</a>
<div class="margin-8"></div>
@endforeach
@endsection
Содержимое файла "information-content.blade.php" (страницы С ОДНОЙ ИЗ НОВОСТЕЙ моего учебного проекта):
@extends('layouts.index')
@section('title')
<title> {{ $information->title }} </title>
@endsection
@section('header')
<li> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
<li> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
<li> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
<li class="active"> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
<li> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>
@endsection
@section('content')
<h1> {{ $information->title }} </h1>
<hr>
<p> {{ $information->text }} </p>
@endsection
Содержимое файла "contacts-content.blade.php" (страницы ДЛЯ СВЯЗИ С АДМИНИСТРАЦИЕЙ моего учебного проекта):
@extends('layouts.index')
@section('title')
<title>Контакты</title>
@endsection
@section('header')
<li> <a href=" {{ route('main_page') }} " target="_blank">Главная</a> </li>
<li> <a href=" {{ route('filmsShow') }} " target="_blank">Фильмы</a> </li>
<li> <a href=" {{ route('serialsShow') }} " target="_blank">Сериалы</a> </li>
<li> <a href=" {{ route('films_rating') }} " target="_blank">Рейтинг фильмов</a> </li>
<li> <a href=" {{ route('serials_rating') }} " target="_blank">Рейтинг сериалов</a> </li>
<li> <a href=" {{ route('news') }} " target="_blank">Новости</a> </li>
<li class="active"> <a href=" {{ route('contacts') }} " target="_blank">Контакты</a> </li>
@endsection
@section('content')
<h1>Контакты</h1>
<hr>
<p>Оставьте Ваш отзыв о портале КиноМонстр</p>
<form action="#">
<div class="form-group">
<input type="text" placeholder="Ваше имя" class="form-control input-lg">
</div>
<div class="form-group">
<input type="email" placeholder="Ваш электронный адрес" class="form-control input-lg">
</div>
<div class="form-group">
<textarea class="form-control"></textarea>
</div>
<button class="btn btn-lg btn-warning pull-right">Отправить</button>
</form>
@endsection
А вот дальше идут документы, которые были созданы cmd-командой: " php artisan make:auth ":
Содержимое файла "HomeController.php" (здесь строки " use App\User; " и " $users = User::all(); " я сам добавил):
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
$users = User::all();
return view('home')->with(['users' => $users]);
}
}
Содержимое файла "home.blade.php":
@extends('layouts.app')
@section('login')
<div class="panel panel-info">
<div class="panel-heading">
<div class="sidebar-header">Вход</div>
</div>
<div class="panel-body">
<form action="#" role="form">
<div class="form-group">
<input type="text" class="form-control input-lg" placeholder="Логин">
</div>
<div class="form-group">
<input type="password" class="form-control input-lg" placeholder="Пароль">
</div>
<button type="submit" class="btn btn-warning pull-right">Вход</button>
</form>
</div>
</div>
@endsection
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Dashboard</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
You are logged in!
</div>
</div>
</div>
</div>
</div>
@endsection
Содержимое файла "login.blade.php":
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Вход') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('login') }}">
@csrf
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Адрес электронной почты:') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required autofocus>
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Пароль:') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
@if ($errors->has('password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<div class="col-md-6 offset-md-4">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
<label class="form-check-label" for="remember">
{{ __('Запомнить меня') }}
</label>
</div>
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Войти') }}
</button>
@if (Route::has('password.request'))
<a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('Забыли свой пароль?') }}
</a>
@endif
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
Содержимое файла "register.blade.php":
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Регистрация') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('register') }}">
@csrf
<div class="form-group row">
<label for="name" class="col-md-4 col-form-label text-md-right">{{ __('Имя:') }}</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}" name="name" value="{{ old('name') }}" required autofocus>
@if ($errors->has('name'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Адрес электронной почты:') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required>
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Пароль:') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
@if ($errors->has('password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Подтвердить пароль:') }}</label>
<div class="col-md-6">
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required>
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Зарегистрироваться') }}
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
Содержимое файла "app.blade.php":
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet" type="text/css">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>
<body>
<div id="app">
<nav class="navbar navbar-expand-md navbar-light navbar-laravel">
<div class="container">
<a class="navbar-brand" href="{{ url('/') }}">
{{ config('app.name', 'Laravel') }}
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav mr-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Войти') }}</a>
</li>
@if (Route::has('register'))
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Зарегистрироваться') }}</a>
</li>
@endif
@else
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }} <span class="caret"></span>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Выйти') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
</div>
</li>
@endguest
</ul>
</div>
</div>
</nav>
<main class="py-4">
@yield('content')
</main>
</div>
</body>
</html>
Содержимое файла "User.php":
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
Помогите мне, пожалуйста, разобраться с авторизацией! Для данного фреймворка предусмотрена специальная cmd-команда " php artisan make:auth ", которая вносит ряд изменений в Проект, над которым я работаю (в частности, создаёт отдельную страницу для авторизации и регистрации). Может, это и к лучшему конечно... Но дело в том, что у меня на левой панели уже есть фрагмент кода для авторизации. Я мог бы как-нибудь именно свою авторизацию "оживить"? Если да, то как именно?... Не совершил ли я роковую ошибку, набрав эту cmd-команду?
Не в сети
Это несложно - в своей форме авторизации указываешь action="{{ route('login') }}", тогда при клике на кнопку будет обрабатываться штатный контроллер авторизации. Только нужно проверить, чтобы все поля input юыли такими же, как в файле login.blade.php в папке auth
Изменено Morry (11.02.2019 21:35:14)
Не в сети
Не-не-не! На самом деле для меня как начинающего это просто катастрофически сложно!!!
Вы не могли бы мне более детально объяснить это всё?... Очень желательно, чтобы мы с Вами как-нибудь связались! У Вас есть такая возможность, господин Morry?
Изменено garrip91 (11.02.2019 21:48:09)
Не в сети
garrip91
Тема закрыта. Я вам писал, почему. За повторный пост такого же характера будет бан - первый на этом форуме за все 7 лет его истории.
Не в сети
Страницы 1
Тема закрыта