Как видно из заголовка, когда я отправляю свою форму (система отчетов), я перенаправляюсь обратно по этой ссылке: https://website.com/career_report_event
- с ошибкой, но мои данные сохраняются в базе данных. Почему это происходит? Я должен быть перенаправлен обратно на предыдущую страницу. Я добавил sleep(5);
к счетчику через 5 секунд после перенаправления, но теперь больше не работает.
Вот мой код:
public function careerReportEvent(requ $request)
{
$reportExists = \App\Reports::where('user_id', $request['user_id'])
->whereDate('created_at', '>', Carbon::now()->subMinutes(5)->toDateTimeString())
->exists();
if($reportExists) {
// report has been created within 5 minutes
return Redirect::back()->withErrors(['error', 'Report created within the last 5 minutes']);
}
$lastReport = \App\Reports::where('user_id', $request['user_id'])
->orderBy('id', 'desc')
->first();
$lastReportOn = time() - \Carbon\Carbon::parse($lastReport->created_at)->timestamp;
if($lastReportOn < 150 ) {
// report has been created within 5 minutes
sleep(5);
return Redirect::back()->with('error', 'This action was blocked as too many reports were sent in a short amount of time. Please try later.');
}
$report = \App\Reports::create([
'user_id' => $request['user_id'],
'username' => $request['username'],
'user_id_posted' => $request['user_id_posted'],
'username_posted' => $request['username_posted'],
'career_solution_id' =>$request['career_solution_id'],
'subject' =>$request['subject'],
'why_reporting' =>$request['why_reporting'],
'why_reporting_message' =>$request['why_reporting_message'],
'additional_message' =>$request['additional_message'],
'comment' =>$request['comment'],
'comment_user' =>$request['comment_user'],
'comment_id' =>$request['comment_id'],
]);
$id = $request['career_solution_id']; // looks like this is the ID you ar looking for
$event = Event::findOrfail($id);
$event->active = $request['active'];
$event->save();
if ($user = Sentinel::check())
{
$data = $this->data;
$user_id = $user->id;
// return $request->all();
$career_solution = \App\CareerSolution::findOrFail($user_id);
$log = \App\Log::create([
'user_id' => $request['user_id_posted'],
'log' => $request->title,
'date' => time(),
'article_type' => 'event',
'type' => 'report',
'formatted_date' => date_format(date_create(date('Y-m-d')),"F dS, Y"),
'link' => $request['subject'],
'action_user_id' => $user_id,
'action_name' => $user->name,
'action_username' => $user->username,
'item_id' => $request['career_solution_id'],
'profile_picture' => $request['profile_picture']
]);
$id = $request['career_solution_id'];
$news = News::findOrfail($id);
$news_user = User::findOrfail($news->user_id);
$my_alerts = \App\MyAlert::where('user_id','=',$news->user_id)->first();
if(isset($my_alerts))
{
if(($my_alerts->report == 1) && ($my_alerts->email_frequency == 1))
{
$message = "";
$message .= "<table style='width:100%'>";
$message .= "<tr>";
$message .= "<td style='width:40%'>";
$message .= "<img src='".asset('assets/img/WS_logo.png')."' height='35' width='185'>";
$message .= "</td><td>";
$message .= "</td><td style='float:right;'>";
$message .= date('F jS, Y');
$message .= "</td></tr></table><hr><br>";
$message .= "</td></tr><tr align='center'>";
$message .= "<td>If you do not wish to receive this messages, access your Workstickers acoount / Alerts Section and disable it.</td></tr>";
$message .= "<tr align='center'><td><img src='".asset('assets/img/font-image/share_facebook.png')."'> <img src='".asset('assets/img/font-image/skype-icon.png')."'> <img src='".asset('assets/img/font-image/linkedin.png')."'> <img src='".asset('assets/img/font-image/googleplus_icon.png')."'> <img src='".asset('assets/img/font-image/twitter_icon.jpg')."'></td></tr>";
Mail::send('send', ['content' => $message], function ($m) use ($news_user,$user)
{
$m->from('hello@workstickers.com', "Workstickers");
$m->to($news_user->email, $news_user->name)->subject("Workstickers alert : ".$user->username." has reported one of your articles.");
});
}
}
}
if($report != ""){
sleep(5);
flash('Career solution report submited', 'success');
}else{
flash('Career solution report', 'warning');
}
return Redirect::back();
}
Вот мой маршрут:
Route::post('career_report_event', 'CareerSolutionController@careerReportEvent');