Likes Likes:  0
Resultaten 1 tot 5 van de 5
Geen
  1. #1
    StriKe
    statische gegevens + variabelen in 1 bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    statische gegevens + variabelen in 1 bestand

    Hallo,

    De situatie is als volgt:

    Ik heb op dit ogenblik twee bestanden: formulier.php en template.php

    In formulier.php staan enkele velden waar waarden ingetypt moeten
    worden.
    in template.php staat een geheel zelfstandige webpage, maar dan
    uiteraard met variabelen die ik in het formulier heb moeten opgeven.

    Er zou, wanneer ik op de verzendbutton klik volgende moeten gebeuren:

    Nieuw bestand aanmaken (bijvoorbeeld resultaat.php) met daarin volgende
    inhoud:
    template.php maar uiteraard moeten de variabelnamen vervangen worden
    door de waarden die ik ingegeven heb in het formulier.

    Weet iemand hoe ik dit het best aanpak?

    Let erop dat in resultaat.php totaal niets aanwezig is, en dus
    bijvoorbeeld ook alle html tags van template.php er in moeten geraken.

    Hartelijk dank voor jullie hulp

    --
    Groeten,
    StriKe

    http://www.internetfreakz.be/


  2. #2
    Ronald Paul
    statische gegevens + variabelen in 1 bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: statische gegevens + variabelen in 1 bestand

    StriKe <usenet@internetfreakz.be> schreef:

    > Hallo,


    Hoi,

    >Ik heb op dit ogenblik twee bestanden: formulier.php en template.php
    >
    >In formulier.php staan enkele velden waar waarden ingetypt moeten
    >worden.
    >in template.php staat een geheel zelfstandige webpage, maar dan
    >uiteraard met variabelen die ik in het formulier heb moeten opgeven.


    [..]

    >Weet iemand hoe ik dit het best aanpak?


    Voorzie ten eerste template.php met een aantal signaalwoorden zoals
    [naam] en [adres] (inclusief haken). Doe dan in formulier.php ongeveer
    het volgende:

    - Laad template.php in een string met $template = join('',
    file('template.php'));

    - Gebruik str_replace() of preg_replace() (regular expressions ken je
    tenslotte toch al :-)) om de signaalwoorden te vervangen door hun in
    het formulier ingevuld equivalent. Denk eventueel ook aan het escapen
    van de binnengekomen data met htmlentities(), nl2br() en addslashes().

    - Sla $template op in resultaat.php met fopen() en fwrite().

    - En tenslotte om netjes te zijn: doe fclose() en unset($feedback) om
    bronnen weer vrij te maken voor eventuele vervolgcode in
    formulier.php.

    Kijk voor hoe je de functies moet gebruiken in deel vijf van de
    handleiding van PHP.

    Er is wel een overweging te maken voor je dit zo zou gaan maken. Dit
    heeft te maken met de grootte van template.php, en de
    aanroepfrequenties formulier.php en resultaat.php. Als template.php
    heel groot is en formulier.php heel vaak wordt aangeroepen, is het
    wellicht verstandiger om template.php om te bouwen tot een
    resultaat.php die zijn gegevens ophaalt uit bijvoorbeeld een bestand
    waar formulier.php zijn gegevens steeds in opslaat.

    Succes in ieder geval!

    --
    Groet, Ronald

  3. #3
    StriKe
    statische gegevens + variabelen in 1 bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: statische gegevens + variabelen in 1 bestand

    In <j38pqv0m9vos6ndp44orp39pmdnofhokpn@4ax.com> schreef "Ronald Paul"

    > Er is wel een overweging te maken voor je dit zo zou gaan maken. Dit
    > heeft te maken met de grootte van template.php, en de
    > aanroepfrequenties formulier.php en resultaat.php. Als template.php
    > heel groot is en formulier.php heel vaak wordt aangeroepen, is het
    > wellicht verstandiger om template.php om te bouwen tot een
    > resultaat.php die zijn gegevens ophaalt uit bijvoorbeeld een bestand
    > waar formulier.php zijn gegevens steeds in opslaat.


    Het zou inderdaad gaan om 'af en toe' een formulierke te verzenden, dus
    echt overladen kan het niet :-)

    'k Heb je uitleg zoveel mogelijk trachten om te zetten in de praktijk
    en 'k ben er intussen toch al in geslaagd om een nieuw bestand aan te
    maken, met de inhoud van template.php erin. Alleen slaag ik er nog
    steeds niet in om de variabelen opgegeven in het formulier in dat
    nieuwe bestand te propper, er staat steeds "$variabelnaam" en het wordt
    dus niet vervangen met de waarde opgegeven in het formulier.

    De code die ik gebruik om dat bestand aan te maken en die inhoud erin
    te plaatsen is de volgende:

    $Template = join('',file('../gekeurde_sites/template.php'));

    $HetBestand = $Bestandsnaam . ".php";
    $Bestandslocatie = "../gekeurde_sites/$HetBestand";
    $Openen = fopen($Bestandslocatie, "a");
    $Template = str_replace("[", "$", $Template);
    fwrite ($Openen, $Template);
    fclose ($Openen);

    $HetBestand is een samenstelling uit een 'woord' dat ook via het
    formulier wordt meegestuurd en dan nog een achtervoegsel
    de str_replace heb ik maar één keer omdat ik in template.php niet
    [naam] gebruikt heb maar [naam (je kan dan zo ook wel $naam vormen hé
    ;-)

    Is er iets wat ik over het hoofd zie zodat de waarden van het formulier
    niet met deze code opgenomen worden in dat nieuwe bestand?

    --
    Groeten,
    StriKe

    http://www.internetfreakz.be/


  4. #4
    Ronald Paul
    statische gegevens + variabelen in 1 bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: statische gegevens + variabelen in 1 bestand

    StriKe <usenet@internetfreakz.be> schreef:

    >De code die ik gebruik om dat bestand aan te maken en die inhoud erin
    >te plaatsen is de volgende:
    >
    >$Template = join('',file('../gekeurde_sites/template.php'));
    >
    >$HetBestand = $Bestandsnaam . ".php";
    >$Bestandslocatie = "../gekeurde_sites/$HetBestand";
    >$Openen = fopen($Bestandslocatie, "a");
    >$Template = str_replace("[", "$", $Template);
    >fwrite ($Openen, $Template);
    >fclose ($Openen);
    >
    >$HetBestand is een samenstelling uit een 'woord' dat ook via het
    >formulier wordt meegestuurd en dan nog een achtervoegsel


    Dit is erg gevaarlijk, want nu kan een onbevoegd iemand je gehele
    harde schijf bereiken (een bevoegd iemand overigens ook :-)). Ik raad
    je aan om dit inkomend gegeven nog te testen met een RE als
    /[0-9a-z]/i of wat je dan ook toe wilt staan in de bestandsnaam.

    >de str_replace heb ik maar één keer omdat ik in template.php niet
    >[naam] gebruikt heb maar [naam (je kan dan zo ook wel $naam vormen hé
    >;-)


    Dat kan, maar heeft dan niet het gewenste resultaat. PHP neemt dit
    letterlijk en zal de [naam vervangen door $naam en niet door de
    _waarde_ van $naam zelf. Je zult dus toch de volledige signaalwoorden
    moeten aangeven, bijvoorbeeld:

    str_replace('[naam]', $naam, $Template);

    --
    Groet, Ronald

  5. #5
    StriKe
    statische gegevens + variabelen in 1 bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: statische gegevens + variabelen in 1 bestand

    In <despqvsmon3gd1l87sug1ijldpv6dm0rpn@4ax.com> schreef "Ronald Paul"

    > Dat kan, maar heeft dan niet het gewenste resultaat. PHP neemt dit
    > letterlijk en zal de [naam vervangen door $naam en niet door de
    > _waarde_ van $naam zelf. Je zult dus toch de volledige signaalwoorden
    > moeten aangeven, bijvoorbeeld:
    >
    > str_replace('[naam]', $naam, $Template);


    Hmm, 't werkt intussen zoals het hoort :-)

    Thx!

    --
    Groeten,
    StriKe

    http://www.internetfreakz.be/


Webhostingtalk.nl

Contact

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