Avatar billede jrostved Nybegynder
17. juni 2005 - 01:12 Der er 18 kommentarer og
1 løsning

hjælp til sammensætning af 2 filer!

Hej jeg har poste om dette spørgsmål før på:
http://eksperten.dk/spm/624024

Der postede jeg dette:

"Hej
Jeg ved ikke om der er nogen der har mod på at hjælpe mig med dette lille projekt..
Jeg skal have sat 2 filer sammen. En med avanceret php og en med noget mere simpel html og et enkelt javascript.
Den avancerede php side:
http://rostved.com/kilde
Den mere simple html side:
http://rostved.com/test
Jeg vil meget gerne have dem sat sammen så de kommer til at ligne dette billed:
http://rostved.com/test/index.png
Hvis der er nogen der er friske på enten at gøre det eller at vejlede mig i at gøre det kan i downloade alle filerne på:
http://rostved.com/test/test.zip
Håber der er en der har tid lyst og lejlighed til at hjælpe mig!!
Mvh Jakob Rostved"

Men da jeg ikke har fundet ud af det endnu vil jeg meget gerne spørge igen hvis det ikke er upassende!

Mvh Jakob Rostved
Avatar billede jrostved Nybegynder
17. juni 2005 - 01:47 #1
Ups jeg har vist gjort noget ulovligt med hensyn til Eksperten.dk's regler ved at refere til et af mine egne oprettede spørgsmål..
Avatar billede Slettet bruger
17. juni 2005 - 10:19 #2
Nej.. det må du godt
Avatar billede Slettet bruger
17. juni 2005 - 10:23 #3
Hvis du ænrer lidt i din html-side, kan du lave nogle unikke "tags" på siden. Se her: http://cykeltjek.dk/temp.htm

Så kan du bruge ob_start() (http://www.php.net/ob_start) til at sætte din anden fil ind i din html side.
Avatar billede Slettet bruger
17. juni 2005 - 10:25 #4
Du kan f.eks. lave en funktion til at trække indholdet ud af en fil:


function indhold($fil)
    {
    ob_start();
    require($fil);
    # Sætter indholdet til en variabel
    $udskrift = ob_get_contents();
    # Afslutter ob_start()
    ob_clean();
    return $udskrift;
    }

for derefter at lave en str_replace:

$design = str_replace("--content--", indhold('kilde/index.php', $design);
Avatar billede Slettet bruger
17. juni 2005 - 10:28 #5
et lille eksempel:

<?
class generel
    {
    function generel()
        {
        $this->design = 'design.htm';
        $this->content = 'test/index.php';
        }
   
    function indhold()
        {
        ob_start();
        require($fil);
        # Sætter indholdet til en variabel
        $udskrift = ob_get_contents();
        # Afslutter ob_start()
        ob_clean();
        return $udskrift;
        }
   
    function design()
        {
        $design = $this->indhold($this->design);
        $design = str_replace('--content--', $this->indhold($this->content), $design);
        return $design
        }   
    }
$generel = new generel;
echo $generel->design();
?>
Avatar billede jrostved Nybegynder
17. juni 2005 - 11:07 #6
Jeg forstår ikke helt..
Hvordan kan jeg få det til at virke i praksis med mine 2 filer??
Jeg har bevæget mig et sted hen hvor jeg skal have lidt hjælp til at bunde!!
Avatar billede Slettet bruger
17. juni 2005 - 11:45 #7
<?
class generel
    {
    function generel()
        {
        $this->design = 'index.htm';
        $this->content = 'content.php';
        }
   
    function indhold($fil)
        {
        ob_start();
        require($fil);
        # Sætter indholdet til en variabel
        $udskrift = ob_get_contents();
        # Afslutter ob_start()
        ob_clean();
        return $udskrift;
        }
   
    function design()
        {
        $design = $this->indhold($this->design);
        $design = str_replace('--content--', $this->indhold($this->content), $design);
        return $design;
        }   
    }
$generel = new generel;
echo $generel->design();
?>

Det her virker.. du skal bare sætte de 2 øverste stier, og så loadé den fil hvori det ovenstående står.
Avatar billede jrostved Nybegynder
17. juni 2005 - 16:28 #8
Har jeg forstået det rigtig hvis jeg altså skal lave nogle outputs i min index.template.php ved hjælp af denne funktion?

function NAVN_PÅ_OUTPUT($fil)
    {
    ob_start();
    require($fil);
    $udskrift = ob_get_contents();
    ob_clean();
    return $udskrift;
    }

Og fortælle den hvor jeg vil have der forskellige outputs ved hjælp af denne funktion?
$design = str_replace("--content--", NAVN_PÅ_OUTPUT('kilde/index.htm', $design);

Hvis jeg vil have et output der siger "HEJ" hvor skal det så placeres i den funktion der laver outputet??
Avatar billede Slettet bruger
17. juni 2005 - 16:34 #9
Jeg forstår ikke hvad det du skriver.. Du skal jo ikke ændre funktionsnavnet - Kender du ikke til funktioner?
Avatar billede jrostved Nybegynder
17. juni 2005 - 18:58 #10
Nej jeg kender ikke så godt til funktioner...
Når jeg skriver det du sagde..
"<?
class generel
    {
    function generel()
        {
        $this->design = 'index.htm';
        $this->content = 'index.template.php';
        }
   
    function indhold($fil)
        {
        ob_start();
        require($fil);
        # Sætter indholdet til en variabel
        $udskrift = ob_get_contents();
        # Afslutter ob_start()
        ob_clean();
        return $udskrift;
        }......"
Viser den jo bare index.htm
Hvad skal jeg så gåre for at få vist dele af index.template.php i index.htm??
Avatar billede Slettet bruger
17. juni 2005 - 22:19 #11
Det er fordi index.template.php ikke udskriver noget..!
Avatar billede jrostved Nybegynder
17. juni 2005 - 22:23 #12
Jeps det er det jeg mente med outputs.. Hvad skal der skrives for at få index.template.php til at generere et output??
Og hvad skal skrives i index.htm for at få vist min output fra index.template.php??
Du skal have mange tak indtil videre!!
JRostved
Avatar billede Slettet bruger
18. juni 2005 - 00:08 #13
Jeg har svaret på dit andet spørgsmål, men du skal jo bare skrive noget indhold i din index.template.php
Avatar billede jrostved Nybegynder
18. juni 2005 - 00:41 #14
så kom med et svar så får du dine point!!
Mvh Jakob Rostved
Avatar billede Slettet bruger
18. juni 2005 - 10:15 #15
Tak for det - Men hvis du har flere konkrete spørgsmål, vil jeg med glæde hjælpe dig.
Avatar billede jrostved Nybegynder
20. juni 2005 - 23:23 #16
Undskyld men skal dette ikke være det samme?? (de steder jeg har markeret med "###-->X<--###")
<?
class generel
    {
    function generel()
        {
        $this->design = 'index.htm';
        $this->###-->content<--### = 'content.php';
        }
   
    function ###-->indhold<--###($fil)
        {
        ob_start();
        require($fil);
        # Sætter indholdet til en variabel
        $udskrift = ob_get_contents();
        # Afslutter ob_start()
        ob_clean();
        return $udskrift;
        }
   
    function design()
        {
        $design = $this->indhold($this->design);
        $design = str_replace('--content--', $this->###-->indhold<--###($this->content), $design);
        return $design;
        }   
    }
$generel = new generel;
echo $generel->design();
?>

Tak
Avatar billede jrostved Nybegynder
20. juni 2005 - 23:47 #17
Undskyld det er lige meget.. Har ikke fået det til at virke endnu.. Meen jeg prøver mig frem...
Tak for det hele!!
Jrostved
Avatar billede Slettet bruger
23. juni 2005 - 12:27 #18
Ahh undskyld jeg ikke har kigget.. Mine mails er (som alle andres?) først begyndt at komme nu :/
Avatar billede Slettet bruger
23. juni 2005 - 12:28 #19
Har du ikke fået det til at virke endnu, vil jeg da med glæde hjælpe dig.. Hvad er det der driller lige nu?
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