På min sida så gör jag så här för att inkludera innehåll:
<?php
$titel = "sida";
include "/includes/top.php";
?>
//om man ändrar till:
<?php
$titel = "sida";
include "/includes/top.php";
$april_2004 = "<h1>en massa kod</h1><p>massa text osv...</p>"; //Den här.
?>
<html>...
<?php
include "/includes/bottom.php";
?>
Hur kan man nu göra för att från en länk få fram innehållet? Går det? Eller måste man använda en annan slags inkluderingskod? Jag är lite snurrig när det gäller php, så jag vet inte om jag beskriver rätt.
Men jag vill i alla fall få det så att när man klickar på en länk; april_2004 till exempel så ska innehållet komma upp. /?datum=april_2004 nåt sånt.
Förstår ni? :) Och jag använder inga databaser eller liknande, bara ren php. :)
Hur ska jag göra en länk av det där då? Meningen är att jag ska slippa en massa undersidor. Ändamålet är en dagbok nämligen. Går det att göra en länk av det där? :)
<?php
$titel = "sida";
include "/includes/top.php";
switch ($_GET["datum"]) {
case "april_2004":
echo "<h1>en massa kod</h1><p>massa text osv...</p>";
break;
case "maj_2004":
echo "Massa kod o grejer för maj månads dagboksinlägg";
break;
default:
echo "Detta kommer fram om du inte angivit någon månad";
}
include "/includes/bottom.php";
?>
Länk till Maj månads dagboksinlägg:
<a href="dagbok.php?datum=maj_2004">Maj 2004</a>
(Hoppas jag fick allt rätt i switch-satsen nu. Inte ofta jag använder såna.)
(Hoppas jag fick allt rätt i switch-satsen nu. Inte ofta jag använder såna.)
Ja det var precis så jag ville ha det! Det funkade bra. Tack.
Är det ett lustigt sätt att använda sig av, eller finns det lättare lösningar? Eller måste man använda sig av databaser eller nåt då? :) Eftersom det är en hel del text och sådär så...
if (file_exists('dagbok/'.$_GET['datum'])) {
include 'dagbok/'.$_GET['datum'];
} else {
// Lista dagböcker, kolla upp readdir i manuelan
}
Sedan lägger du dina olika månader i egen fil i katalogen 'dagbok'.
Det blir heller inga problem att göra ett adminskript där du kan ändra och lägga till i filer, samt skapa nya filer.
Du kan använda HTML fullt ut eftersom det endast är du som kommer att ha tillgång att ändra.
Listningen av dina månader går då också att göra helt automatiskt. När du lägger till en fil kommer denna automatiskt med i listan.
if (file_exists('dagbok/'.$_GET['datum'])) {
include 'dagbok/'.$_GET['datum'];
} else {
// Lista dagböcker, kolla upp readdir i manuelan
}
Sedan lägger du dina olika månader i egen fil i katalogen 'dagbok'.
Det blir heller inga problem att göra ett adminskript där du kan ändra och lägga till i filer, samt skapa nya filer.
Du kan använda HTML fullt ut eftersom det endast är du som kommer att ha tillgång att ändra.
Listningen av dina månader går då också att göra helt automatiskt. När du lägger till en fil kommer denna automatiskt med i listan.
Intressant. Vad kommer den leta efter för filer? Vill du ge mig en länk till 'manualen' så jag kan ta mig en titt?
Tackar. Men återigen, vad är det för filer den kommer lista? .txt? .php-filer? :e
Matte skrev:
I din katalog 'dagbok' ska du inte ha någonting annat än dessa filer.
<?php
if (file_exists('/dagbok/'.$_GET['datum'])) {
include '/dagbok/'.$_GET['datum'];
} else {
// Lista dagböcker, kolla upp readdir i manuelan
}
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file\n";
}
}
closedir($handle);
}
?>
Jag borde inte ge mig in på nåt jag inte vet hur det fungerar. :p Men den listar i alla fall -alla- filer i mappen nu. Hur hade du tänkt att jag skulle göra? Att den ska skapa en txt-fil för varje månad?
Du hade ju redan skrivit i ditt inlägg att länken skulle vara /?datum=april_2004 och att du hade en variabel som hette $april_2004 som du ville skriva ut.
Raden echo(${$_GET['datum']}); skriver ut variabeln som heter som det står efter ?datum=
I det här fallet skriver den alltså ut variabeln $april_2004 men hade du klickat på länken /?datum=maj_2004 hade den skrivit ut variabeln $maj_2004.
<?php
if (file_exists('./dagbok/'.$_GET['datum'])) {
include './dagbok/'.$_GET['datum'];
} else {
if ($handle = opendir('./dagbok')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "<a href=\"{$_SERVER['PHP_SELF']}?datum=$file\">$file</a><br>\n";
}
}
closedir($handle);
}
}
?>
Låt filerna bara heta typ april_2004 och liknande, utan någon filändelse.
Tills du har gjort ditt adminskript (inte särskilt avanderat), så kan du så länge ändra dom i din editor och ladda upp dom med FTP.
Du hade ju redan skrivit i ditt inlägg att länken skulle vara /?datum=april_2004 och att du hade en variabel som hette $april_2004 som du ville skriva ut.
Raden echo(${$_GET['datum']}); skriver ut variabeln som heter som det står efter ?datum=
I det här fallet skriver den alltså ut variabeln $april_2004 men hade du klickat på länken /?datum=maj_2004 hade den skrivit ut variabeln $maj_2004.
Nja, jag hade ingen länk. Jag skrev bara hur jag ville att det skulle se ut. Men nu efter ditt inlägg så förstår jag precis hur man ska göra. Tack för det.
Matte skrev:
Låt filerna bara heta typ april_2004 och liknande, utan någon filändelse.
Tills du har gjort ditt adminskript (inte särskilt avanderat), så kan du så länge ändra dom i din editor och ladda upp dom med FTP.
Jag får ett felmeddelande av din kod:
servern skrev:
Warning: OpenDir: Invalid argument (errno 22) in C:\Program\FoxServ\www\dagbok\index.php on line 58
(Det kanske är servern som är är felkonfad eller nåt...) Rad 58 är den här:
Aha, så det ska vara textfiler. Testade att ändra men får det inte att funka ändå. Ta en titt: http://silfver.se/temp
Vad kan vara galet?
Ja just det. Nu har jag endast din kod där. Jag har inget annat. Jag antar att man måste ha en liten kod också så den vet vart den ska printa innehållet. Eller?
259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25