好的,当有人在网址mywebsite.com/?s1=affiliateid
我想从网址中取出affiliateid
部分。每个会员都会在地址中添加不同的用户名。
然后我想根据输入地址栏的用户名创建指向differentwebsite.com/?id=affiliateid
的链接。
现在到目前为止,我知道我必须拥有这样的会员才能获得会员身份
$aff_id = $_GET['s1'];
然后我可以使用该变量创建链接或只是将其重定向到下一页
differentwebsite.com/?id=$aff_id
我的问题是,我在哪里放置此代码? $aff_id = $_GET['s1'];
我是否必须制作一个名为?s1.php
的网页?
答案 0 :(得分:1)
假设s1
在其他地方没有使用,只是为了创建一个链接:
<?php
$s1 = isset($_GET['s1']) && !empty($_GET['s1'])
? $_GET['s1'] // it's populated, use the passed value
: ''; // default value in case it's not present
//
// Maybe check $s1 is indeed valid
//
$newurl = sprintf('http://differentwebsite.com/?id=%s', urlencode($_GET['s1']));
?>
然后您可以在页面的某个位置输出该链接,例如:
<a href="<?= $newurl; ?>">New Url Here</a>
urlencode
会确保s1
包含&
,=
,?
,/
(或其他)等字符不要破坏网址的完整性。
如果你想要简洁的方法:
<a href="http://differentwebsite.com/?id=<?= urlencode($_GET['s1']); ?>">
New Url Here
</a>
答案 1 :(得分:0)
将mywebsite.com获得的$ aff_id附加到新网站的网址。据推测,$ newurl =“differentwebsite.com/?id =”。$ aff_id。
编辑:
我是否必须创建一个名为?s1.php的页面?
您需要创建一个页面,用户在访问网址时将会登陆该网页:www.mywebsite.com /
我假设您正在运行可以处理PHP代码的Web服务器。代码可以进入服务器文档根目录中名为index.php的文件中。如果您不知道这是什么,我建议使用Google搜索特定服务器的“操作方法”指南。
从网址获取“s1”的值并将其存储在$ aff_id:
中$aff_id = $_GET['s1'];
如果您想将此变量传递到另一个接受“id”参数的网站,那么您只需将$ aff_id附加到新的网址并将用户重定向到该网址即可。
将用户重定向到differentwebsite.com,并将$ aff_id从mywebsite.com发送到其他网址:
header('Location: http://www.differentwebsite.com/?id='.$aff_id);
答案 2 :(得分:0)
在您想要使用$aff_id = $_GET['s1']
之前,您可以将$aff_id
放在任何位置。我倾向于把这样的东西放在页面顶部。
或者,简单地说。 "differentwebsite.com/?id=$_GET['id']"
我建议您在尝试使用之前检查URL中是否存在id参数。甚至可以确保它是您期望的数据类型,整数,字符串等。因此,当您重定向用户时,您不会以其他方式将它们发送到其他地方。
如果你没有将它用于SQL,那么@BlackHatShadow就不会发生SQL注入。