当我打开网页时,laravel通过我的自定义类和函数在我的手机上向我发送短信,但当我按F5或刷新网页时,是否可以阻止发送?
controller
public function index()
{
$phoneNumber = $user['mobile_phone'];
$smsMessage= $user['smsMessage'];
SendTextMessage::SendMessage($phoneNumber, $smsMessage);
return view('welcome');
}
如果您只在用户访问欢迎页面时发送消息,那么您可以在会话中设置一个标志,并检查会话值是否不存在,然后只发送消息。
use Session;
public function index()
{
if(!Session::has('message_sent')){
SendTextMessage::SendMessage($phoneNumber, $smsMessage);
Session::put('message_sent', true);
}
return view('welcome');
}
尝试:
public function index()
{
if(url()->previous()!=url()->current()){
SendTextMessage::SendMessage($phoneNumber, $smsMessage);
}
return view('welcome');
}
URL历史记录存储在会话中,因此它可以作为页面刷新的解决方案。