/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Dynamisk frameset
Fra : Jesper


Dato : 19-06-01 17:40

Nogen der ved hvordan man laver et dynamisk frameset i PHP?

Jeg ved godt at det kan laves i JavaScript og at jeg kan finde en
guide på: www.html.dk/artikler/00019 men jeg vil have det i PHP,
hvis det kan lade sig gøre.

Jesper
- Jeg er ikke din fjende, bare realistisk!

--
Brug Validator service: http://www.html.dk/validator
- Tast din URL én gang, og validér dokumentet hos 12 validatorer
- Understøtter HTML, CSS og søgemaskineoptimering

 
 
Johan (19-06-2001)
Kommentar
Fra : Johan


Dato : 19-06-01 17:54

> Nogen der ved hvordan man laver et dynamisk frameset i PHP?
>
> Jeg ved godt at det kan laves i JavaScript og at jeg kan finde en
> guide på: www.html.dk/artikler/00019 men jeg vil have det i PHP,
> hvis det kan lade sig gøre.
>
> Jesper
> - Jeg er ikke din fjende, bare realistisk!

prøv noget ala;
$vis er den side der skal vises i indhold framen!

<?
if($vis == "") {
$vis = main.php /* side som skal vises hvis vis ikke er sat */
}
echo "<frameset rows=\"100,*\">";
echo "<frame name=\"top\" src=\"top.php\">";
echo "<frameset cols=\"200,*\">";
echo "<frame name=\"menu\" src=\"menu.php\">";
echo "<frame name=\"indhold\" src=\"".$vis."\">";
echo "</frameset>";
echo "</frameset>";
?>

mvh

Johan



Jonas Delfs (19-06-2001)
Kommentar
Fra : Jonas Delfs


Dato : 19-06-01 17:59

"Johan" <tcr480@ofir.dk> skrev i en meddelelse
news:9go04q$ksg$1@news.inet.tele.dk...

> echo "<frameset rows=\"100,*\">";
> echo "<frame name=\"top\" src=\"top.php\">";
> echo "<frameset cols=\"200,*\">";
> echo "<frame name=\"menu\" src=\"menu.php\">";
> echo "<frame name=\"indhold\" src=\"".$vis."\">";
> echo "</frameset>";
> echo "</frameset>";

Hmm... hvorfor pakke totalt statisk HTML ind i PHP?

--
Mvh. Jonas Delfs, http://delfs.dk

"Rigtige mænd scorer på ICQ" -Christian Jørgensen



Johan (19-06-2001)
Kommentar
Fra : Johan


Dato : 19-06-01 18:16

> > echo "<frameset rows=\"100,*\">";
> > echo "<frame name=\"top\" src=\"top.php\">";
> > echo "<frameset cols=\"200,*\">";
> > echo "<frame name=\"menu\" src=\"menu.php\">";
> > echo "<frame name=\"indhold\" src=\"".$vis."\">";
> > echo "</frameset>";
> > echo "</frameset>";
>
> Hmm... hvorfor pakke totalt statisk HTML ind i PHP?

Gør jeg egentlig tit... det er en dårlig vane...

mvh

Johan



Jonas Delfs (19-06-2001)
Kommentar
Fra : Jonas Delfs


Dato : 19-06-01 18:36

"Johan" <tcr480@ofir.dk> skrev i en meddelelse
news:9go1d4$q28$1@news.inet.tele.dk...

> > Hmm... hvorfor pakke totalt statisk HTML ind i PHP?
>
> Gør jeg egentlig tit... det er en dårlig vane...

- det gjorde jeg også en gang...

--
Mvh. Jonas Delfs, http://delfs.dk

"Rigtige mænd scorer på ICQ" -Christian Jørgensen



Johan (19-06-2001)
Kommentar
Fra : Johan


Dato : 19-06-01 18:49

> > Gør jeg egentlig tit... det er en dårlig vane...
>
> - det gjorde jeg også en gang...

Dont know... jeg er begyndt med det.... i starten gjorde jeg aldrig... men
det er blevet nemmere for mig med tiden når jeg sidder og koder så lang tid
om dagen....

Hmmm, desuden synes jeg det ser pænere ud i den kære HomeSite

mvh

Johan



Peter Brodersen (19-06-2001)
Kommentar
Fra : Peter Brodersen


Dato : 19-06-01 18:40

On Tue, 19 Jun 2001 19:15:56 +0200, "Johan" <tcr480@ofir.dk> wrote:

>> > echo "<frameset rows=\"100,*\">";
>> > echo "<frame name=\"top\" src=\"top.php\">";
>> > echo "<frameset cols=\"200,*\">";
>> > echo "<frame name=\"menu\" src=\"menu.php\">";
>> > echo "<frame name=\"indhold\" src=\"".$vis."\">";
>> > echo "</frameset>";
>> > echo "</frameset>";
>>
>> Hmm... hvorfor pakke totalt statisk HTML ind i PHP?
>Gør jeg egentlig tit... det er en dårlig vane...

Når du nu alligevel ikke drager brug af interpoleringen mellem
gåseøjne (fx af variable, "\n" eller lignende), kan du lige så godt
bruge enkelt-gåseøjne. Langt mere overskueligt:

<?php
echo '<frameset rows="100,*">';
echo '<frame name="top" src="top.php">';
echo '<frameset cols="200,*">';
echo '<frame name="menu" src="menu.php">';
echo '<frame name="indhold" src="'.$vis.'">';
echo '</frameset>';
echo '</frameset>';
?>


--
- Pede
Professionel nørd

Johan (19-06-2001)
Kommentar
Fra : Johan


Dato : 19-06-01 18:50

> Når du nu alligevel ikke drager brug af interpoleringen mellem
> gåseøjne (fx af variable, "\n" eller lignende), kan du lige så godt
> bruge enkelt-gåseøjne. Langt mere overskueligt:
>
> <?php
> echo '<frameset rows="100,*">';
> echo '<frame name="top" src="top.php">';
> echo '<frameset cols="200,*">';
> echo '<frame name="menu" src="menu.php">';
> echo '<frame name="indhold" src="'.$vis.'">';
> echo '</frameset>';
> echo '</frameset>';
> ?>

Hmmm, ja og nej... spørgmålet er også hvordan fingerene sidder... sidder
nærmest og sover engang imellem når jeg laver små koder, og så sidder " bare
mere naturlig for mig end '.... jaah, sådan er det nok bare...

mvh

Johan



Mickey (19-06-2001)
Kommentar
Fra : Mickey


Dato : 19-06-01 19:10

"Peter Brodersen" <professionel@nerd.dk> skrev:

> Når du nu alligevel ikke drager brug af interpoleringen mellem
> gåseøjne (fx af variable, "\n" eller lignende), kan du lige så godt
> bruge enkelt-gåseøjne. Langt mere overskueligt:

interpolahvaforen ?


--
|-|$235-|)k - Mickey
http://susie.dk - mickey(at)susie.dk
http://susie.dk/www.tv3.dk.26.05.2001.html



Peter Brodersen (19-06-2001)
Kommentar
Fra : Peter Brodersen


Dato : 19-06-01 20:14

On Tue, 19 Jun 2001 20:10:01 +0200, "Mickey" <news002@susie.dk> wrote:

>interpolahvaforen ?

Den, der "automatisk udfolder variable og lignende". Fx:

Fx:

print "Dit navn er $navn...\n";

Her vil $navn jo automatisk blive erstattet med fx "Peter", og "\n"
bliver til et return. Dette forekommer kun ved når man bruger double
quotes. Ved single quotes, altså:

print 'Dit navn er $navn...\n';

.... vil $navn og \n ikke blive fortolket.

Min pointe var blot, at når man alligevel brugte double quotes og går
igennem bøvlet med at escape almindelige gåseøjne, kunne man lige så
godt drage fordel af at variable automatisk blev fortolket. Altså:

echo "<frame name=\"indhold\" src=\"".$vis."\">";
.... kan laves til:
echo "<frame name=\"indhold\" src=\"$vis\">";

Ellers kunne man lige så godt bruge single quotes som alternativ til
førstnævnte:
echo '<frame name="indhold" src="'.$vis.'">';


--
- Pede
Professionel nørd

Peter Brodersen (19-06-2001)
Kommentar
Fra : Peter Brodersen


Dato : 19-06-01 18:38

On Tue, 19 Jun 2001 18:58:31 +0200, "Jonas Delfs"
<jonas@nospam.delfs.dk> wrote:

>> echo "<frame name=\"indhold\" src=\"".$vis."\">";
>
>Hmm... hvorfor pakke totalt statisk HTML ind i PHP?

Det er nu ikke "totalt statisk".


--
- Pede
Professionel nørd

Jonas Delfs (19-06-2001)
Kommentar
Fra : Jonas Delfs


Dato : 19-06-01 18:42

"Peter Brodersen" <professionel@nerd.dk> skrev i en meddelelse
news:rd3vitsnis2gd7duamhv5lmqj20nepsrmk@news.worldonline.dk...

> >> echo "<frame name=\"indhold\" src=\"".$vis."\">";
> >
> >Hmm... hvorfor pakke totalt statisk HTML ind i PHP?
>
> Det er nu ikke "totalt statisk".

Hvem siger at jeg hentydede til netop den linie?

--
Mvh. Jonas Delfs, http://delfs.dk

"Rigtige mænd scorer på ICQ" -Christian Jørgensen



Peter Brodersen (19-06-2001)
Kommentar
Fra : Peter Brodersen


Dato : 19-06-01 18:45

On Tue, 19 Jun 2001 19:41:36 +0200, "Jonas Delfs"
<jonas@nospam.delfs.dk> wrote:

>Hvem siger at jeg hentydede til netop den linie?

Du quotede det hele, så jeg fik ud fra at du mente hele det afsnit.

Bortset fra det, så kan der være flere grunde. Nogle gange kan spring
ud af ind af PHP forvirre mere end det gavner. Det kan være lettere at
flytte rundt på. Det kan være lettere at smide variable ind i. Det kan
være lettere at omskrive til en funktion, eller bare lægge ind i én
stor variabel, som man tilsidst printer (når man har kørt en række
andre conditions igennem, der måske eller måske ikke ender med at
ville sætte en cookie, viderestille, etc.), og så fremdeles.


--
- Pede
Professionel nørd

Jonas Delfs (19-06-2001)
Kommentar
Fra : Jonas Delfs


Dato : 19-06-01 18:53

"Peter Brodersen" <professionel@nerd.dk> skrev i en meddelelse
news:dq3vitc3d3o2am033hegquotklq1i9pd4p@news.worldonline.dk...

> Bortset fra det, så kan der være flere grunde. Nogle gange kan spring
> ud af ind af PHP forvirre mere end det gavner. Det kan være lettere at
> flytte rundt på. Det kan være lettere at smide variable ind i. Det kan
> være lettere at omskrive til en funktion, eller bare lægge ind i én
> stor variabel, som man tilsidst printer (når man har kørt en række
> andre conditions igennem, der måske eller måske ikke ender med at
> ville sætte en cookie, viderestille, etc.), og så fremdeles.

Så længe vi snakker mindre blokke af HTML, er jeg enig.
Jeg ser bare ingen grund til at PHP skal parse side op og side ned med
statisk HTML, men det lader det jo heller ikke til at du synes, så vi er
vist i bund og grund enige :)
Men specifikt i dette tilfælde har vi et statisk frameset, med én variabel,
hvorfor jeg ikke så grund til at "pakke det ind".

--
Mvh. Jonas Delfs, http://delfs.dk

"Rigtige mænd scorer på ICQ" -Christian Jørgensen



Peter Brodersen (19-06-2001)
Kommentar
Fra : Peter Brodersen


Dato : 19-06-01 18:57

On Tue, 19 Jun 2001 19:52:37 +0200, "Jonas Delfs"
<jonas@nospam.delfs.dk> wrote:

>Så længe vi snakker mindre blokke af HTML, er jeg enig.
>Jeg ser bare ingen grund til at PHP skal parse side op og side ned med
>statisk HTML, men det lader det jo heller ikke til at du synes, så vi er
>vist i bund og grund enige :)

Tjoeh, større blokke af statisk HTML synes jeg sjældent fremkommer,
medmindre, man sidder med en form for skabelon-system, og så er
HTML'en alligevel udskilt i selvstændige filer.

>Men specifikt i dette tilfælde har vi et statisk frameset, med én variabel,
>hvorfor jeg ikke så grund til at "pakke det ind".

Jeg ville nu ikke tøve med at gøre det.


--
- Pede
Professionel nørd

Jonas Delfs (19-06-2001)
Kommentar
Fra : Jonas Delfs


Dato : 19-06-01 19:08

"Peter Brodersen" <professionel@nerd.dk> skrev i en meddelelse
news:nh4vitcuigj059mmhhu0k824st9ccjpftp@news.worldonline.dk...

> >Men specifikt i dette tilfælde har vi et statisk frameset, med én
variabel,
> >hvorfor jeg ikke så grund til at "pakke det ind".
>
> Jeg ville nu ikke tøve med at gøre det.

Du siger altså at du godt kunne finde på at lave en side som dette?
(hvis du altså overhovedet kunne finde på at benytte frames)

<?php
echo "<html>\n";
echo "<head>\n";
echo "<title>hejhej</title>\n";
echo "</head>\n";

echo "<frameset rows=\"74,*\">\n";
echo "<frame name=\"banner\" src=\"banner.htm\">\n";
echo "<frameset cols=\"146,*\">\n";
echo "<frame name=\"toc\" src=\"toc.htm\" frameborder=\"1\">\n";
echo "<frame name=\"content\" src=\"{$HTTP_GET_VARS['content']}\">\n";
echo "</frameset>\n";
echo "</frameset>\n";

echo "</html>\n";
?>

Jeg må indrømme at det virker rigtig godt dumt i mit hoved...
Men smag og behag :)

--
Mvh. Jonas Delfs, http://delfs.dk

"Rigtige mænd scorer på ICQ" -Christian Jørgensen



Peter Brodersen (19-06-2001)
Kommentar
Fra : Peter Brodersen


Dato : 19-06-01 19:19

On Tue, 19 Jun 2001 20:08:07 +0200, "Jonas Delfs"
<jonas@nospam.delfs.dk> wrote:

>Du siger altså at du godt kunne finde på at lave en side som dette?
>(hvis du altså overhovedet kunne finde på at benytte frames)

Ja, men jeg ville nok benytte mig af nogle andre konstruktioner. Der
er fx ingen grund til at slutte hver linie, og så begynde på en ny
kommando. Andre muligheder kunne være:

1. Streng concat'et over flere linier

<?php
echo "<html>\n".
"<head>\n".
"<title>hejhej</title>\n".
[..]
"</html>\n";
?>


2. Ubrudt streng:

<?php
echo "
<html>
<head>
<title>hejhej</title>
[..]
</html>
";
?>


3. Heredoc-syntax:

echo <<<EOT
<html>
<head>
<title>hejhej</title>
[..]
<frame name="content" src="{$HTTP_GET_VARS['content']}">
[..]
</html>
EOT;
?>


Det afhænger af om jeg ville mene, der senere ville være basis for at
rette i teksten igen. Alle tre ovenstående giver dog let mulighed for
at juggle koden rundt. Specielt muligheden for senere at udskifte
>>echo<< med fx >>$html = << tiltaler mig en del.


--
- Pede
Professionel nørd

Johan (19-06-2001)
Kommentar
Fra : Johan


Dato : 19-06-01 19:17

> Jeg må indrømme at det virker rigtig godt dumt i mit hoved...
> Men smag og behag :)

Så er jeg erklæret dumt efter dit hovede. Gør jeg faktisk... men sjældent
jeg har SÅ meget kode uden PHP...

men ellers ville jeg lave det ala:

snip
<frame name="content" src="<?=content?>">
snip

mvh

Johan



Steen Berg Andersen (20-06-2001)
Kommentar
Fra : Steen Berg Andersen


Dato : 20-06-01 13:04

Jeg har MEGET dårlige erfaringer med størrere projekter, hvor
folk hopper ind og ud af PHP hele tiden. Dels bliver resultatet
gerne noget pasta, dels er muligheden for genanvendelse stort
set lig nul.

Personligt fortrækker jeg at 'catte hele skidtet til en variabel, og så
enten printe den ud til sidst eller returnere den til den kaldende funktion.

mvh
Steen Berg Andersen
Systems Developer

"Jonas Delfs" <jonas@nospam.delfs.dk> wrote in message
news:9go49j$35f$1@sunsite.dk...
> "Peter Brodersen" <professionel@nerd.dk> skrev i en meddelelse
> news:nh4vitcuigj059mmhhu0k824st9ccjpftp@news.worldonline.dk...
>
> > >Men specifikt i dette tilfælde har vi et statisk frameset, med én
> variabel,
> > >hvorfor jeg ikke så grund til at "pakke det ind".
> >
> > Jeg ville nu ikke tøve med at gøre det.
>
> Du siger altså at du godt kunne finde på at lave en side som dette?
> (hvis du altså overhovedet kunne finde på at benytte frames)
>
> <?php
> echo "<html>\n";
> echo "<head>\n";
> echo "<title>hejhej</title>\n";
> echo "</head>\n";
>
> echo "<frameset rows=\"74,*\">\n";
> echo "<frame name=\"banner\" src=\"banner.htm\">\n";
> echo "<frameset cols=\"146,*\">\n";
> echo "<frame name=\"toc\" src=\"toc.htm\" frameborder=\"1\">\n";
> echo "<frame name=\"content\" src=\"{$HTTP_GET_VARS['content']}\">\n";
> echo "</frameset>\n";
> echo "</frameset>\n";
>
> echo "</html>\n";
> ?>
>
> Jeg må indrømme at det virker rigtig godt dumt i mit hoved...
> Men smag og behag :)
>
> --
> Mvh. Jonas Delfs, http://delfs.dk
>
> "Rigtige mænd scorer på ICQ" -Christian Jørgensen
>
>



Johan (19-06-2001)
Kommentar
Fra : Johan


Dato : 19-06-01 18:51


> Bortset fra det, så kan der være flere grunde. Nogle gange kan spring
> ud af ind af PHP forvirre mere end det gavner. Det kan være lettere at
> flytte rundt på. Det kan være lettere at smide variable ind i. Det kan
> være lettere at omskrive til en funktion, eller bare lægge ind i én
> stor variabel, som man tilsidst printer (når man har kørt en række
> andre conditions igennem, der måske eller måske ikke ender med at
> ville sætte en cookie, viderestille, etc.), og så fremdeles.

helt enig, mener også jeg får mere overblik over koden når det hele kører i
PHP taggene...

mvh

Johan



Jonas Delfs (19-06-2001)
Kommentar
Fra : Jonas Delfs


Dato : 19-06-01 17:57

"Jesper" <jesper_sn@bigfoot.com> skrev i en meddelelse
news:9gnv8i$7vp$1@sunsite.dk...

> Nogen der ved hvordan man laver et dynamisk frameset i PHP?
>
> Jeg ved godt at det kan laves i JavaScript og at jeg kan finde en
> guide på: www.html.dk/artikler/00019 men jeg vil have det i PHP,
> hvis det kan lade sig gøre.

Selvfølgeligt kan det det - desuden er det lettere, og totalt
browser-uafhængigt, da PHP jo er serverside.
Hvis vi siger at du kalder din frameset-fil med flaf.php?content=hej.php,
kan du tilgå det filnavn der skal inkluderes med $HTTP_GET_VARS['content']
Den frame der skal være afhængig af hvad der står i URL'en skal defineres
noget alá dette:

<frame src="<?php echo $HTTP_GET_VARS['content']; ?>" name="content">

--
Mvh. Jonas Delfs, http://delfs.dk

"Rigtige mænd scorer på ICQ" -Christian Jørgensen



Søg
Reklame
Statistik
Spørgsmål : 177507
Tips : 31968
Nyheder : 719565
Indlæg : 6408569
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste