【问题标题】:Passing in a PHP variable into a Twitter Callback URL将 PHP 变量传递到 Twitter 回调 URL
【发布时间】:2011-06-05 11:27:36
【问题描述】:

我希望 twitter 将用户发送回

site.com/person.php?person=$curr_person

其中$curr_person是存储在$_SESSION['person']中并从$_GET['person']获取的会话变量

问题是当 Twitter 重定向回我的网站时,$curr_person 没有经过评估,而是按字面意思理解。我假设重定向没有击中我的服务器......我怎样才能让回调URL 得到正确评估?

谢谢

【问题讨论】:

  • 生成重定向网址的代码是什么样的?
  • twitter 处理重定向...我只是设置了 URL,它与我在第二行中的相同... site.com/person.php?person=$curr_person
  • 是的,第二行的这个字符串,它在你的代码中出现在哪里?它是在双引号还是单引号内?单引号不会解析 PHP 变量 inline 等等等等,没有代码我们不能说太多

标签: php callback twitter twitter-oauth


【解决方案1】:

它未被评估的原因可能是因为您将它作为字符串的一部分输入:

$twitter->call('site.com/person.php?person=$curr_person');

但是有两种解决方案:

  1. 连接

    $twitter->call('site.com/person.php?person=' . $curr_person);
    
  2. 使用双引号

    $twitter->call("site.com/person.php?person=$curr_person");
    

希望这会有所帮助。

附言。当然,我假设您将此 URL 传递给某个方法(例如 $twitter->call()),因此不要只是复制代码 - 只需熟悉两种解决方案与我回答开头代码的不同之处即可。

【讨论】:

  • 强烈推荐给urlencode()一个动态添加的url查询值。
  • 谢谢Tadeck!..但我没有传递任何东西...我只是在这里输入了一个字段:dev.twitter.com/apps/new@unset 你能给我更多关于 urlencode 的信息吗?
  • @algorithmicCoder:如果您使用动态数据创建 URL 查询,您应该使用 urlencode 对它们进行编码。请查看使用手册。很简单:php.net/manual/en/function.urlencode.php
  • @algorithmicCoder 如果你是在 Twitter 设置页面输入的,那肯定是不行的,你也不能这样解决。如果您将此变量存储在会话中,只需将其保留在那里并且不要在 URL 中传递它——它将在对 Twitter 的初始调用和来自 Twitter 的回调之间保留。我相信还有另一种选择,但是当您将用户重定向到 Twitter 时,它需要提供自定义(Twitter 可接受 - 这是另一个主题)URL 作为回调。
  • @unset 正确,urlencode() 会很棒(尤其是因为它是在 GET 参数中传递的),除非在这种情况下 - OP 在其他地方提供值,您可能知道。
猜你喜欢
  • 1970-01-01
  • 2014-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-13
  • 2011-05-02
  • 1970-01-01
相关资源
最近更新 更多