webForumDet fria alternativet

Hjälpa med dynamik på till min JavaMeny och lite små fix

PHP

39 svar · 3 050 visningar · startad av Mycodez · sida 2 av 2

Frågan, av Mycodez

Tjena. Jag behöver lite hjälp med en grej till meny men jag vet inte om jag har postat i rätt del men det är bara flytta min om det är så. :) Jag har hållit på med att göra en snygg layout till min hemsida mycodez.se men när jag har hållit på nu så har jag fått för mig att göra en dynamisk sida :) men jag har lite problem, vet ej dock hur man löser dem. för att se hur sidan nu ser ut så är det

Läs frågan i sin helhet →
Medlem sedan aug. 2008815 inlägg
#21

ellr nu kom jag på det. det ska ju vara:

$path = "[B]/[/B]inc/".$page.".php";

inte

$path = "inc/".$page.".php";
Medlem sedan feb. 2010445 inlägg
#22

Det som skrivs ut med echo är "inc/ut)/.php" om man refreschar sidna och när man e inne på t.ex. om så echos det ut "inc/ut)/index.php?page=blogg.php"

Medlem sedan feb. 2010445 inlägg
#23

men om jag ändrade det till det du sa då blir det

/inc/ut)/index.php?page=blogg.php

Medlem sedan aug. 2008815 inlägg
#24

Skulle du kunna posta din kod en gång? För jag fattar inte hur det kan bli sådär!

Medlem sedan feb. 2010445 inlägg
#25

Säger det samma jag fattar nadda

<?php
 //$page = $_GET['page'];

$page=substr($_SERVER['REQUEST_URI'],16);
 if($page!=""){
     $path = "/inc/". $page .".php";
     echo $path . "<br />";
     if(file_exists($path)){
     include($path);
     }else {
         echo "Sorry, that page doesn't exists.";
     }
 }else{
     echo "Welcome to my Website";
     //include("inc/home.php");
 }
?>
Medlem sedan aug. 2008815 inlägg
#26

Vart ligger koden? kör du den lokalt på din dator eller har du laddat upp den till mycodez.com?

Medlem sedan feb. 2010445 inlägg
#27

just nu ligger den local men ka ntesta och ladda upp det på https://www.mycodez.se/test

Medlem sedan feb. 2010445 inlägg
#28

nu ligger det på https://www.mycodez.se/test och då blir echot så här
/inc/page=kontakt.php

Medlem sedan aug. 2008815 inlägg
#29

tydligen så tolkar olika webbservrar REQUEST_URI på olika sätt.

Men om du skriver så här istället:

$page=substr($_SERVER['REQUEST_URI'],[B]21[/B]);

och laddar upp den till mycodez.se/test så borde det fungera.

Medlem sedan feb. 2010445 inlägg
#30

okej, ja g la upp det och echo blev ändrad och det blev så här /inc/kontakt.php
;) men filerna blev inte includerade ..

Medlem sedan juni 2006244 inlägg
#31

Eftersom sökvägen ( /inc/ut/index.php?page=blogg.php ) börjar med / så utgår den från serverns rotmapp. Rätt sökväg är isåfall /test/inc/ut/etc... eller ./inc/ut/etc...

Prova alltså att ändra raden
$path = "inc/".$page.".php";
till
$path = "./inc/".$page.".php";

Medlem sedan aug. 2008815 inlägg
#32

Det är nog något skumt med file_exists(). Prova utan en gång:

<?php

$page=substr($_SERVER['REQUEST_URI'],21);
 if($page!=""){
     $path = "inc/". $page .".php";
     echo $path . "<br />";
     include($path);
 }else{
     echo "Welcome to my Website";
     //include("inc/home.php");
 }
?>
Medlem sedan feb. 2010445 inlägg
#33

Det funkar :D men vart kan jag sätta # den som sätter menyn på rätt ställe ;)

Medlem sedan aug. 2008815 inlägg
#34

byt bara ut alla ? mot # nu. Det spelar ingen roll vilket du har.

Medlem sedan feb. 2010445 inlägg
#35

Okej men dynamiken funkar inte längre bara för jag byte ut alla ? till #

Medlem sedan feb. 2010445 inlägg
#36

alltså urlen ändras men inte include filerna

Medlem sedan aug. 2008815 inlägg
#37

Driver du med mig? Då kan du strunta i de där servervariablerna helt och använda get istället. Sen får någon som är bra på javascript hjälpa dig med den delen.

Medlem sedan juni 2006244 inlägg
#38

En länk med #-tecken ska inte ladda om sidan, eftersom den är tänkt att länka till ett ankare på samma sida (eller anchor, som är just vad a-elementet döpts efter).
Den skapar ingen ny HTTP-request och därför körs inte PHP-koden igen.

Enklaste lösningen är att ändå använda ? för att bygga query-strängar som får sidan att laddas om.

Sen att menyn inte fungerar som du vill har att göra med att pluginen LavaLamp som du använder inte verkar fungera som du förväntar dig.
Den känner inte av vilken sida man är på för tillfället utan flyttar bara markeringen just när man klickar på en länk. Laddar man om sidan så är den tillbaka på noll igen.
Du måste alltså antingen ladda sidorna asynkromt med AJAX (så att ingen ny HTTP request sker) eller bygga ut / konfigurera pluginen på något sätt.

Medlem sedan aug. 2008815 inlägg
#39

du skulle ju kanske kunna skriva länkarna som: "index.php?page=kontakt#page=kontakt"??

Medlem sedan feb. 2010445 inlägg
#40

Okej så då är det bara att man får göra en tråd i Javascripts delen av detta forum då eller? för jag har nu till och med skrivit att länkarna er ut såhär "index.php?page=kontakt#page=kontakt" men då funkar dynamiken men inte menyn så det får man kolla på.. Tack ändå :)

271 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
134 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)