如何检查用户是否已登录Symfony?
我得到了这张表格:如何检查用户是否已登录Symfony?,symfony,Symfony,我得到了这张表格: {{ form_start(form) }} <input type="submit" class="form_submit_button" name="register_interest" value="Add to favourites"/> {{ form_end(form) }} 如果用户未登录,它会隐藏该按钮 我希望该按钮显示,即使我没有登录,并在表单提交后检查用户是否登录 我该怎么做 谢谢大家! 您可以这样尝试: {
{{ form_start(form) }}
<input type="submit" class="form_submit_button" name="register_interest" value="Add to favourites"/>
{{ form_end(form) }}
如果用户未登录,它会隐藏该按钮
我希望该按钮显示,即使我没有登录,并在表单提交后检查用户是否登录
我该怎么做
谢谢大家! 您可以这样尝试:
{% if app.user %}
{{ form_start(form) }}
<input type="submit" class="form_submit_button" name="register_interest" value="Add to favourites"/>
{{ form_end(form) }}
{% else %}
<input type="button" class="form_submit_button" name="register_interest" value="Add to favourites"/>
{% endif %}
{%if-app.user%}
{{form_start(form)}}
{{form_end(form)}}
{%else%}
{%endif%}
必须在php控制器中执行检查。此外,您还可以执行javascript检查,如果用户未登录,该检查将阻止提交表单
要在控制器中检查用户登录,请执行以下操作:
if ($this->isGranted('ROLE_USER') == false) {
// show some error message, throw exception etc...
}
另一种方法是:
$this->denyAccessUnlessGranted('ROLE_USER');
要在客户端(javascript)进行检查,可以执行以下操作:
{% if not is_granted('IS_AUTHENTICATED_REMEMBERED') %}
<script>
// wrap into document.ready() if needed
$('#your_submit_button_id').on('click', function(e) {
e.preventDefault();
alert('You must be logged in to use this function');
});
</script>
{% endif %}
{%如果未被授权('is'u AUTHENTICATED'u membered')%}
//如果需要,包装到document.ready()中
$(“#您的_submit_按钮_id”)。在('click',函数(e)上{
e、 预防默认值();
警报(“必须登录才能使用此功能”);
});
{%endif%}
您尝试过吗?您好,即使用户未登录,我也希望显示按钮注册兴趣。我正在考虑在提交表单之前在控制器中设置一个条件。如果用户未登录,您可以像这样显示您的注册按钮事件。你到底想要什么?如果你总是想显示一个按钮,那么你不需要If语句。问题是当用户未登录时点击按钮时,必须执行何种操作。
{% if not is_granted('IS_AUTHENTICATED_REMEMBERED') %}
<script>
// wrap into document.ready() if needed
$('#your_submit_button_id').on('click', function(e) {
e.preventDefault();
alert('You must be logged in to use this function');
});
</script>
{% endif %}