WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   koordinatsystem med PHP (https://www.wn.se/forum/showthread.php?t=8948)

ashur 2005-07-18 13:27

Hej!

Just nu använder jag mig av mallar med olika namn som jag hämtar information till (php include).
Nu undrar jag ifall det inte går att använda endast en mall där jag hämtar information
(dvs. istället för att skriva php include på varenda sida) så kan jag trycka på en länk och då kommer sidan upp på en viss plats i min mall? (som iframe typ men med php istället.)

hoppas ni förstod.

tack på förhand.

stakes 2005-07-18 15:37

hmmm. förstod inte riktigt.. men något sånt här kanske:


Kod:


<div style="overflow: auto;">
<? if (isset($sida) == "test") { include 'test.php'; } ?>
</div>

<a href="index.php?sida=test"> inkludera test </a>

något sådant?

ashur 2005-07-18 18:23

ja ungefär som du beskrev.
Om jag förstod koden rätt så trycker jag på länken så kommer sidan test.php där div taggen är?

Fungerar detta med flera länkar?

För nu så har första sidan ungefär 5-6 länkar. Och just nu gör jag 6 mallar av samma layout, men tar bort mitten och skriver php include:

Så här tex:

länkarna kan vara: guide.php, program.php och om.php. (alla är kopierad från index.php). Men döper dessa till olika namn.
I guide.php har jag en funktionen php include guide.inc, i program.php så har jag php funktionen php include program.ini osv...
På det här sättet blir det många sidor i längden. (http://www.tizag.com/phpT/include.php)

Det som du beskrev är på rätt riktning. Jag vill endast ändra det som finns i mitten på sidan efter att jag tryckt på en länk.

tack.

stakes 2005-07-18 22:19

haha du beskriver helt galet men jag gör ett till försök

Kod:



<!------ HÄR HAR DU NAVIGATIONEN TILL HEMSIDAN ----->
<div>
<a href="index.php?sida=lank1"> länk 1</a>
<a href="index.php?sida=lank2"> länk 2</a>
<a href="index.php?sida=lank3"> länk 3</a>
</div>

<!--- HÄR LADDAS SIDORNA ----->
<div>
<?
if (isset($sida) == "lank1") { include 'sida1.php'; }
if (isset($sida) == "lank2") { include 'sida2.php'; } '
if (isset($sida) == "lank3") { include 'sida3.php'; }
?>

</div>

genom att klicka på länken som har HREF=index.php?sida=lank1 så skickar du med variablen SIDA med värdet LANK1 vilket
får scriptet att ladda sidan.. SIDA1.PHP....

fel igen?

ashur 2005-07-18 23:33

Citat:

haha du beskriver helt galet men jag gör ett till försök
hehe. ;) Tack för hjälpen, det var så jag menade. :D

Men nu till två problem. Den ena var ett litet problem som att navigationen kom inte upp på sidan? men det fixade jag genom att lägga in länkarna i mina knappar istället.

Den andra är att varför får jag alla tre sidor på en sida, när jag endast klickar på en länk (jag klickade på min kontakt.php länk)? sida2.php och sida3.php kom också upp (innehåller endast namnet sida2.php i <h1> format och sida3.php innehåller endast sida3.php i <h1> format).

http://www.videohelp.se/formmail/php.jpg


P.S. Ifall jag trycker på nästa länk, kommer den föregående include sidan att försvinna och då tar den nya sidan platsen? Nu har jag en text på index.php sidan, och den finns fortfarande kvar när den nya sidan kommer upp.
Gå till (http://videohelp.se/formmail/hemsida.php) "testkatalog", klicka på guider-knappen då ska kontakt.php öppnas.


Tack en än gång för din hjälp.


Jag håller med dig, jag förklarar lite dåligt, får be om ursäkt för det.

festiz 2005-07-18 23:53

Kod:

       
if($_GET['sida']) //Kollar om variabeln $sida i adressfältet är satt.
{
        $sida=$_GET['sida']; //Om så är fallet - kör med den!
}else{
        $sida="main"; //namnet på din startsida utan ".php"
}
$file="pages/$sida.php"; // Hämtar
if(file_exists($file)) //Kontrollerar om filen existerar.
{
        if(!include($file)) //Om filen existerar går vi hit och försöker inkludera den.
        {
 echo "Sidan du vill gå till kan inte inkluderas"; //Om den inte gick att inkludera men finns så kastas detta error (oftast rättighetsproblem)
        }
}else{
        echo "Sidan du vill gå till kan inte hittas"; //Om filen som du vill inkludera inte finns kastas detta error. (ingen fysisk fil)
}

Sätt ovanstående kod där du vill inkludera dina sidor, det vill säga direkt i mallen.

Om du vill inkludera kontakt.php ska din länk se ut såhär:
Kod:

<a href="index.php?sida=kontakt">Min kontaktsida</a>

ashur 2005-07-19 00:06

Nu får jag upp alla tre sidor på direkten när jag besöker sidan: http://videohelp.se/formmail/hemsida.php

Koden som jag använder mig av följer här:

Kod:

<!--- HÄR LADDAS SIDORNA ----->
<div>
<?

if($_GET['sida']) //Kollar om variabeln $sida i adressfältet är satt.
{
$sida=$_GET['sida']; //Om så är fallet - kör med den!
}else{
$sida="hemsida"; //namnet på din startsida utan ".php"
}
$file="pages/$sida.php"; // Hämtar
if(file_exists($file)) //Kontrollerar om filen existerar.
{
if(!include($file)) //Om filen existerar går vi hit och försöker inkludera den.
{
 echo "Sidan du vill gå till kan inte inkluderas"; //Om den inte gick att inkludera men finns så kastas detta error (oftast rättighetsproblem)
}
}else{
echo "Sidan du vill gå till kan inte hittas"; //Om filen som du vill inkludera inte finns kastas detta error. (ingen fysisk fil)
}
if (isset($sida) == "lank1") { include 'sida2.php'; }
if (isset($sida) == "lank2") { include 'kontakt.php'; }
if (isset($sida) == "lank3") { include 'sida3.php'; }
?>
</div>

Här är knapplänkarna:
Kod:

<li><a href="hemsida.php?sida=kontakt">Min kontaktsida</a></li>

festiz 2005-07-19 01:19

if (isset($sida) == "lank1") { include 'sida2.php'; }
if (isset($sida) == "lank2") { include 'kontakt.php'; }
if (isset($sida) == "lank3") { include 'sida3.php'; }

Den koden är fel - HELT FEL.
Logiken blir true varje gång, isset($sida) returnerar true, därefter blir jämförelsen true eftersom du jämför "TRUE" med en sträng som har det naturliga värdet "TRUE" (den är inte 0 tecken lång), dessutom måste du lägga till en rad för varje fil du vill inkludera. Därför du ska använda min kod, OCH BARA MIN KOD, då spelar det ingen roll hur många sidor du har, bara skapa länkarna rätt så fungerar det.

koala 2005-07-19 01:30

Får jag fråga vad koordinater har med frågeställningen att göra? :)

ashur 2005-07-19 01:31

hehe, mycket bra fråga. Tänkte koordinera min sida på sidan. :)

festiz
aha, ok. Nu förstår jag varför alla 3 sidor kom samtidigt. :)

Nu har jag endast din kod:
Kod:

<?
if($_GET['sida']) //Kollar om variabeln $sida i adressfältet är satt.
{
$sida=$_GET['sida']; //Om så är fallet - kör med den!
}else{
$sida="hemsida"; //namnet på din startsida utan ".php"
}
$file="pages/$sida.php"; // Hämtar
if(file_exists($file)) //Kontrollerar om filen existerar.
{
if(!include($file)) //Om filen existerar går vi hit och försöker inkludera den.
{
 echo "Sidan du vill gå till kan inte inkluderas"; //Om den inte gick att inkludera men finns så kastas detta error (oftast rättighetsproblem)
}
}else{
echo "Sidan du vill gå till kan inte hittas"; //Om filen som du vill inkludera inte finns kastas detta error. (ingen fysisk fil)
}

?>

Men det händer inget. Som du kan se så har jag ändrat namnet, i koden, på startsidan till hemsida (den heter just nu det, men kommer sedan att bli index)


Alla tider är GMT +2. Klockan är nu 21:54.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson