【问题标题】:Pass PHP variable to server将 PHP 变量传递给服务器
【发布时间】:2013-09-11 13:10:32
【问题描述】:

所以我在几个嵌套的foreach 语句中有$date = array($year,$month); 这个变量。我有一个链接,按下时应该将$date 变量传递给我的functions.php 供我使用。

我正在使用 wordpress,到目前为止,我知道链接必须像这样工作:

$link = admin_url('admin-ajax.php?[$date variable needs to go here]&post_id='.$post->ID.'&nonce='.$nonce); 

基本上我的问题是上面的链接究竟需要如何格式化才能发送我的变量?另外,在服务器端,如何最好地接收该变量?

【问题讨论】:

  • 您的$date 变量与您的$nonce 变量是否不同?它们都是变量,发送方式相同
  • @Bora 英文相同:http_build_query
  • @tymeJV 这与服务器端无关。他正确地尝试这样做,唯一的问题是他想输出一个数组。
  • @Kyle Joseph 不,您只需在输出之前将它们转换为字符串,然后再将它们转换回来(例如,使用 http_build_query 或 json_encode() + json_decode())。如果您将数据转发到链接,请不要忘记使用 urlencode。

标签: php ajax wordpress


【解决方案1】:

首先,你不能直接通过GET请求发送数组(GET请求是url中可见的参数,通俗地说)

因此,您应该执行以下操作:

$date = "$year-$month"; //example: 2013-09
$link = admin_url('admin-ajax.php?my_date='.$date.'&post_id='.$post->ID.'&nonce='.$nonce);

将 url 分解为组件,用外行的话来说:

  1. ? 之前的所有内容都是服务器地址和需要服务的页面
  2. 之后的所有内容都是所谓的“查询字符串”,它是由与符号 & 分隔的对 (A=B) 序列。

所以,一个看起来像这样的 URL

www.example.com/dynamic_page.php?A=B&C=D&E=F

意思是:

访问 www.example.com,获取名为“dynamic_page.php”的页面并使用变量 A 的值 B,变量 C 的值 D 和变量 E 的值 F。

【讨论】:

  • 非常感谢 :) 解释得很好。
猜你喜欢
  • 1970-01-01
  • 2021-08-05
  • 2021-04-01
  • 2014-09-28
  • 2014-05-09
  • 1970-01-01
  • 2014-06-07
  • 2020-01-24
  • 1970-01-01
相关资源
最近更新 更多