3

我一直在寻找解决问题的方法,但结果太复杂或太简单。

我的网站有一个基本的登录框。我有一个我查询的 LDAP 服务器,用于提取用户名的信息,即 positiontitle。

我有一个名为 group_id 的表,其中有一列名为 title。我想查询该列以在数据库中从 LDAP 中查找用户的职位标题的匹配项。因此,查询将需要包含一个变量。如果匹配,用户将被定向到我网站上的某个页面。如果没有匹配,去别的地方。有什么建议么?

这会从 LDAP 中提取信息

    function getEmpInfo(){
    <?php
    $ldap = new WIN_LDAP('DEV');
$empNum = $_REQUEST['employeeNumber'];
$empResults = @$ldap->getEmpInfo($empNum);
$results = $empResults->positiontitle;
    ?>
    }

这将在数​​据库中查询匹配以定向到正确的页面

    $query = "Select title FROM group_id WHERE title = '$results' ";
    $posResult = mysql_query($query);


    if ($results === $posResult){
    setcookie( md5("name"), md5($_REQUEST['enumber']), time()+3600, "/","", 0);
     header('location: /admin.php');
       } else {
     setcookie( md5("general"), md5($_REQUEST['enumber']), false, "/","", 0);
   header('Location: /general.php');
    }

我知道上面的代码不起作用,但是,它会让你知道我想要做什么

4

1 回答 1

1

帖子已编辑!

这应该工作:)

$myResult = mysql_query("SELECT title FROM group_id"); //This will select ALL titles
$matchFound = false;
while ($titles = mysql_fetch_row($myResult)) //This will fetch myResult until the
//last value. It's a sort of foreach.
{ 
    if ($titles[0] == $results) //For each title grabbed, we check if it is equal to
    //the $results variable. I wrote $titles[0] because mysql_fetch_row puts every row
    //fetched in an array, where the indexes represent the columns. We selected only
    //one column, so there is only $titles[0].
        $matchFound = true;
}
if ($matchFound)
    //Here goes the code to execute if you found the match
else
    //You know it

请注意,标题必须在页面上显示任何布局之前发送,否则将不会发送。确保您的 php 标记之前没有空格/回车,因为这会导致不发送标头。

示例 #1

//no space here
<?php
    header (something); //this will be sent
?>

示例 #2

 //space
<?php
    header(something); //this won't be sent
?>

示例#3

<html>
<?php
    header(something); //this won't be sent neither
?>
于 2013-09-28T01:56:34.370 回答