PHP:如何保留和使用链接参数

时间:2014-06-29 21:12:33

标签: php forms

我目前正在尝试制作一份基本的推荐表格。过程如下:

  1. 推荐人将使用表单向他们的朋友发送电子邮件。 (示例:http://www.graphicgoldfish.com/refer.html)如您所见,表单需要用户名和IGN(游戏内名称)。这非常重要。

  2. 使用引荐来源信息作为参数生成链接。一旦朋友完成第二个表格,参数将用于奖励推荐人。 (例如:http://www.graphicgoldfish.com/referral.html?ref_username=LRRoberts0122&ref_ign=DerpyGoldfish

  3. 点击该链接后,会打开第二个表单,朋友可以在其中输入信息。 我的问题是,当朋友提交表单时,原始网址中的参数不会被传递。

  4. 如何在提交后保留这些参数?

    我的PHP:

    <?php
    echo $_GET['ref_username'];
    echo $_GET['ref_ign'];
    
    if (isset($_GET['ref_username'])) {
    $r_username = $_GET['ref_username'];
    }
    
    if (isset($_GET['ref_ign'])) {
        $r_ign = $_GET['ref_ign'];
    }
    

    这似乎都没有做我想做的事。我的猜测是它不存在,因为如果我运行PHP并手动添加参数,它就可以工作。我不确定如何自动完成这项工作。

    编辑:参数将从生成的链接传递到HTML文件中。朋友需要填写表格。如何将参数中传递的值获取到HTML文件中,并将它们连接到操作(它提交给PHP文件的位置)?

    这对我不起作用。

    <form action="http://www.graphicgoldfish.com/php/referral.php?ref_username=<?php echo $ref_username ?>&ref_ign=<?php echo $ref_ign?>" method="POST">
    

1 个答案:

答案 0 :(得分:1)

首先关闭...在您的generator.php表单中。您使用发布而不是 GET

因此,您应该按原样检索变量。

if (isset($_POST['ref_username'])) {
  $r_username = $_POST['ref_username'];
}

if (isset($_POST['ref_ign'])) {
   $r_ign = $_POST['ref_ign'];
}

其次,当您使用其中的参数生成该链接时。您将参数传递给 html 文件。

 http://www.graphicgoldfish.com/referral.html?ref_username=LRRoberts0122&ref_ign=DerpyGoldfish

您需要将它们传递给 php 文件才能使其正常工作......

http://www.graphicgoldfish.com/referral.php?ref_username=LRRoberts0122&ref_ign=DerpyGoldfish