当缺少一个参数=value时,GET[]工作失败


GET[] fails to work when one parameter is missing =value?

查询字符串的结尾如下:

tweetpushr.php?attachments&id=20&tweetbody=Wassup%20David.%20Love%20you%20like%20a%20brutha&catid=6&catid2=6&catid3=10&dtpub=0000-00-00%2000:00:00&dtpush=0000-00-00%2000:00:00&usrpush=&id=20&tweetbody=Just%20a%20little%20more%20CSS%20and%20some%20polish%20man.&catid=8&catid2=1&catid3=1&dtpub=0000-00-00%2000:00:00&dtpush=0000-00-00%2000:00:00&usrpush=

我试图使用$_GET['tweetbody']访问它的变量,但它看起来好像附件修饰符没有=,并阻止我获得变量。

如何获得tweetbody的值?

没有理由从attachments中缺少=会阻止您获得任何其他变量。attachments项将简单地用空字符串填充,其余变量将正常解析。只要尝试一个包含<?php var_dump($_GET); ?>的脚本,并传递上面的字符串,你会看到所有的键/值都像你期望的那样出现。

然而,tweetbody键在查询字符串中出现两次(与大多数其他键一样)-这是它没有您期望的值的原因吗?

你发送了两次"tweetbody"…我认为你应该在变量名之后使用[]重写你的querystring(这样你就可以将它们作为数组读取),或者更好地将其编码为JSON或类似的东西。