登录

php - 微信“订阅号”如何存放openid,并在其他页面使用

我正在开发一个投票系统,需要根据微信用户openid来识别用户的投票次数。
问题:
我通过公众号的订阅、点击事件都能获得openid,然后我马上把openid保存到cookie或者session,然后在打开其他网页时,这个cookie或者session的值都是空的。那请问有什么方法是可以将openid保存下来供项目的其他页面使用呢?

然后我看到了另外一个订阅号也在做投票活动,它连自定义菜单都没有,关注之后就弹一条图文信息出来,进入里面的地址后进行投票是可以判断到我这个微信号的投票次数的。而且这个地址在其他地方进去就投不了票,所以应该是判断了openid,我看了他的跳转地址,也没有带上openid的参数,那他是怎样存放这个openid供其他页面使用的呢?
这个公众号是“吃遍佛山”里面的一个宝宝投票活动,有谁可以给我解释一下呢???急。。。

# PHP
高洛峰高洛峰2147 天前584 次浏览

全部回复(5) 我要回复

  • 阿神

    阿神2017-04-10 15:58:26

    我刚刚做完一个微信投票 400w 多票.

    首先 认证过的微信公众号已经都可以使用授权登陆, 有一个模式是非登录只获取 openid.

    授权获取用户信息

    然后使用 根据 openid 获取关注人信息 来判断是否关注了,

    如果关注了,就投票,没关注先关注.

    其他的具体做法,我觉得你可以的.

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:58:26

    localStorage?

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-10 15:58:26

    方法一:直接放在input type="hidden"中
    方法二:放在cookie中
    方法三:放在session中
    方法四:放在memcache等缓存中

    呃呃呃,楼下应该还有补充的。

    回复
    0
  • PHP中文网

    PHP中文网2017-04-10 15:58:26

    对于同一个帐号每个用户的openid是相同的可以根据你的需要进行持久化存储,或者临时性存储

    回复
    0
  • 迷茫

    迷茫2017-04-10 15:58:26

    做微信投票系统,你最好将openid记录到数据库中,这样可以限制票数,同时还可以防止刷票行为,如果你存在本地,用微信的人清除了浏览器缓存,就白搭了
    对于说在其他页面的你可以存在session、cookie、localStrong,作为跳转其页面使用

    回复
    0
  • 取消回复发送