这是我的代码片段,它从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 } ?>
答案 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获取有关用户的详细信息。希望这有助于您走上正确的轨道。