| 123456789101112131415161718192021222324252627282930313233343536373839 |
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Storage;
- class FormController extends Controller
- {
- public function showForm()
- {
- return view('form');
- }
- public function submitForm(Request $request)
- {
- $validated = $request->validate([
- 'name' => 'required|string|max:100',
- 'email' => 'required|email|max:255',
- 'message' => 'nullable|string|max:1000',
- ], [
- 'name.required' => 'Поле "Имя" обязательно для заполнения.',
- 'email.required' => 'Поле "Email" обязательно для заполнения.',
- 'email.email' => 'Введите корректный адрес электронной почты.',
- ]);
- $timestamp = now()->format('Ymd_His');
- $uniqueId = uniqid();
- $fileName = "submission_{$timestamp}_{$uniqueId}.json";
-
- $dataToSave = array_merge($validated, [
- 'submitted_at' => now()->toDateTimeString(),
- 'ip_address' => $request->ip(),
- ]);
- Storage::put('submissions/' . $fileName, json_encode($dataToSave, JSON_PRETTY_PRINT));
- return redirect()->route('form.show')->with('success', 'Спасибо! Ваши данные успешно сохранены в файл.');
- }
- }
|