Avatar billede bono Nybegynder
23. februar 2004 - 16:03 Der er 9 kommentarer og
1 løsning

Problemer med PHP-Script

Jeg har et træls problem med nedenstående PHP-script. Hver gang jeg køre scriptet får jeg denne felj: Parse error: parse error, unexpected ';' in c:\apache\htdocs\http_authentication.php on line 22

Scriptet ser således ud (stedet som fejlmeddelelsen referere til er markeret med +++):
<HTML>
<HEAD>
<Title></title>
</HEAD>
<BODY>
<?php
function check_pass($login, $password, $mode)  {
  global $password_file;
  if(!$fh = fopen($password_file, "r")) { die("<P>Kunne ikke åbne password-fil!"); }
  $match = 0;
  while(!feof($fh)) {
    $line = fgets($fh, 4096);
    $from_file = explode(":", $line);
    if($from_file[0] == $login) {
      if($mode == "crypt"){
        $salt = substr($from_file[1],0,2);
        $user_pass = crypt($password,$salt);
      } elseif ($mode == "md5") {
        $user_pass = md5($password);
      }
      if(rtrim($from_file[1]) == $user_pass {
+++        $match= 1 ;     
        break;
      }
    }
  }
  if($match) {
    return 1;
  } else {
    return 0;
  }
  fclose($fh);
}
function authenticate() {
  Header("WWW-Authenticate: Basic realm=\"RESTRICTED ACCESS\" ");
  Header("HTTP/1.0 401 Unauthorized");
  echo ("<h1>Ugyldigt brugernavn eller password - adgang nægtet!<h1>");
  exit;
}
/*** MAIN ***/
//vælg md5 eller crypt til $mode. md5 anvendes med md5-krypterede passwords, crypt anvendes ved passwords der er krypteret med Apaches httpasswd
$mode = "md5";
$password_file = "pass.txt";
if (!isset($PHP_AUTH_USER)) {
} else {
  if(check_pass($PHP_AUTH_USER, $PHP_AUTH_PW, $mode)) {
    ?>
    <h1>Accepteret!</h1>
    <?
  } else {
  authenticate();
  }
}
?>
</BODY>
</HTML>


Nogen der ved hvad er er galt ??
Avatar billede nikolajdu Nybegynder
23. februar 2004 - 16:11 #1
+++        $match= 1 ;

???
Avatar billede nikolajdu Nybegynder
23. februar 2004 - 16:11 #2
mon ikke du ksla have dine mange plusser væk :))
Avatar billede bono Nybegynder
23. februar 2004 - 16:36 #3
Plusserne er der ikke normalt. De er der for at vise hvor fejlen skulle ligge iflg. fejl-meddelelsen.
Avatar billede schaefner Juniormester
23. februar 2004 - 16:37 #4
if(rtrim($from_file[1]) == $user_pass) {
Avatar billede schaefner Juniormester
23. februar 2004 - 16:38 #5
Du mangler en slut-parentes ")"
Avatar billede nikolajdu Nybegynder
23. februar 2004 - 16:56 #6
Du mangle i øvrigt en parentes lige ovenover.

if(rtrim($from_file[1])) == $user_pass {
Avatar billede nikolajdu Nybegynder
23. februar 2004 - 16:57 #7
Nå jeg ska da vidst opdatere...
Avatar billede bono Nybegynder
23. februar 2004 - 21:24 #8
schaefner >> Mange tak! nu virker det - det er utroligt hvad man dog kan overse. hvis du lige sender et Svar så kan du få de udstedte point.
Avatar billede schaefner Juniormester
23. februar 2004 - 21:29 #9
svar :)

mvh:jesper.sørensen
Avatar billede bono Nybegynder
23. februar 2004 - 21:36 #10
Helt fint ! :-)
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