根据您单击的链接重定向到特定页面

时间:2013-10-03 07:40:53

标签: php redirect

我的代码有一个奇怪的问题。

我会解释。

我有2页。我想从一个页面转到另一个页面。我必须显示属于该链接的信息,这取决于我点击的链接。现在我用:

<a href=profile.php?comment_username={$comments['username']}>{$comments['username']}</a>

所以我在3种不同的情况下使用它。 2正在运作,但另一个不是:

  1. 工作人员:
  2. 第1页:

    $sql_result = $mysqli2->query("SELECT * FROM questions");
    
        while ($thread = mysqli_fetch_assoc($sql_result)) {
    
    
        echo <<<EOT
        <table>
        <th><a href=thread.php?thread_id={$thread['thread_id']}> {$thread['title']} </a></th>
        </table>
        EOT;
    
        $_SESSION['idcheck']=$thread['thread_id'];
        }
    

    第2页:

    $thread_id =$mysqli2->real_escape_string($_SESSION['idcheck']);
    $sql_result = $mysqli2->query("SELECT * FROM questions WHERE thread_id = '".$thread_id."'");
    

    所以现在我可以在页面上显示结果。

    1. 第二个工作:
    2. 第1页:

      while ($plant = $resultaat->fetch_assoc()){
      echo <<<EOT
      <form method="get" action="sql.php">
      <a href="plant.php?plantcode={$plant['plantcode']}"> {$plant['plantnaam']} </a> 
      //some more stuff
      </form>
      EOT;
      }
      

      第2页:

      $plantcode = $_GET['plantcode'];
      $resultaat = $mysqli->query("select plantcode, plantnaam, kleur, soort, prijs, hoogte, bloeitijd_start, bloeitijd_einde from plant where plantcode={$plantcode}");
      

      在所有这些之后,我可以显示属于他们点击的链接的信息。

      现在我的问题。

      我认为我不能使用它们中的任何一个。在第一个例子中,我使用的是SESSIONS,我在第3个例子中无法做到,因为它是一个问题/评论页面,你可以点击用户名,但是评论的用户名在不同的sql表中。我实际上尝试了SESSIONS但是当我点击评论用户名时,它会指向属于​​该问题的用户名。

      在我的第二页我正在使用表单,所以我可以使用GET。我可以使用它但我实际上不想使用表单。所以这些是我的问题。

      很抱歉让它变得如此模糊。 我真正想知道的是,我知道如何使用1变量重定向然后显示属于它的信息,但我的问题/评论页面有2个不同的变量,但在点击时仍然应该转到同一页面并显示信息属于用户名。所以我使用:SELECT * FROM account_information WHERE username = '".$profileusername."'&gt;我不能用2个变量

      这是我的情况:

      第1页:

      <a href=profile.php?thread_username={$thread['username']}> {$thread['username']}</a>
      
      <a href=profile.php?comment_username={$comments['username']}>{$comments['username']}</a>
      

      第2页:

      根据他们点击的链接,值应该出现在这里:

      $profileusername =$mysqli2->real_escape_string();
      $sql_result = $mysqli->query("SELECT * FROM account_information WHERE username = '".$profileusername."'");
      

1 个答案:

答案 0 :(得分:1)

链接可以是:

<a href="http://mysite.com/?thread_username=THREAD_USERNAME"   >Thread Username </a>
<a href="http://mysite.com/?ccomment_username=COMMENT_USERNAME">Comment Username</a>

检查它是什么:

if(!empty($_GET['thread_username'])){
    //If thread username link was clicked
    $profileusername = $_GET['thread_username'];
}
else if(!empty($_GET['comment_username'])){
    //If comment username was clicked
    $profileusername = $_GET['comment_username'];
}
else{
    //No username has been entered
}

//Continue with rest of your code:
$profileusername =$mysqli2->real_escape_string();
$sql_result = $mysqli->query("SELECT * FROM account_information WHERE username = '".$profileusername."'");