Likes Likes:  0
Resultaten 1 tot 15 van de 15
Geen
  1. #1
    Paul van der Vlis
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    [php] include probleem

    Hoi,

    Ik heb een raar probleem met include.

    Ik wil een pagina inlezen in een variabele, zoiets:
    $pagina1 = include ('pagina1.inc');

    Maar dit gaat niet goed, in plaats daarvan geeft dit de inhoud van
    pagina1.inc weer.

    Ook dit werkt niet:
    $pagina1 = "include ('pagina1.inc')";

    Volgens de manual zou het gewoon moeten kunnen:
    http://nl2.php.net/manual/nl/function.include.php

    Iemand een idee wat er fout is? "pagina1.inc" is een php pagina (hij
    begint met <?php ), maar heeft een .inc extentie.

    Groetjes,
    Paul.


  2. #2
    miseryman
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    Paul van der Vlis wrote:

    > Maar dit gaat niet goed, in plaats daarvan geeft dit de inhoud van
    > pagina1.inc weer.
    >
    > Ook dit werkt niet:
    > $pagina1 = "include ('pagina1.inc')";
    >
    > Volgens de manual zou het gewoon moeten kunnen:
    > http://nl2.php.net/manual/nl/function.include.php
    >
    > Iemand een idee wat er fout is? "pagina1.inc" is een php pagina (hij
    > begint met <?php ), maar heeft een .inc extentie.


    Misschien wordt *.inc niet herkend als een bestand dat geparst moet
    worden door PHP? Als je Apache gebruikt, probeer eens iets als

    AddType application/x-httpd-php .inc

    toe te voegen aan een .htaccess of httpd.conf.

    --
    Raf

  3. #3
    De Snor
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    Op Wed, 10 Dec 2003 14:57:32 +0100 schreef Paul van der Vlis
    <paul@vandervlis.nl>:

    >Ik wil een pagina inlezen in een variabele, zoiets:
    >$pagina1 = include ('pagina1.inc');
    >
    >Maar dit gaat niet goed, in plaats daarvan geeft dit de inhoud van
    >pagina1.inc weer.
    >
    >Ook dit werkt niet:
    >$pagina1 = "include ('pagina1.inc')";
    >
    >Volgens de manual zou het gewoon moeten kunnen:
    >http://nl2.php.net/manual/nl/function.include.php
    >
    >Iemand een idee wat er fout is? "pagina1.inc" is een php pagina (hij
    >begint met <?php ), maar heeft een .inc extentie.
    >


    $pagina1 = file('pagina1.inc')
    http://nl.php.net/manual/nl/function.file.php
    --
    Greetz,
    De Snor

  4. #4
    Paul van der Vlis
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    miseryman wrote:
    > Paul van der Vlis wrote:
    >
    >
    >>Maar dit gaat niet goed, in plaats daarvan geeft dit de inhoud van
    >>pagina1.inc weer.
    >>
    >>Ook dit werkt niet:
    >>$pagina1 = "include ('pagina1.inc')";
    >>
    >>Volgens de manual zou het gewoon moeten kunnen:
    >>http://nl2.php.net/manual/nl/function.include.php
    >>
    >>Iemand een idee wat er fout is? "pagina1.inc" is een php pagina (hij
    >>begint met <?php ), maar heeft een .inc extentie.

    >
    >
    > Misschien wordt *.inc niet herkend als een bestand dat geparst moet
    > worden door PHP?


    Dat wordt inderdaad niet herkent als te parsen bestand, maar dat wil ook
    (uit veiligheidsredenen). Ik wil dat het pas geparst wordt in het
    bestand met de include.

    Groetjes,
    Paul.


  5. #5
    Paul van der Vlis
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    De Snor wrote:
    > Op Wed, 10 Dec 2003 14:57:32 +0100 schreef Paul van der Vlis
    > <paul@vandervlis.nl>:
    >
    >
    >>Ik wil een pagina inlezen in een variabele, zoiets:
    >>$pagina1 = include ('pagina1.inc');
    >>
    >>Maar dit gaat niet goed, in plaats daarvan geeft dit de inhoud van
    >>pagina1.inc weer.
    >>
    >>Ook dit werkt niet:
    >>$pagina1 = "include ('pagina1.inc')";
    >>
    >>Volgens de manual zou het gewoon moeten kunnen:
    >>http://nl2.php.net/manual/nl/function.include.php
    >>
    >>Iemand een idee wat er fout is? "pagina1.inc" is een php pagina (hij
    >>begint met <?php ), maar heeft een .inc extentie.

    >
    > $pagina1 = file('pagina1.inc')
    > http://nl.php.net/manual/nl/function.file.php


    Dit zet de gegevens in een array en niet in een string.
    Via deze functie kwam ik bij file_get_contents() wat dat wel doet. Maar
    daar zit ik met het probleem dat de php niet geparsed wordt.

    Groet,
    Paul.


  6. #6
    Jan Ehrhardt
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    Paul van der Vlis in nl.internet.www.server-side (Wed, 10 Dec 2003
    15:28:43 +0100):

    >Dat wordt inderdaad niet herkent^Hd als te parsen bestand, maar dat wil ik ook
    >(uit veiligheidsredenen). Ik wil dat het pas geparst wordt in het
    >bestand met de include.


    Dat kun je toch ook anders regelen. Bijvoorbeeld:
    Zet $includes = 1 in het bestand dat de *.inc aanroept
    Begin de *.inc met: if (!$includes) die("In je dromen");

    Jan
    --
    Look, Ma. No tables - http://www.steenbergen-stichting.nl/enbio.html

  7. #7
    Daniel Tryba
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    Paul van der Vlis <paul@vandervlis.nl> wrote:
    > Ik wil een pagina inlezen in een variabele, zoiets:
    > $pagina1 = include ('pagina1.inc');
    >
    > Maar dit gaat niet goed, in plaats daarvan geeft dit de inhoud van
    > pagina1.inc weer.


    Dat is precies wat include dient te doen.

    > Ook dit werkt niet:
    > $pagina1 = "include ('pagina1.inc')";
    >
    > Volgens de manual zou het gewoon moeten kunnen:
    > http://nl2.php.net/manual/nl/function.include.php


    Waar lees je dat? include() heeft geen return value!

    Ik snap eigenlijk niet wat je wilt bereiken. Je wilt de "inhoud" van
    pagina1.inc gebruiken als string in je script maar het moet wel de door
    PHP geinterpreteerde "inhoud" van pagina1.inc zijn, maar .inc mag niet
    als php worden geinterpreteerd?

    Als dit inderdaad is wat je wilt (maar ik kan me niet voorstellen waarom
    dit op zo'n omweg wilt doen). Dan moet je inderdaad file() of
    aanverwanten gebruiken en dan de resulterende string eval-en. Maar als
    er iets goor is dan is het het gebruik van eval.

    --

    Daniel Tryba


  8. #8
    Paul van der Vlis
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    Daniel Tryba wrote:
    > Paul van der Vlis <paul@vandervlis.nl> wrote:
    >
    >>Ik wil een pagina inlezen in een variabele, zoiets:
    >>$pagina1 = include ('pagina1.inc');
    >>
    >>Maar dit gaat niet goed, in plaats daarvan geeft dit de inhoud van
    >>pagina1.inc weer.

    >
    >
    > Dat is precies wat include dient te doen.
    >
    >
    >>Ook dit werkt niet:
    >>$pagina1 = "include ('pagina1.inc')";
    >>
    >>Volgens de manual zou het gewoon moeten kunnen:
    >>http://nl2.php.net/manual/nl/function.include.php

    >
    >
    > Waar lees je dat? include() heeft geen return value!
    >
    > Ik snap eigenlijk niet wat je wilt bereiken. Je wilt de "inhoud" van
    > pagina1.inc gebruiken als string in je script maar het moet wel de door
    > PHP geinterpreteerde "inhoud" van pagina1.inc zijn, maar .inc mag niet
    > als php worden geinterpreteerd?


    Ik wil niet dat mensen die pagina direct kunnen openen en dan de inhoud
    van de variabelen zien.

    Die include met resultaten wordt in allerlei pagina's gebruikt, maar ik
    wil hem ook kunnen emailen. Om hem te kunnen emailen moet hij
    geinterpreteerd in een variable komen. Misschien is het zo duidelijker ;-)

    > Als dit inderdaad is wat je wilt (maar ik kan me niet voorstellen waarom
    > dit op zo'n omweg wilt doen). Dan moet je inderdaad file() of
    > aanverwanten gebruiken en dan de resulterende string eval-en.


    Klinkt goed, ga ik bekijken.

    > Maar als
    > er iets goor is dan is het het gebruik van eval.


    Waarom goor?

    Groet,
    Paul.




  9. #9
    Daniel Tryba
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    Paul van der Vlis <paul@vandervlis.nl> wrote:
    >> Ik snap eigenlijk niet wat je wilt bereiken. Je wilt de "inhoud" van
    >> pagina1.inc gebruiken als string in je script maar het moet wel de door
    >> PHP geinterpreteerde "inhoud" van pagina1.inc zijn, maar .inc mag niet
    >> als php worden geinterpreteerd?

    >
    > Ik wil niet dat mensen die pagina direct kunnen openen en dan de inhoud
    > van de variabelen zien.


    Dus laat je die pagina processen door php, de .inc vervangen door een
    ..php.

    > Die include met resultaten wordt in allerlei pagina's gebruikt, maar ik
    > wil hem ook kunnen emailen. Om hem te kunnen emailen moet hij
    > geinterpreteerd in een variable komen. Misschien is het zo duidelijker ;-)


    Aha. Maak er een php pagina van, door te kijken of __FILE__ overeenkomst
    vertoont met $_SERVER['PHP_SELF'] kan je achterhalen of je pagina direct
    wordt aangeroepen, andere benadering is door een script welke de include
    file include() variabelen/constanten te zetten en aan de hand hiervan
    deze afweging te maken. Als je de gerenderde output wilt hebben dan kan
    je die als string ophalen met bv file/fopen|fgets te doen naar de http
    url.

    >> Dan moet je inderdaad file() of aanverwanten gebruiken en dan de
    >> resulterende string eval-en.

    >
    > Klinkt goed, ga ik bekijken.
    >
    >> Maar als er iets goor is dan is het het gebruik van eval.

    >
    > Waarom goor?


    Als je eval (denkt te) moet(en) gebruiken is je code fout.

    --

    Daniel Tryba


  10. #10
    Paul van der Vlis
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    Daniel Tryba wrote:
    > Paul van der Vlis <paul@vandervlis.nl> wrote:
    >
    >>>Ik snap eigenlijk niet wat je wilt bereiken. Je wilt de "inhoud" van
    >>>pagina1.inc gebruiken als string in je script maar het moet wel de door
    >>>PHP geinterpreteerde "inhoud" van pagina1.inc zijn, maar .inc mag niet
    >>>als php worden geinterpreteerd?

    >>
    >>Ik wil niet dat mensen die pagina direct kunnen openen en dan de inhoud
    >>van de variabelen zien.

    >
    > Dus laat je die pagina processen door php, de .inc vervangen door een
    > .php.


    Normaal parst de aanroepende pagina de php code.

    >>Die include met resultaten wordt in allerlei pagina's gebruikt, maar ik
    >>wil hem ook kunnen emailen. Om hem te kunnen emailen moet hij
    >>geinterpreteerd in een variable komen. Misschien is het zo duidelijker ;-)

    >
    > Aha. Maak er een php pagina van, door te kijken of __FILE__ overeenkomst
    > vertoont met $_SERVER['PHP_SELF'] kan je achterhalen of je pagina direct
    > wordt aangeroepen, andere benadering is door een script welke de include
    > file include() variabelen/constanten te zetten en aan de hand hiervan
    > deze afweging te maken. Als je de gerenderde output wilt hebben dan kan
    > je die als string ophalen met bv file/fopen|fgets te doen naar de http
    > url.


    Dat lijkt inderdaad een methode, maar liever zou ik een .inc pagina
    gebruiken (gewoon omdat alle includes bij mij een .inc achtervoegsel
    hebben).

    >>>Dan moet je inderdaad file() of aanverwanten gebruiken en dan de
    >>>resulterende string eval-en.

    >>
    >>Klinkt goed, ga ik bekijken.
    >>
    >>>Maar als er iets goor is dan is het het gebruik van eval.

    >>
    >>Waarom goor?

    >
    > Als je eval (denkt te) moet(en) gebruiken is je code fout.


    Ik kan me daar iets onder voorstellen, maar je maakt niet duidelijk of
    en zo ja waarom het gebruik van die functie af te raden is.

    Groetjes,
    Paul.







  11. #11
    De Snor
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    Op Thu, 11 Dec 2003 10:18:17 +0100 schreef Paul van der Vlis
    <paul@vandervlis.nl>:

    <knip>
    >Dat lijkt inderdaad een methode, maar liever zou ik een .inc pagina
    >gebruiken (gewoon omdat alle includes bij mij een .inc achtervoegsel
    >hebben).
    >

    Ooit wel eens ergens gelezen dat *.inc beveiligingsproblemen kan
    opleveren en dat het beter is *.php of *.inc.php te gebruiken.
    Ik meen dat het iets te maken had met dat de broncode zichtbaar was.
    --
    Greetz,
    De Snor

  12. #12
    Daniel Tryba
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    Paul van der Vlis <paul@vandervlis.nl> wrote:
    [.inc files met php code]
    > Dat lijkt inderdaad een methode, maar liever zou ik een .inc pagina
    > gebruiken (gewoon omdat alle includes bij mij een .inc achtervoegsel
    > hebben).


    Lekker, ik mag hopen dat je een hoging hebt gedaan om ervoor te zorgen
    dat die dingen dus niet voor gebruikers toegangelijk zijn!

    Maar nu span ik je probleem al weer niet meer. Je hebt 1 pagina die een
    include file aanroept en je wilt de gerenderde output van die include
    file ook nog eens als mail kunnen versturen? Dan heb je toch gewoon 2
    scripts die beide de zelfde include aanroepen.

    [eval is evil]
    >> Als je eval (denkt te) moet(en) gebruiken is je code fout.

    >
    > Ik kan me daar iets onder voorstellen, maar je maakt niet duidelijk of
    > en zo ja waarom het gebruik van die functie af te raden is.


    Tsja, eval is voor mij het zelfde als goto, ik mis goto afentoe en ga
    dan vloeken over het gemis (zeker aangezien een switch inprincipe een
    goto constructie is), dan denk ik even na en zie de goto-loze oplossing
    die ook nog eens beter leesbaar is.

    eval is moeilijk te debuggen, een klein foutje en je hangt.

    Dynamische funties creeren:
    Op de php eval ref pagina staat bv dat je het handig kan gebruiken om
    code in een database op te slaan, het lijkt me toch een stuk
    consistenter om alleen de data in een database op te slaan en daarvoor
    dus functies/classes te hebben als je er iets mee moet doen. Als je aan
    je datastructuur gaat rotzooien zal je inderdaad je functies moeten
    aanpassen, andersom hoeft dat wellicht weer niet.

    Ik heb zelf een keer gedacht dat ik eval miste (in java), maar gelukkig
    bleek dat mijn eigen onkunde te zijn

    --

    Daniel Tryba


  13. #13
    Paul van der Vlis
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    De Snor wrote:
    > Op Thu, 11 Dec 2003 10:18:17 +0100 schreef Paul van der Vlis
    > <paul@vandervlis.nl>:
    >
    > <knip>
    >
    >>Dat lijkt inderdaad een methode, maar liever zou ik een .inc pagina
    >>gebruiken (gewoon omdat alle includes bij mij een .inc achtervoegsel
    >>hebben).
    >>

    >
    > Ooit wel eens ergens gelezen dat *.inc beveiligingsproblemen kan
    > opleveren en dat het beter is *.php of *.inc.php te gebruiken.
    > Ik meen dat het iets te maken had met dat de broncode zichtbaar was.


    Ja, je moet er daarom geen paswoorden in zetten. Maar dat doe ik ook niet.

    Groet,
    Paul.


  14. #14
    Paul van der Vlis
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    Daniel Tryba wrote:
    > Paul van der Vlis <paul@vandervlis.nl> wrote:
    > [.inc files met php code]
    >
    >>Dat lijkt inderdaad een methode, maar liever zou ik een .inc pagina
    >>gebruiken (gewoon omdat alle includes bij mij een .inc achtervoegsel
    >>hebben).

    >
    > Lekker, ik mag hopen dat je een hoging hebt gedaan om ervoor te zorgen
    > dat die dingen dus niet voor gebruikers toegangelijk zijn!


    Ik begrijp je niet helemaal. Het gaat me erom dat de inhoud van de
    variabelen niet zichtbaar is.

    > Maar nu span ik je probleem al weer niet meer. Je hebt 1 pagina die een
    > include file aanroept en je wilt de gerenderde output van die include
    > file ook nog eens als mail kunnen versturen? Dan heb je toch gewoon 2
    > scripts die beide de zelfde include aanroepen.


    Dat wil ik dus graag bereiken, maar lukt nog niet erg (zonder eval). In
    de php pagina's roep ik de include aan op een dergelijke manier:

    <html>
    blabla
    <?php include('include.inc'); ?>
    blabla
    </html>

    Maar in die email moet ik het bestand in een variabele zien te krijgen,
    dat is dus wat anders. Daar is de situatie zoiets:

    $body="blabla
    blabla
    <?php include('include.inc'); ?>
    blabla
    blabla";

    En dat lukt niet.

    > [eval is evil]
    >
    >>>Als je eval (denkt te) moet(en) gebruiken is je code fout.

    >>
    >>Ik kan me daar iets onder voorstellen, maar je maakt niet duidelijk of
    >>en zo ja waarom het gebruik van die functie af te raden is.

    >
    > Tsja, eval is voor mij het zelfde als goto, ik mis goto afentoe en ga
    > dan vloeken over het gemis (zeker aangezien een switch inprincipe een
    > goto constructie is), dan denk ik even na en zie de goto-loze oplossing
    > die ook nog eens beter leesbaar is.
    >
    > eval is moeilijk te debuggen, een klein foutje en je hangt.


    Aha. Ik merk dat zo'n email in een variabele ook moeilijk debuggen is.

    > Dynamische funties creeren:
    > Op de php eval ref pagina staat bv dat je het handig kan gebruiken om
    > code in een database op te slaan, het lijkt me toch een stuk
    > consistenter om alleen de data in een database op te slaan en daarvoor
    > dus functies/classes te hebben als je er iets mee moet doen. Als je aan
    > je datastructuur gaat rotzooien zal je inderdaad je functies moeten
    > aanpassen, andersom hoeft dat wellicht weer niet.
    >
    > Ik heb zelf een keer gedacht dat ik eval miste (in java), maar gelukkig
    > bleek dat mijn eigen onkunde te zijn


    Ik zal nog wat verder zoeken ;-)

    Groet,
    Paul.




  15. #15
    Daniel Tryba
    [php] include probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [php] include probleem

    Paul van der Vlis <paul@vandervlis.nl> wrote:
    >> Lekker, ik mag hopen dat je een hoging hebt gedaan om ervoor te zorgen
    >> dat die dingen dus niet voor gebruikers toegangelijk zijn!

    >
    > Ik begrijp je niet helemaal. Het gaat me erom dat de inhoud van de
    > variabelen niet zichtbaar is.


    Dat doe je door het ding .php te noemen (of iets anders dat als php
    geparsed moet worden of juist een foutmelding geeft).

    >> Maar nu span ik je probleem al weer niet meer. Je hebt 1 pagina die een
    >> include file aanroept en je wilt de gerenderde output van die include
    >> file ook nog eens als mail kunnen versturen? Dan heb je toch gewoon 2
    >> scripts die beide de zelfde include aanroepen.

    >
    > Dat wil ik dus graag bereiken, maar lukt nog niet erg (zonder eval). In
    > de php pagina's roep ik de include aan op een dergelijke manier:
    >
    > <html>
    > blabla
    > <?php include('include.inc'); ?>
    > blabla
    > </html>
    >
    > Maar in die email moet ik het bestand in een variabele zien te krijgen,
    > dat is dus wat anders. Daar is de situatie zoiets:
    >
    > $body="blabla
    > blabla
    > <?php include('include.inc'); ?>
    > blabla
    > blabla";
    >
    > En dat lukt niet.


    Goh! je creert een string. Dat werkt perfect. Maar is niet het resultaat
    wat jij wilt. Maar zoals al zo vaak in deze thread gezegt is: in het 2de
    geval moet je file/fopen/etc gebruiken.
    BTW als je de php include refpagina goed had gelezen zou je het volgende
    zijn opgevallen:

    <q src='http://nl.php.net/include/'>
    A few other ways to "include" files into variables are with fopen(),
    file() or by using include() along with Output Control Functions.
    </q>

    Maar wat staat er nu eigenlijk in die include.inc? Het zou allemaal wat
    makkelijker lopen indien je voorbeelden geeft met code en uitleg.

    Mijn vermoeden is dat je aanpak fundamenteel fout is, begin eens met het
    scheiden van data en code en structuur (bv het MCV principe):
    -de include file dient alleen data te bevatten (functies/vars/consts/etc).
    -de daadwerkelijke php paginas gebruiken deze data.
    dus bv:
    <?php
    include('inc');
    ?>
    <html>
    <?php echo $title;?>
    <body>
    <?php echo renderbody();?>
    </body>
    </html>

    en

    <?php
    include('inc');
    $body='blabla'.$renderbody().'blabla';
    mail($body);
    ?>

    Jij wilt schijnbaar include files als templates gebruiken en dan die
    templates nog eens op verschillende wijze gebruiken. Het is wellicht
    verstandig om even de moeite te nemen een van de velen PHP template
    engines te bestuderen en te gaan gebruiken (persoonlijk vind ik smarty
    wel geschikt).

    >> eval is moeilijk te debuggen, een klein foutje en je hangt.

    >
    > Aha. Ik merk dat zo'n email in een variabele ook moeilijk debuggen is.
    >


    Zend heetf een ontwikkelomgeving met debugger. Dat kan enorm helpen.

    --

    Daniel Tryba


Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics