FormController.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Submission;
  4. use Illuminate\Http\Request;
  5. class FormController extends Controller
  6. {
  7. public function showForm()
  8. {
  9. return view('form');
  10. }
  11. public function submitForm(Request $request)
  12. {
  13. $validated = $request->validate([
  14. 'name' => 'required|string|max:100',
  15. 'email' => 'required|email|max:255',
  16. 'message' => 'nullable|string|max:1000',
  17. ], [
  18. 'name.required' => 'Поле "Имя" обязательно для заполнения.',
  19. 'email.required' => 'Поле "Email" обязательно для заполнения.',
  20. 'email.email' => 'Введите корректный адрес электронной почты.',
  21. ]);
  22. // Сохранение в БД вместо JSON файла
  23. Submission::create([
  24. 'name' => $validated['name'],
  25. 'email' => $validated['email'],
  26. 'message' => $validated['message'] ?? null,
  27. 'ip_address' => $request->ip(),
  28. 'status' => 'active',
  29. ]);
  30. return redirect()->route('form.show')->with('success', 'Спасибо! Ваши данные успешно сохранены в базу данных.');
  31. }
  32. }