3

問題の解決策を見つけるために検索しましたが、結果が複雑すぎるか単純すぎました。

サイトへの基本的なログイン ボックスがあります。ユーザー名の情報、つまりpositiontitleを取得するためにクエリを実行するLDAPサーバーがあります。

title という名前の列を持つ group_id という名前のテーブルがあります。DB で、LDAP からのユーザーの positiontitle の一致を見つけるために、列を照会したいと考えています。したがって、クエリには変数を含める必要があります。一致した場合、ユーザーは私のサイトの特定のページに誘導されます。一致しない場合は、別の場所に移動します。助言がありますか?

これにより、LDAP から情報が取り込まれます

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

これにより、一致するものを DB に照会して、正しいページに移動します。

    $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 に答える