Avatar billede exposure Nybegynder
12. oktober 2004 - 15:14 Der er 8 kommentarer og
1 løsning

header Authenticate problem

Har følgende code:

function auth()
{
        // if empty, send header causing dialog box to appear
        header('WWW-Authenticate: Basic realm="Husk at din email er dit brugernavn"');
        header('HTTP/1.0 401 Unauthorized');
        echo "Error";

        exit;
}
   
    if(isset($_SERVER['PHP_AUTH_USER']))
        $user = $PHP_AUTH_USER;
    else
        $user = "";

    if(!isset($_SERVER['PHP_AUTH_USER']))
        $pass = crypt(md5($_SERVER['PHP_AUTH_PW']), md5($_SERVER['PHP_AUTH_PW']));
    else
        $pass = crypt(md5($_SERVER['PHP_AUTH_PW']), md5($_SERVER['PHP_AUTH_PW']));

   

      $sql = "SELECT * FROM user WHERE email='$user' AND pass='$pass'";

    $result = mysql_query($sql) or die(mysql_error());

   
    $row = mysql_fetch_array($result);
    $user_id = $row['id'];

   
        // check if the username and password are correct       
        if ($user_id)
        {
            // dispay happy message and admin stuff
    echo 'Done';
           
        }
        else
        {
            // display angry message for invalid user

    echo auth();;
        }


og kommer med følgende fejl:

Notice: Undefined index: PHP_AUTH_PW in auth.php on line 20

Notice: Undefined index: PHP_AUTH_PW in auth.php on line 20

Hvad er der galt?
Avatar billede exposure Nybegynder
12. oktober 2004 - 15:15 #1
Den originale kode ser sådan ud:

function auth()
{
        // if empty, send header causing dialog box to appear
        header('WWW-Authenticate: Basic realm="Husk at din email er dit brugernavn"');
        header('HTTP/1.0 401 Unauthorized');
        echo "Error";

        exit;
}
    $pass = crypt(md5($_SERVER['PHP_AUTH_PW']), md5($_SERVER['PHP_AUTH_PW']));
       

      $sql = "SELECT * FROM user WHERE email='$PHP_AUTH_USER' AND pass='$PHP_AUTH_PW'";

    $result = mysql_query($sql) or die(mysql_error());

   
    $row = mysql_fetch_array($result);
    $user_id = $row['id'];

   
        // check if the username and password are correct       
        if ($user_id)
        {
            // dispay happy message and admin stuff
    echo 'Done';
           
        }
        else
        {
            // display angry message for invalid user

    echo auth();;
        }
Avatar billede stois Nybegynder
12. oktober 2004 - 15:33 #2
error_reporting(E_ERROR | E_WARNING)

Det er nemlig ikke en reel fejl, har fået det før og de var ikke noget koden virkede alligevel...
Avatar billede stois Nybegynder
12. oktober 2004 - 15:34 #3
men jeg kunne tage fejl.... >=( det ville være typisk mit held idag >=(
Avatar billede exposure Nybegynder
12. oktober 2004 - 15:36 #4
Men hvordan jeg dem til at forsvinde?
Avatar billede exposure Nybegynder
12. oktober 2004 - 15:37 #5
okay tak.
Avatar billede hmortensen Nybegynder
12. oktober 2004 - 15:41 #6
Prøv sådan her:
if(!isset($_SERVER['PHP_AUTH_PW']))
        $pass = crypt(md5($_SERVER['PHP_AUTH_PW']), md5($_SERVER['PHP_AUTH_PW']));
    else
        $pass = "";
Avatar billede stois Nybegynder
12. oktober 2004 - 15:43 #7
virkede det?
Avatar billede stois Nybegynder
12. oktober 2004 - 15:43 #8
Havde jeg ret? *er vildt forvirret, specielt hvis jeg havde ret*
Avatar billede exposure Nybegynder
12. oktober 2004 - 18:31 #9
Fejlen kommer ikke mere, men har prob med PHP_AUTH_USER se:
http://www.eksperten.dk/spm/549580
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester