Avatar billede cambiare Nybegynder
14. november 2009 - 03:24 Der er 5 kommentarer

undefined function or die

Hey! Jeg sidder med et problem her som jeg tænkte i nok skulle kunne fortælle mig hvordan jeg fik løst ;)

Jeg har et dokument som bliver included i et andet dokument, men når det står alene og man tilgår det vil jeg gerne udskrive en fejlmeddelse hvor der står:"Permission denied" ..

I filen efterspørger den functionen getLoggedIn()
Hvis man tilgår filen direkte fejler den, da functionen ikke findes i filen.. Der vil jeg så gerne udskrive en fejl med teksten "Permission denied" - men da functionen kommer først kommer fejlbeskeden på denne før noget andet.. Hvad kan jeg gøre?


Fatal error: Call to undefined function getLoggedIn() in /Applications/MAMP/htdocs/admin/Pages/Profile/profileinfo.php on line 2

Har prøvet med:
<?php
    if ((getLoggedIn() or die("You're not permitted to view this page"))) { ?>

uden held..
Please help!

På forhånd tak!
Avatar billede showsource Seniormester
14. november 2009 - 08:31 #1
if(!function_exists('getLoggedIn')) {
echo"You're not permitted to view this page";
exit;
}
Avatar billede showsource Seniormester
14. november 2009 - 08:36 #2
Selv bruger jeg gerne:

define("MINVAR", "et_eller_andet");

før jeg includer nogen filer.

Og så i include filen:

if(!defined("MINVAR")) {
exit;
}
Avatar billede j4k0b Nybegynder
15. november 2009 - 09:35 #3
Personligt ville jeg sørge for at de filer der ikke skal kunne tilgås direkte ligger udenfor htdocs-mappen. De fleste webhoteller har en "private_html" mappe eller lignende som ikke ligger under htdocs. Du kan sørge for at man kan importere fra mappen ved at tilføje den i PHPs import dir:

ini_set('include_path',
  ini_get('include_path') . PATH_SEPARATOR . '/sti/hvor/filer/importeres/fra/')

Hvis det ikke er muligt ville jeg gøre som showsource skriver i sit 2. indlæg, definere en konstant og bruge defined() til at tjekke om den er defineret.
Avatar billede cambiare Nybegynder
24. august 2010 - 16:03 #4
Hey showsource! Det er længe siden ;) Men ville lige lukke den. Brugte din metode og hvis du vil smide et svar giver jeg point.
Avatar billede showsource Seniormester
24. august 2010 - 17:02 #5
Ok
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