Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: IFRAME tms

Kripsi [01.10.2003 20:58:19]

#

Ongelmana mulla on sellainen että kun pitäisi saada IFRAME kehys automaattisesti skaalautumaan sisällyksen mukaan. Eli kun sivu sisältää kuvakohteita jotka voivat olla suurempia kuin muut, jolloin täytyisi kehys määrittää jumalattoman suureksi jotta ne kaikki mahtuisivat sinne.

Vai onko muuta konstia saada toinen sivu liitetty PHP tiedostoon siten, että liitettävä sivusto voi käyttää omia muuttujiaan otsikkorivillä esim. "index.php?muuttuja1=foo&muuttuja2=bar"?

Sivustoni on rakennettu käyttäen PHP sisällytystä (include) jokaiselle ladattavalle alisivulle, jolloin include ei toimi tässä tapauksessa halutulle sivustolle.

Olihan kysymys esitetty tarpeeksi monimutkaisesti ja epäselkeästi(?)

Antti Laaksonen [01.10.2003 21:17:04]

#

Arvatenkin tuo liitettävä sivu on kuitenkin omalla palvelimellasi, ja pystyt muokkaamaan sitä. En suosittele IFRAMEn käyttöä, mutta toimisiko tällainen ratkaisu:

Määrittele muuttujat ennen sivun sisällyttämistä:

<?php
//eka.php

$muuttuja1 = "foo";
$muuttuja2 = "bar";

include("toka.php");

?>

Näin määritellyt muuttujat ovat automaattisesti käytössä toka.php:ssä. Jos haluat, että muuttujien määrittäminen onnistuu edelleen myös GET-metodin kautta (otsikkorivillä), lisää toka.php:n alkuun koodi, joka tarkistaa, onko skripti sisällytetty eka.php:hen. Jos ei ole, muuttujien arvoksi tulee GET-muuttujien arvo.

<?php
//toka.php

if ($_SERVER['PHP_SELF'] <> "/eka.php") {
   $muuttuja1 = $_GET['muuttuja1'];
   $muuttuja2 = $_GET['muuttuja2'];
}

echo "Muuttuja 1 = $muuttuja1\n";
echo "Muuttuja 2 = $muuttuja2\n";

?>

Toivottavasti ymmärsin kysymyksesi oikein ja ymmärsit myös vastaukseni. :)

Kripsi [02.10.2003 09:56:55]

#

Hyvä vastaus, mutta huomasin tuossa että sisällytettävä sivusto vaihtaa välillä PHP tiedostoa, jolloin ylläoleva koodi ei kelpaa siihen(?)

Eli kun index.php on sivun juuri, joka kertoo mikä sivu avataan include "sivu1.php"; -komennolla. Niin tässä tapauksessa kun avaan "/galleria/index.php" -tiedostossa linkin, tulee osoite riville esim. "/galleria/thumbs.php?gallery=1 jne." Käytettäviä tiedostoja on useita.

Taitaa olla parasta koodata itse tuokin galleria, kun toivottomaksi menee tämä touhu.

Antti Laaksonen [03.10.2003 23:57:32]

#

En nyt ihan ymmärtänyt kaikkea, mutta jos sisällytettäviä sivuja on useita, lisää jokaisen alkuun tuo if-lause. Jos taas "emosivun" nimi vaihtelee, vaihda if-lause muotoon:

if ($_SERVER['PHP_SELF'] == "/toka.php") {
   $muuttuja1 = $_GET['muuttuja1'];
   $muuttuja2 = $_GET['muuttuja2'];
}

Nyt muuttujat haetaan GET-metodilla silloin kun sivun nimi on toka.php eli se suoritetaan itsenäisesti.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta