如何将带有值的链接传递给pahe2.php

时间:2017-09-27 14:45:27

标签: php

这是我的代码片段,它从Active Directory(某些字段)中获取所有用户。第一列(user_name)是对page2.php的引用,我可以在其中看到用户配置文件的更多详细信息。问题是page1.php只传递循环中链接的最后一个值。我该怎么做,用户的任何动态链接都会传递其信息。你可以帮帮我吗?谢谢。 $ info是一组LDAP数据。

这是我的代码:

<?php for ($i=0; $i<$info["count"]; $i++) {             
        $res=$info[$i];

    $m_name=$res["displayname"];  
        $m_title=$res["title"];       
        $m_dep=$res["department"];    
        $m_tel=$res["telephonenumber"];
        $m_mail=$res["mail"];
        ?>

<?php echo '<div class="column"><h5><a href="user.php" target="_blank">'.$m_name[0].'</a></h5></div>'?>
<?php echo '<div class="column"><h5>'.$m_title[0].'</h5></div>'?>
<?php echo '<div class="column"><h5>'.$m_tel[0].'</h5></div>'?>
<?php echo '<div class="column"><h5>'.$m_tel[0].'</h5></div>'?>
<?php echo '<div class="column"><h5>'.$m_mail[0].'</h5></div>'?>
<?php } ?> 

1 个答案:

答案 0 :(得分:0)

根据您的具体操作,您可以通过两种方式完成。根据您所描述的内容以及您对会话的评论,您可以使用会话将信息从一个页面传递到另一个页面。

http://php.net/manual/en/session.examples.basic.php

session_start();
$_SESSION['displayname'] = $res["displayname"]; 
$_SESSION['title'] = $res["title"];       
$_SESSION['department'] = $res["department"];    
$_SESSION['telephonenumber'] = $res["telephonenumber"];
$_SESSION['mail'] = $res["mail"];

然后在第2页上,回读值或直接在页面上使用它们:

$name = $_SESSION['displayname'];

echo 'Hello ' . $_SESSION['displayname'] . ' how are you?';

但如果Page1是所有用户的列表,您如何确定要在会话中存储哪些信息以传递给Page2?

使用GET参数将信息从一个页面传递到另一个页面对我来说更有意义。因此,例如,如果Page1是所有用户的列表,以及有关单个用户的Page2信息,您可以像这样构建循环:

<?php for ($i=0; $i<$info["count"]; $i++) {             
        $res=$info[$i];

    $m_name=$res["displayname"];  
        $m_title=$res["title"];       
        $m_dep=$res["department"];    
        $m_tel=$res["telephonenumber"];
        $m_mail=$res["mail"];
        ?>

<?php echo '<div class="column"><h5><a href="user.php?id=' . $someuniqueidfromLDAP . '" target="_blank">'.$m_name[0].'</a></h5></div>'?>
<?php echo '<div class="column"><h5>'.$m_title[0].'</h5></div>'?>
<?php echo '<div class="column"><h5>'.$m_tel[0].'</h5></div>'?>
<?php echo '<div class="column"><h5>'.$m_tel[0].'</h5></div>'?>
<?php echo '<div class="column"><h5>'.$m_mail[0].'</h5></div>'?>
<?php } ?> 

来自LDAP的唯一ID就是这样。该用户可以使用的独特内容,可用于在Page2上搜索并提取您要打印的所有详细信息。它应该已经存在于你的$ res数组中。

所以Page2在顶部会有这样的东西:

if(!isset($_GET['id']){
    //Give an error if the ID isn't in the URL
}

$id = $_GET['id'];

$result = loadFromLDAP($id);

//Do stuff with the resulting $result array

loadFromLDAP是您要编写的函数,用于从LDAP获取有关用户的详细信息。希望这有助于您走上正确的轨道。