Skip to content

Instantly share code, notes, and snippets.

@Sentinel17
Created March 16, 2018 21:27
Show Gist options
  • Save Sentinel17/92a04110c57a8377281c314e617a1823 to your computer and use it in GitHub Desktop.
Save Sentinel17/92a04110c57a8377281c314e617a1823 to your computer and use it in GitHub Desktop.
Laravel ДЗ №1
<!DOCTYPE html>
<html>
<head>
<title>Форма</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<form method="POST" action="{{route('formUser')}}" enctype="multipart/form-data">
<input type="hidden" value="{{ csrf_token() }}" name="_token">
Имя <input name="name" type="text"><br>
Фамилия <input name="surname" type="text"><br>
Отчество <input name="middleName" type="text"><br>
Email <input name="email" type="text"><br>
Телефон <input name="phone" type="text"><br>
Номер карты <input name="card" type="text"><br>
Комментарий <textarea name="comment" </textarea></textarea><br>
<div>
<span>Любимый жанр</span>
<label><input type="checkbox" value="Фэнтези" name="film">Фэнтези</label>
<label><input type="checkbox" value="Триллер" name="film">Триллер</label>
<label><input type="checkbox" value="Фантастика" name="film">Фантастика</label>
<label><input type="checkbox" value="Детектив" name="film">Детективы</label>
</div>
<div>
<span>Пол</span>
<input type="radio" id="woman" name="gender" value="Женский">
<label for="woman">Женский</label>
<input type="radio" id="man" name="gender" value="Мужской">
<label for="man">Мужской</label>
</div>
<div>
<span>Выберите день недели</span>
<select name="day">
<option>Понедельник</option>
<option>Вторник</option>
<option>Среда</option>
<option>Четверг</option>
<option>Пятница</option>
<option>Суббота</option>
<option>Воскресенье</option>
</select>
</div>
<div>
<span>Выберите фото</span>
<input name="image" type="file">
</div>
<input type="submit">
</form>
<div>
@if ($errors->any())
<div >
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
</div>
</body>
</html>
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class FormController extends Controller
{
public function formUser(Request $request)
{
if ($request->method() == 'POST') {
$this->validate($request, [
'name' => 'required|max:255',
'surname' => 'required|max:255',
'middleName' => 'required|max:255',
'email' => 'email',
'phone' => 'required|numeric',
'card' => 'numeric|min:16',
'film' => 'required',
'gender' => 'required',
'day' => 'required',
], [
'name.required' => 'Введите Имя',
'surname.required' => 'Введите Фамилию',
'middleName.required' => 'Введите Отчество',
'email.email' => 'Укажите электронный адресс',
'phone.required' => 'Введите телефон',
'phone.numeric' => 'Неверный формат телефона',
'card.numeric' => 'Неверный формат карты',
'card.min' => 'Номер карты неполный',
'comment.required' => 'Введите комментарий',
'film.required'=>'Выберите жанр фильмов',
'gender.required'=>'Выберите пол',
'day.required' => 'Выберите день недели',
]
);
$file = $request->file('image');
$newfilename = md5(time() . rand(0, 100)) . "." . $file->getClientOriginalExtension();
$file->move(public_path() . '/images', $newfilename);
return view('result', [
'name' => $request->name,
'surname' => $request->surname,
'middleName' => $request->middleName,
'email' => $request->email,
'phone' => $request->phone,
'card' => $request->card,
'comment' => $request->comment,
'film' => $request->film,
'gender' => $request->gender,
'day'=>$request->day,
'image'=>$request->image,
'file' => $newfilename]);
}
}
}
<!doctype html>
<html>
<head>
<title>Данные пользователя</title>
<link rel="stylesheet" type="text/css" href="/style.css">
</head>
<body>
<div class="wrapper">
<div class="fotoUser">
<img src="{{asset('/images/'.$file)}}" alt="">
</div>
<div class="info">
<span>Имя: {{$name}}</span>
<span>Фамилия: {{$surname}}</span>
<span>Отчество: {{$middleName}}</span>
<span>Email: {{$email}}</span>
<span>Телефон: {{$phone}}</span>
<span>Номер карты: {{$phone}}</span>
<span>Комментарий: {{$comment}}</span>
<span>Любимый жанр фильма: {{$film}}</span>
<span>Ваш пол: {{$gender}}</span>
<span>День недели: {{$day}}</span>
</div>
</div>
</body>
</html>
<?php
Route::any('/form', function () {
return view('form');
});
Route::any('/result', 'FormController@formUser')->name('formUser');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment