Я новичок в laravel У меня есть форма с полями ввода, но я хочу отправить входные значения и показать на другой странице, используя сеанс, чтобы проверить их позже
Пожалуйста, ответьте с кодом, пожалуйста
Форма:
<form id="booking-form">
<input class="indexinput" type="text" id="country" name="country"placeholder="Country">
<input class="indexinput" type="text" id="state" name="state"placeholder="State">
<input class="indexinput" type="text" id="city" name="city" placeholder="city">
</form>
<button class="button getbids" >GET BIDS</button><script type="text/javascript">
$(document).on('click', '.getbids', function() {
var loggedIn = {{ auth()->check() ? 'true' : 'false' }};
if (loggedIn)
window.location.replace('customer/dashboard');
if(!loggedIn)
$('#loginModal').modal('show');
});
</script>
маршрут
Route::group(['middleware'=>['rolecustomer']], function () {
Route::get('/customer/dashboard', 'HomeController@index')->name('customer.dashboard');
});
контроллер:
public function index()
{
return view('index.customer.customerdashboard');
}
Вы можете поместить значения в сессию (в контроллер) следующим образом:
$request->session()->put('sampleid', $samplevalue);
И получить их на странице лезвия, как это:
@if(Session::has('sampleid'))
<div class="alert alert-success">
{{Session::get('sampleid')}}
</div>
@endif
А в контроллере вот так:
if($request->session()->has('sampleid'))
{
$request->session()->get('collegeid');
}
Похоже, вы пытаетесь перенаправить пользователя, если пользователь не вошел в систему по определенному запросу. В Laravel есть промежуточное ПО, чтобы позаботиться об этом. Посмотрите на документацию. Это не так сложно настроить.
Все эти правила аутентификации могут быть обработаны промежуточным программным обеспечением Laravel.
Документация Middleware: https://laravel.com/docs/5.5/middleware
Просматривая ваш код, я понимаю, что вы пытаетесь проверить, прошел ли аутентификация пользователя после нажатия кнопки «Отправить». Если он аутентифицирован, вы перенаправляете его на customer/dashboard
, Если он не аутентифицирован, вы отображаете модальный логин.
Проблема в том, что вы перенаправляете пользователя на страницу с помощью JavaScript, и вы не можете получить данные, отправленные с помощью формы. Так что я думаю, что вы пытаетесь использовать session
чтобы получить данные формы в customer/dashboard
, Вы можете достичь того, что вы хотите, просто, как показано ниже.
<form id="booking-form" method="POST" action="{{ route('customer.dashboard') }}">
измените свой код JavaScript на
<script type="text/javascript">
$(document).on('click', '.getbids', function() {
var loggedIn = {{ auth()->check() ? 'true' : 'false' }};
if (loggedIn)
$('#booking-form').submit();
if(!loggedIn)
$('#loginModal').modal('show');
});
</script>
Теперь сделайте ваш маршрут как
Route::any('/customer/dashboard', 'HomeController@index')->name('customer.dashboard');