使用URL中的"next"参数传递多个GET变量

Cat*_*Cat 0 php parameters redirect get

我在$_GET使用"next" 传递多个变量时遇到问题.

我正在将用户重定向到登录页面:

login?next=initial_page?email=john_doe@gmail.com&activate_key=1421sdxzcxz213xz
Run Code Online (Sandbox Code Playgroud)

问题是激活密钥被视为$_GET登录页面上的第二个参数(以及"下一个"),而不是重定向的$ _GET的一部分.

一个解决方案是使用cookies,有什么方法我仍然可以使这个工作$_GET吗?

谢谢!

Jor*_*ing 8

您需要使用urlencode编码参数数据 - 如下所示:

echo '<a href="login?next=' . urlencode('initial_page?email=john_doe@gmail.com&activate_key=1421sdxzcxz213xz') . '">link</a>';
Run Code Online (Sandbox Code Playgroud)

这将生成如下链接:

<a href="login?next=initial_page%3Femail%3Djohn_doe%40gmail.com%26activate_key%3D1421sdxzcxz213xz">link</a>
Run Code Online (Sandbox Code Playgroud)

......将被正确解释.