FAQ |
Kalender |
2005-07-18, 13:27 | #1 | ||
|
|||
Nykomling
|
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. |
||
Svara med citat |
2005-07-18, 15:37 | #2 | |||
|
||||
Medlem
|
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> |
|||
Svara med citat |
2005-07-18, 18:23 | #3 | ||
|
|||
Nykomling
|
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. |
||
Svara med citat |
2005-07-18, 22:19 | #4 | |||
|
||||
Medlem
|
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> får scriptet att ladda sidan.. SIDA1.PHP.... fel igen? |
|||
Svara med citat |
2005-07-18, 23:33 | #5 | ||
|
|||
Nykomling
|
Citat:
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). 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. |
||
Svara med citat |
2005-07-18, 23:53 | #6 | |||
|
||||
Flitig postare
|
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) } 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> |
|||
Svara med citat |
2005-07-19, 00:06 | #7 | ||
|
|||
Nykomling
|
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> Kod:
<li><a href="hemsida.php?sida=kontakt">Min kontaktsida</a></li> |
||
Svara med citat |
2005-07-19, 01:19 | #8 | |||
|
||||
Flitig postare
|
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. |
|||
Svara med citat |
2005-07-19, 01:30 | #9 | |||
|
||||
Har WN som tidsfördriv
|
Får jag fråga vad koordinater har med frågeställningen att göra?
|
|||
Svara med citat |
2005-07-19, 01:31 | #10 | ||
|
|||
Nykomling
|
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) } ?> |
||
Svara med citat |
Svara |
|
|