1

好的,所以当有人在 URL 中输入这个时mywebsite.com/?s1=affiliateid

我想affiliateid从 URL 中删除部分。每个会员都会在地址中输入不同的用户名。

然后我想创建一个链接,将differentwebsite.com/?id=affiliateid基于输入到地址栏中的用户名指向。

现在到目前为止,我知道我必须拥有这样的东西才能获得会员 ID

$aff_id = $_GET['s1'];

然后我可以使用该变量来创建链接或将其重定向到下一页

differentwebsite.com/?id=$aff_id

我的问题是,我应该把这段代码放在哪里?$aff_id = $_GET['s1'];

我是否必须制作一个名为?s1.php或什么的页面?

4

3 回答 3

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有像&, =, ?, /(或其他)这样的字符,它不会破坏 url 的完整性。

如果您想要简洁的方法:

<a href="http://differentwebsite.com/?id=<?= urlencode($_GET['s1']); ?>">
  New Url Here
</a>
于 2013-01-29T02:14:20.383 回答
0

将您从 mywebsite.com 获得的 $aff_id 附加到新网站的 url。据推测,$newurl = "differentwebsite.com/?id=".$aff_id.

编辑:

我必须制作一个名为 ?s1.php 的页面吗?

您需要创建一个用户在点击 url 时将登陆的页面:www.mywebsite.com/

我假设您正在运行一个可以处理 PHP 代码的 Web 服务器。代码可以进入服务器文档根目录中名为 index.php 的文件。如果您不知道这是什么,我建议您搜索特定服务器的“操作方法”指南。

从 url 中获取“s1”的值并将其存储在 $aff_id 中:

$aff_id = $_GET['s1'];

如果您想将此变量传递到另一个接受“id”参数的网站,那么您只需将 $aff_id 附加到新的 Web URL 并将用户重定向到那里。

将用户重定向到 differentwebsite.com 并将 $aff_id 从 mywebsite.com 发送到另一个 URL:

header('Location: http://www.differentwebsite.com/?id='.$aff_id); 
于 2013-01-29T02:10:40.710 回答
0

您可以在任何地方$aff_id = $_GET['s1']放置您想要使用$aff_id的 . 我倾向于把类似的东西放在页面的顶部。

或者,简单地说。"differentwebsite.com/?id=$_GET['id']"

我建议您在尝试使用之前检查一下 URL 中是否存在 id 参数。甚至可以确保它是您期望的数据类型,整数、字符串等。因此,当您重定向用户时,您不会以损坏的方式将它们发送到其他地方。

如果您没有将其用于 SQL,则不会发生 SQL 注入 @BlackHatShadow。

于 2013-01-29T02:11:41.730 回答