|
| 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
| |
|
|