FormController.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\File;
  5. use Carbon\Carbon;
  6. use App\Models\ContactMessage;
  7. class FormController extends Controller
  8. {
  9. private $path;
  10. public function __construct()
  11. {
  12. $this->path = storage_path('app/forms/contacts.json');
  13. }
  14. public function index()
  15. {
  16. return view('form');
  17. }
  18. public function submit(Request $request)
  19. {
  20. $validated = $request->validate([
  21. 'name' => 'required|string|min:3|max:15',
  22. 'email' => 'required|email|max:50',
  23. 'message' => 'required|string|min:10|max:100'
  24. ]);
  25. ContactMessage::create($validated);
  26. return redirect()->back()->with('success', 'Данные сохранены!');
  27. }
  28. public function showData()
  29. {
  30. $submissions = ContactMessage::latest()->get();
  31. return view('admin.index', compact('submissions'));
  32. }
  33. public function show(ContactMessage $submission)
  34. {
  35. return view('admin.show', compact('submission'));
  36. }
  37. public function edit(ContactMessage $submission)
  38. {
  39. return view('admin.edit', compact('submission'));
  40. }
  41. public function update(Request $request , ContactMessage $submission)
  42. {
  43. $validated = $request->validate([
  44. 'name' => 'required|string|min:3|max:15',
  45. 'email' => 'required|email|max:50',
  46. 'message' => 'required|string|min:10|max:100'
  47. ]);
  48. $submission->update($validated);
  49. return redirect()->route('admin.index')->with('success', 'Данные обновлены!');
  50. }
  51. public function delete(ContactMessage $submission)
  52. {
  53. $submission -> delete();
  54. return redirect()->route('admin.index')->with('success', 'Запись удалена!');
  55. }
  56. }