3 Commit-ok 11f6e99b2b ... 19e4fcb627

Szerző SHA1 Üzenet Dátum
  axkuhta 19e4fcb627 Show messages in a table 1 éve
  axkuhta 37eb9abb2b Make /data return messages as JSON 1 éve
  axkuhta c17d9953f3 Save requests using Storage:: 1 éve

+ 24 - 0
app/Http/Controllers/data_controller.php

@@ -0,0 +1,24 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Support\Facades\Storage;
+use Illuminate\Http\Request;
+
+class data_controller extends Controller {
+	public function index() {
+		$files = Storage::files("test_data");
+		$rows = [];
+
+		foreach ($files as $k => $v) {
+			$data = json_decode(Storage::get($v));
+			$rows[] = (object)[
+				// "file" => $v,
+				"email" => $data->email,
+				"message" => $data->message
+			];
+		}
+
+		return view("data", ["rows" => $rows]);
+	}
+}

+ 4 - 0
app/Http/Controllers/form_controller.php

@@ -2,6 +2,7 @@
 
 namespace App\Http\Controllers;
 
+use Illuminate\Support\Facades\Storage;
 use Illuminate\Http\Request;
 
 class form_controller extends Controller {
@@ -20,6 +21,9 @@ class form_controller extends Controller {
 			"message" => "В сообщении должно быть что-нибудь."
 		]);
 
+		Storage::makeDirectory("test_data");
+		Storage::put("test_data/" . uniqid() . ".json", json_encode($request->all()));
+
 		return view("success");
 	}
 }

+ 16 - 0
resources/views/data.blade.php

@@ -0,0 +1,16 @@
+@extends("layouts.app")
+
+@section("content")
+<table>
+<tr>
+	<th>Email</th>
+	<th>Message</th>
+</tr>
+@foreach ($rows as $row)
+	<tr>
+		<td>{{$row->email}}</td>
+		<td>{{$row->message}}</td>
+	</tr>
+@endforeach
+</table>
+@endsection

+ 9 - 0
resources/views/layouts/app.blade.php

@@ -84,6 +84,15 @@
 				padding: .3rem;
 				margin: .3rem;
 			}
+
+			table {
+				border-collapse: collapse;
+			}
+
+			td, th {
+				border: 1px solid #D0D0D0;
+				padding: .2rem .5rem;
+			}
 		</style>
 	</head>
 	<body>

+ 5 - 0
routes/web.php

@@ -13,9 +13,14 @@ use Illuminate\Support\Facades\Route;
 |
 */
 
+// Главная страница
 Route::view('/', 'index');
 
 use App\Http\Controllers;
 
+// Форма
 Route::get('/form', [Controllers\form_controller::class, 'index']);
 Route::post('/form', [Controllers\form_controller::class, 'store']);
+
+// Данные
+Route::get('/data', [Controllers\data_controller::class, 'index']);