小编j0k*_*j0k的帖子

如果a == true或b ==真实陈述

我找不到让TWIG解释以下条件语句的方法:

{% if a == true or b == true %}
do stuff
{% endif %}
Run Code Online (Sandbox Code Playgroud)

我错过了什么或者不可能吗?

twig

68
推荐指数
2
解决办法
15万
查看次数

如何使用jQuery重置jquery选择的select选项?

我尝试了很多东西,似乎没有任何工作.

我正在使用jQuery和Chosen插件.

方法我尝试过:

var select = jQuery('#autoship_option');

select.val(jQuery('options:first', select).val());

jQuery('#autoship_option').val('');

jQuery('#autoship_option').text('');

jQuery('#autoship_option').empty('');

jQuery("#autoship_option option[value='']").attr('selected', true);
Run Code Online (Sandbox Code Playgroud)

选择后,它始终显示Active Autoship选项.我似乎无法明确选择.

这是选择框:

<select id="autoship_option" data-placeholder="Choose Option..." 
style="width: 175px;" class="chzn-select">
    <option value=""></option>
    <option value="active">Active Autoship</option>
</select>
Run Code Online (Sandbox Code Playgroud)

任何熟悉选择并能够通过一个选项清除选择框的人?(将来会有更多选择.

jquery jquery-chosen

68
推荐指数
6
解决办法
16万
查看次数

如何让form_rest()不显示Symfony2的字段?

我已经开始使用Symfony2,但我遇到了一些问题.我想手工渲染字段,但它不起作用,因为我渲染的字段也显示了form_rest()函数,所以我有两个相同的字段.

这是我的代码:

<div>
     {{ form_errors(form.contenu) }}
     <textarea id="{{ form.contenu.vars.id }}" name="{{ form.contenu.vars.full_name }}">{{ form.contenu.vars.value }}</textarea>
</div>
Run Code Online (Sandbox Code Playgroud)

而且,在表格的最后,我必须把它:

{{ form_rest(form) }}
Run Code Online (Sandbox Code Playgroud)

但它显示"contenu"字段:(

你知道问题是什么吗?

php forms symfony twig

66
推荐指数
4
解决办法
4万
查看次数

获取Symfony 2中的所有请求参数

在symfony 2控制器中,每次我想从帖子中获取值时我都需要运行:

$this->getRequest()->get('value1');
$this->getRequest()->get('value2');
Run Code Online (Sandbox Code Playgroud)

有没有办法将这些合并到一个会返回数组的语句中?像Zend的getParams()之类的东西?

php request symfony

66
推荐指数
2
解决办法
10万
查看次数

在Git上将一组提交合并为一个

我有做大量小提交的习惯,我很好.但我想不时地采取一些线性提交并将它们合并为一个只能提交能力来编写新提交消息的提交.

我查看了文档,但对我来说似乎有点神秘.有谁知道怎么做?

git

64
推荐指数
4
解决办法
4万
查看次数

用curl发送cookies

我使用curl来检索这样的cookie:

curl -c cookies.txt url
Run Code Online (Sandbox Code Playgroud)

然后我从cookies.txt文件中解析我想要的cookie并再次使用cookie发送请求

curl -b "name=value" url 
Run Code Online (Sandbox Code Playgroud)

这是发送cookie的正确方法吗?有更简单的方法吗?

cookies curl

64
推荐指数
3
解决办法
10万
查看次数

63
推荐指数
6
解决办法
10万
查看次数

使用OAuth2为app*和*网站进行身份验证

我正在开发一个主要通过应用程序访问的网站,我想使用OAuth2进行用户注册和身份验证.由于它是Android应用程序,我将开始使用Google的OAuth2内容,因为它在Android上提供了不错的用户界面.

Google表示,"您可以选择使用Google的身份验证系统作为外包用户身份验证的方式.这可以消除创建,维护和保护用户名和密码存储的需要." 这就是我想要做的.然而,当我浏览他们的所有示例和诸如此类的东西时,我只能找到有关网站应用程序根据Google服务对用户进行身份验证的内容.

事实上,当我使用Google的OAuth2注册我的应用程序("客户端")时,网站客户端和"已安装"客户端(即移动应用程序)可以选择,但不能同时选择两者.我可以创建两个单独的客户端,但我读了OAuth2草案,我认为会有一个问题,我现在将解释.

以下是我设想的工作方式:

OAuth2流程图

  1. 用户要求MyApp访问他的私人数据.
  2. 应用程序使用Android的AccountManager类为Google的API请求访问令牌.
  3. Android向用户说"应用'MyApp'希望在Google上访问您的基本信息.这可以吗?"
  4. 用户说是的.
  5. AccountManager 使用手机上存储的凭据连接到Google的OAuth2服务器,并要求提供访问令牌.
  6. 返回访问令牌(在绿线后面).
  7. AccountManager 将访问令牌返回给MyApp.
  8. MyApp向MySite发送请求以获取用户的私有数据,包括访问令牌.
  9. MySite需要使用访问令牌验证用户.它验证了此处描述的令牌,谷歌 - "谷歌,这个令牌有效吗?".
  10. 现在,我想要发生的事情是谷歌说"是的,无论是谁给你的确是那个用户."但我认为实际发生的事情(基于OAuth2草案和Google的文档)是它会说"不"方式!该令牌仅对MyApp有效,而且你是MySite.GTFO!".

那我该怎么做呢?请不要说"使用OpenID"或"不要使用OAuth2"或其他类似无益的答案.哦,我真的想用漂亮的,以保持AccountManager用户界面,而不是糟糕的弹出WebView小号

编辑

来自Nikolay的临时答案(我会报告它是否有效!)它实际上应该有效,而Google的服务器并不关心访问令牌的来源.对我来说似乎有点不安全,但我会看看它是否有效!

更新

我用Facebook而不是Google实现了这种模式,它完全有效.OAuth2服务器不关心访问令牌的来源.至少Facebook没有,所以我认为谷歌也没有.

鉴于此,存储访问令牌是一个非常糟糕的主意!但是我们也不想让Facebook/Google的服务器检查每个请求的身份验证,因为它会减慢一切.可能最好的办法是为您的站点添加一个额外的身份验证cookie,当您的访问令牌被验证时,您可以将其分发,但更简单的方法就是将访问令牌视为密码并存储其哈希值.你不需要加盐它,因为访问令牌真的很长.所以上面的步骤变成了:

9. MySite需要使用访问令牌验证用户.首先,它检查哈希有效访问令牌的缓存.如果在那里找到令牌的散列,则它知道用户已经过身份验证.否则,它会按照此处所述与Google进行核对- Google,"此令牌是否有效?".

10.如果Google说访问令牌无效,我们会告诉用户GTFO.否则谷歌说"是的,这是一个有效的用户",然后我们检查我们的注册用户数据库.如果找不到Google用户名(或Facebook id,如果使用Facebook),我们可以创建新用户.然后我们缓存访问令牌的散列值.

android oauth google-authentication oauth-2.0

63
推荐指数
2
解决办法
2万
查看次数

select2动态更改项目

我有两个链接的选择:第一个选择的每个值确定将在第二个选择中显示哪些项目.

第二个选择的值存储在二维数组中:

[ [{"id":1,"text":"a"}, {"id":2,"text":"b"},...],
  [{"id":"1a","text":"aa"},{"id":"1b","text":"ba"},...],
  ...
]
Run Code Online (Sandbox Code Playgroud)

第一个选择值确定用于填充第二个选择的索引.所以在第一个"更改"事件中我应该能够修改select-two包含的项目.

阅读文档我认为我需要使用"数据"选项...但不知道如何在初始化时加载数组数据,如果我在初始化后尝试执行相同操作,它似乎不起作用.

HTML

Attribute:
<select name="attribute" id="attribute">
    <option value="0">Color</option>
    <option value="1">Size</option>
</select>

Value:
<select name="value" id="value"></select>

<script>
   var data = [ [{"id":1,"text":"black"}, {"id":2,"text":"blue"},...],
                [{"id":"1","text":"9"},{"id":"1","text":"10"},...],
              ];
   $('#attribute').select2().bind('change', function(){
      // Here I need to change `#value` items.
      $('#value').select2('data',data[$(this).val()]);  // This does not work
   );

   $('#value').select2();
</script>
Run Code Online (Sandbox Code Playgroud)

javascript jquery-select2

62
推荐指数
4
解决办法
13万
查看次数

如何动态编写PHP对象属性名称?

我的代码中有对象属性,如下所示:

$obj ->field_name_cars[0];
$obj ->field_name_clothes[0];
Run Code Online (Sandbox Code Playgroud)

问题是我有100个字段名称,需要动态编写属性名称.否则,对象名称和属性的键将始终相同.所以我尝试过:

$obj -> $field[0];
Run Code Online (Sandbox Code Playgroud)

希望动态更改属性的名称并访问正确的值.但是,我继续在stdClass :: $字段中获取'undefined property $ field;

或多或少我尝试在执行之前动态编写php,以便它可以输出正确的值.关于如何处理这个问题的想法?

php

61
推荐指数
3
解决办法
6万
查看次数