Avatar billede hansen1142 Nybegynder
27. maj 2006 - 19:30 Der er 24 kommentarer og
1 løsning

Søger noget i stil med ?page=side

Hejsa. Jeg er stadig en smule grøn i php, så vil derfor godt lige have en lille hjælpene hånd fra jer af.

Jeg søger et script der minder om det man ser mange steder hvor adressen står som www.domæne.dk?page=fide fx. men jeg har et lille krav her.

Istedet for ?page=side vil jeg gerne have der står ?request=side

Ud over det skal det også være på den måde at jeg har en tom index hvor jeg kun har sidens layout, og så via scriptet kan kalde fx nyheder.php ind i den tabel jeg nu ønsker. 404.php er ikke et krav
Avatar billede leif Seniormester
27. maj 2006 - 19:35 #1
<?
if(isset($_GET["request"])
{
include("$_GET[request].php");
}
else
{
include("forside.php");
}



Sætter du ind lige der hvor du vil have den til at include siden.
Avatar billede gizmo-gizmo Nybegynder
27. maj 2006 - 19:39 #2
Leif: Jeg ville nu være en smule betænkelig ved ukritisk at inkludere det der står i adresselinjen. Der kunne man evt. lave:

$lovlige_sider = array("forside", "testside", "blaside");

if (isset($_GET['request']))
{
  if (in_array($_GET['request'], $lovlige_sider))
  {
    include($_GET['request'].".php");
  }
}
else
{
  include("forside.php");
}
Avatar billede leif Seniormester
27. maj 2006 - 19:43 #3
Jeg fandt lige den version som jeg normalt bruger og tilsyneladende virker som den skal:
<?php
  if(isset($_GET["request"]) && file_exists($_GET["request"] . '.php'))
  {
    include($_GET["request"] . '.php');
  }
  else
  {
    include("forside.php");
  }
?>
Avatar billede hansen1142 Nybegynder
27. maj 2006 - 19:46 #4
Hey Leif.. Din den nederste der, den skal bare indsættes i den tabel jeg nu vil have siderne vist i ikke? Og så er jeg derefter klar til at linke til ?request=forside frem for forside.php? Hvis ja, så smid et svar, og du skal få dine point :)
Avatar billede leif Seniormester
27. maj 2006 - 19:50 #5
hansen1142 -> Ja, men har du ikke defineret noget henter den automatisk forside.php, det er for at når du bare skriver www.domæne.dk skal du jo også komme ind på en side :)

Bare til orientering, men kunne have kaldt det ?q=forside så skal alle steder der står request bare skiftes med ud med q, da det reelt er lige meget hvad variablen hedder jeg tror mange bruger page da det nok er mest nærliggende.
Avatar billede leif Seniormester
27. maj 2006 - 19:50 #6
Faktisk ved at bruge gizmo-gizmo løsningen kan du have filer liggende som man ikke kan inkludere ved hjælp af adresselinien.
Avatar billede hansen1142 Nybegynder
27. maj 2006 - 19:54 #7
hansen1142 -> Ja, men har du ikke defineret noget henter den automatisk forside.php, det er for at når du bare skriver www.domæne.dk skal du jo også komme ind på en side :)


Den der forstod jeg ikke helt? Altså jeg havde engang et sådan script, men har mistet det ved et harddisk nedbrud, og der skulle jeg sætte et lille stykke kode ind i toppen af index.php og så der efter et lille stykke kode i den tabel jeg ville kalde siderne ind i. Den kaldte selv forside.php ind med det samme.
Avatar billede hansen1142 Nybegynder
27. maj 2006 - 19:58 #8
Men jeg kan vel bare smide en <? require "(forside.php") ?> på et sted på index.php? Det må da være nok eller?
Avatar billede leif Seniormester
27. maj 2006 - 20:10 #9
Hvorfor vil du det ? Det får du da ikke noget ud af.

Scriptet kunne læses som:
Hvis request er sat henter den request ind ellers henter den forside
Avatar billede leif Seniormester
27. maj 2006 - 20:11 #10
I stedet for include kunne man have bruge require, men uden den store forskel.
Avatar billede leif Seniormester
27. maj 2006 - 20:12 #11
Avatar billede hansen1142 Nybegynder
27. maj 2006 - 22:19 #12
Leif, lad os lige få noget på det rene..

Hvordan skal jeg bruge scriptet?? Er som sagt ikke helt pro med det her PHP endnu, så har altså ikk helt fået fat i hvordan jeg skal bruge det :S
Avatar billede leif Seniormester
27. maj 2006 - 22:21 #13
I din index fil.
Avatar billede hansen1142 Nybegynder
27. maj 2006 - 22:30 #14
Ok, og det skal abre ligge i tabellen siderne skal kaldes ind i?
Avatar billede leif Seniormester
27. maj 2006 - 22:31 #15
Ja
Avatar billede hansen1142 Nybegynder
27. maj 2006 - 22:35 #16
Det er bare klasse, smid lige et svar, så får du dine point.. :)
Avatar billede leif Seniormester
27. maj 2006 - 22:36 #17
.
Avatar billede hansen1142 Nybegynder
27. maj 2006 - 22:36 #18
Og jeg takker for hjælpen Leif :)
Avatar billede leif Seniormester
27. maj 2006 - 22:37 #19
Meld også lige tilbage i nogen af dine ældre spørgsmål.
Avatar billede hansen1142 Nybegynder
27. maj 2006 - 22:45 #21
Snobberi er ikke noget jeg svarer på..
Avatar billede leif Seniormester
27. maj 2006 - 22:47 #22
Den forstod jeg ikke lige ? Det er ren høflighed altid at på en eller anden måde melde tilbage i sine spørgsmål.
Avatar billede hansen1142 Nybegynder
27. maj 2006 - 23:00 #23
Det ved jeg godt, og det er jeg også taknemlig for, men i et af mine indlæg var der en der snobbede helt ud :S
Avatar billede leif Seniormester
27. maj 2006 - 23:17 #24
Ja, så ignorer ham, men evt. så luk spørgsmålet.
Avatar billede hansen1142 Nybegynder
27. maj 2006 - 23:18 #25
Ja ok, lukker dem lige så :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester