Avatar billede jop... Nybegynder
12. januar 2005 - 16:12 Der er 11 kommentarer og
1 løsning

If sætning i en included fil..

Hejsa.

Jeg lavede først hele dokumentet i én fil, hvor det hele virkede perfekt. Da jeg så nu har delt det lidt op, for at kunne genbruge funtionen, virker det ikke?

Jeg får følgende fejlmeddelse: "Parse error: parse error, unexpected $ in /usr/home/vipzdk/public_html/chs/auth_top.php on line 8"

Kan man ikke inkludere if sætninger fra andre filer af?

Hvad kan alternativet så være?

Mvh René

----------------------------------------------------------------
Hoveddokument.php
----------------------------------------------------------------
<!-- Hvem skal have adgang på denne side -->
<?
$authsite = 1; // Hvem skal have adgang til siden? 1=Owners 2=trusted 3=members 4=non-members
include ("auth_top.php");
?>

Indhold på siden


<? include ("auth_bund.php"); ?>
   
----------------------------------------------------------------

----------------------------------------------------------------
auth_top.php
----------------------------------------------------------------
<?
$array = split(",",$chskage);
$login_navn = trim($array[0]);
$login_pass = trim($array[1]);
$login_auth = trim($array[2]);

if ($login_auth <= "$siteauth" and $login_auth != "") {
?>
----------------------------------------------------------------

----------------------------------------------------------------
auth_bund.php
----------------------------------------------------------------
<? } else { ?>
<p>Du har ikke tilladelse til at gå ind på denne side</p>
<p>I dette tilfælde skyldes det at:</p>
<? if ($login_auth == "") { ?>
<p>--> Du er ikke logget ind!!</p>
<? } else { ?>
<p>--> Du er logget ind, men har ikke rettigheder til at se siden!</p>

<?
}
}
?>
----------------------------------------------------------------
Avatar billede jop... Nybegynder
12. januar 2005 - 17:03 #1
Var ved at lege lidt med at lave det som en funktion i stedet for.. Men det kunne jeg ikke helt greje. Nogle der ville kunne give et eks på det?
Avatar billede iss Novice
12. januar 2005 - 18:23 #2
function Auth() {
if (lav hvad du tester for er en valid bruger) {
  header("Location: /");
  exit();
}
}

Så kalder Auth(); i toppen af alle de filer du vil være sikker på at kun folk der er logget ind må se. Du kan hurtigt lave dine tre levels på, ved at kalde den med Auth(1); for level 1, function Auth() skal så være function Auth($level) og du henter level med $level.
Avatar billede jop... Nybegynder
12. januar 2005 - 22:34 #3
Men hvorfor virker det andet ikke?
Avatar billede iss Novice
12. januar 2005 - 22:37 #4
Fordi at PHP parser hver fil for sig, kan den ikke køre alene kan den heller ikke includes.
Avatar billede jop... Nybegynder
12. januar 2005 - 22:40 #5
Dvs at jeg ikke kan få det til at virke? på min måde altså?

  header("Location: /"); <--- Den sender til en ny side, eller?
Avatar billede iss Novice
12. januar 2005 - 22:44 #6
Netop, Så skal du lægge den if else uden for de to include filer.

header("Location: /"); smide en til roden af domænet.
Avatar billede jop... Nybegynder
12. januar 2005 - 22:45 #7
Jeg er ked af det, men jeg er ikke helt med.. har endnu ikke arbejdet med funktioner.. VIl du være sød lige at kopiere min kode sammen, som du mener den skal være.. Jeg vil da også gerne smide lidt flere point i spm, hvis det er det der ska til...
Avatar billede jop... Nybegynder
12. januar 2005 - 22:50 #8
ville det hjælpe at kalde: auth_top.php auth_top.txt i stedet for?
Avatar billede iss Novice
12. januar 2005 - 22:54 #9
Tror det ville være nemmere at lægge din if else uden for.
Avatar billede iss Novice
12. januar 2005 - 23:02 #10
At kalde den noget andet gør ingen forskel, den ses stadig som en php fil.
Avatar billede jop... Nybegynder
14. januar 2005 - 18:23 #11
Ok, tak for hjælpen.. Smider du et svar?
Avatar billede iss Novice
15. januar 2005 - 00:05 #12
Jep...
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