Avatar billede jthyge Seniormester
26. november 2003 - 19:45 Der er 47 kommentarer og
2 løsninger

Hente indhold ind i Table?

Hej

Sidder og leget lidt med en ny HP.

Jeg pljer at lave den i tables og det gør jeg igen. Men nu kommer jeg til at tænke på om det ikke er muligt at hente indholdet ind i en table med fx. <? include("der der står i adresse linen efter .php?"); ?>

Hvis i for står hvad jeg mener!

Så er man for at lave så mange sider!

Så kunne linket være fx.
<a href="#"?http://www.3del.dk>
eller hvordan man nu gør det??
Avatar billede htm Nybegynder
26. november 2003 - 21:23 #1
Ææææh den forstår jeg ikke helt.

er det noget ala dette du vil have?

$fil = $_GET["tekst"] . ".php";
if (file_exists($fil) {
  include($fil);
}

Så kalder du den med filnavn.php?tekst=enfil

så vil den inkludere enfil.php
Avatar billede ultragames Nybegynder
26. november 2003 - 22:10 #2
$page = $_GET['page'];

if($page)
  {
include("page.php");
  }
else
  {
  include("start.php");
  }

dine links fra index-side skal så være:  index.php?page=members

den vil nu include members.php i tabellen hvor include koden ligger i
Avatar billede jthyge Seniormester
26. november 2003 - 22:37 #3
Tja... Det tror jeg!

Men man kan vel include echo "$page";

Eller hvad?
Avatar billede ultragames Nybegynder
26. november 2003 - 22:38 #4
hvad mener du helt konkret med echo "$page";?.. vil du også udskrive hvilken side du er på eller hvad?
Avatar billede ultragames Nybegynder
26. november 2003 - 22:39 #5
sry..


$page = $_GET['page'];

if($page)
  {
include("$page.php");
  }
else
  {
  include("start.php");
  }

dine links fra index-side skal så være:  index.php?page=members

den vil nu include members.php i tabellen hvor include koden ligger i
Avatar billede ultragames Nybegynder
26. november 2003 - 22:40 #6
det er ret simpelt, hvis man includer $page.php, finder den selv ud af at $page er en variabel, og ".php" er en textstreng, så det sq virke :)
Avatar billede jthyge Seniormester
26. november 2003 - 22:42 #7
Nej..

Altså sådan at ens link hedder fx. www.eksperten.dk/index.php?page=www.jubii.dk

Og så bliver indholde af den tabel hvor man har <? include("echo $page"); ?> jubii.dk, fordi der kommer til at stå <? include("www.jubii.dk"); ?>

Hvis det forklarede lidt bedre!
Avatar billede razersedge Nybegynder
26. november 2003 - 22:42 #8
Well, du skal aldrig tillade at include filer direkte uden nogen form for validering af navnet på den side der skal inkluderes.

f.eks:

...
switch ($page) {
  case "page1": include ("page1.php"); break;
  case "page2": include ("page2.php"); break;
  default: include("start.php"); break;
}
Avatar billede ultragames Nybegynder
26. november 2003 - 22:44 #9
jo, for så tjekker du da bare om filne eksisterer på serveren!.. eller includer du en customized fejl side?
Avatar billede htm Nybegynder
26. november 2003 - 22:44 #10
Det vil være noget voldsomt bøvl som ikke vil føre noget godt med sig.

lav hellere end iframe inde i din tabel, hvor du angiver src til at være www.jubii.dk

eks.

<iframe src="<?php echo $_GET["page"]; ?>"></iframe>
og så kalde den med index.php?page=http://www.jubii.dk
Avatar billede razersedge Nybegynder
26. november 2003 - 22:45 #11
jthyge: Du skal ikke have echo med i en include, medmindre det er meningen at der skal stå echo i det filnavn som skal inkluderes. For det er netop hvad der sker, den prøver at finde en fil ved navn "echo værdien-af-$page".
Avatar billede ultragames Nybegynder
26. november 2003 - 22:45 #12
ahh... så laver du bare:

Tja... Det tror jeg!

Men man kan vel include echo "$page";

Eller hvad?
 

 
Kommentar: ultragames
26/11-2003 22:38:37    hvad mener du helt konkret med echo "$page";?.. vil du også udskrive hvilken side du er på eller hvad?
 

 
Kommentar: ultragames
26/11-2003 22:39:06    sry..


$page = $_GET['page'];

if($page)
  {
include("$page");
  }
else
  {
  include("start.php");
  }

dine links fra index-side skal så være:  index.php?page=http://www.jubii.dk

den vil nu include http://www.jubii.dki tabellen hvor include koden ligger i
Avatar billede ultragames Nybegynder
26. november 2003 - 22:47 #13
iframe er da ikke til andet end besvær, desuden er det ikke pænt
Avatar billede htm Nybegynder
26. november 2003 - 22:48 #14
ultragames >> Hvilke besvær? Og ikke pænt?

Så hellere risikere at en evt. inkluderet side kan ændre i layout og alt muligt andet? Nææ nej brug hellere en iframe.
Avatar billede razersedge Nybegynder
26. november 2003 - 22:49 #15
ultragames: Den metode er ikke helt ufarlig, din metode validerer bare om $page er sat, og inkluderer derefter en fil som er defineret af $page, lige meget hvilket filnavn $page indeholder. Det er en risiko da $page kunne indeholde navnet på en fil med f.eks. adgangskoder eller anden vigtig information, hvis det er tilfældet vil den metode der uden tøven inkludere filen og udskrive indholdet.
Avatar billede ultragames Nybegynder
26. november 2003 - 22:51 #16
det er selvfølgelig rigtig.. men så q man bare md5 kode linket ;)
Avatar billede ultragames Nybegynder
26. november 2003 - 22:52 #17
htm >> Så hellere risikere at en evt. inkluderet side kan ændre i layout og alt muligt andet? Nææ nej brug hellere en iframe.

nu var spm. altså på i EN TABEL, og ikke i en iframe
Avatar billede jthyge Seniormester
26. november 2003 - 22:54 #18
Jeg tror jeg holder mig tiil ultragames råd:

Det lyder som det rigtige! Men jeg kan sgu ikke lige få det til at virke...

Den side jeg vil have frem kommer ikke, men der kommer i stedet start.php??
Avatar billede razersedge Nybegynder
26. november 2003 - 22:56 #19
At md5 kode linket virker lidt besværligt til dette formål :) En simpel switch eller en del if sætninger til at validere variablens indhold er efter min mening bedre.
Avatar billede ultragames Nybegynder
26. november 2003 - 22:56 #20
2 sek.. jeg laver lige et komplet eksempel
Avatar billede jthyge Seniormester
26. november 2003 - 23:00 #21
Ligen en kommentar til alt det med passwords osv. det er udelukkende mine egne sider der skal includeres.. Så det bliver ikke noget prob...

Det med jubii.dk var bare et eks.
Avatar billede jthyge Seniormester
26. november 2003 - 23:03 #22
Det jeg har som ikke virker er følgende:

Adresse linien (linket): /index.php#?page=logo.php

Der hvor det skal includeres:
<?php
$page = $_GET['page'];

if($page)
  {
include("$page.php");
  }
else
  {
  include("bund.php");
  }
?>
Avatar billede ultragames Nybegynder
26. november 2003 - 23:06 #23
<?

$side = $_GET['side'];

echo "<a href=\"?side=anden_side.php\">jubii.dk</a";


if($side)
  {
  include("$side");
  }
else
  {
  include("Forside.php");
  }
 


?>
Avatar billede razersedge Nybegynder
26. november 2003 - 23:06 #24
jthyge: Det er stadig vigtigt du definerer hvilke sider der må inkluderes, ellers kan du senere stå med et kæmpe sikkerhedsproblem.

Desuden giver det heller ikke et problem mht. jubii som du skulle tage dig af. Da jeg overhovedet ikke kunne forestille mig jubii have sårbar information liggende frit tilgængeligt.

Det er vigtigt altid at håndtere input fra brugeren som værende fjendtligt, før al information er valideret bør det ikke benyttes blindt.

Hvor lille din side end er, bør du validere dit input.
Avatar billede ultragames Nybegynder
26. november 2003 - 23:08 #25
men jeg tror faktsik ikke at du kan include et helt web-sted.. fx include("http://www.jubii.dk");..?.. men er ikke sikker
Avatar billede schaefner Juniormester
26. november 2003 - 23:09 #26
Avatar billede jthyge Seniormester
26. november 2003 - 23:11 #27
Jeg forstår ikke helt forskellen på at bruge en alm.
<? include("http://www.3del.dk"); ?>

og på at gøre det på denne måde!! Alt man gør er vel bare at hente teksten http://www.3del.dk fra adresse linien og side den ind i include!!!
Avatar billede razersedge Nybegynder
26. november 2003 - 23:11 #28
Det kan du sagtens ultragames: www.sbjensen.dk/jubii.php
Avatar billede ultragames Nybegynder
26. november 2003 - 23:12 #29
men razersegde >> med include("$side.php");, der  sørger man jo for at KUN php dokumenter kan vises, og dermed kan man ikke se koder mm. med mindre det står fremme som HTMl kode!
Avatar billede razersedge Nybegynder
26. november 2003 - 23:13 #30
Fjernes om 5 minutter :)

Præcis jthyge - tror ikke folk har fanget dit spørgsmål så.
Avatar billede ultragames Nybegynder
26. november 2003 - 23:14 #31
hvem siger at den er lavet med include, og ikke med header?
Avatar billede jthyge Seniormester
26. november 2003 - 23:14 #32
noget siger min at schaefner er inde på noget at det helt rigtige! :-)
Avatar billede ultragames Nybegynder
26. november 2003 - 23:16 #33
fordelen ved at lave det sådan her, er at du ikke skal lave en case, og dermed skrive en masse kode, men derimod blot lave lidt mere på dine links i stedet.. som er mindre end case metoden
Avatar billede razersedge Nybegynder
26. november 2003 - 23:16 #34
ultragames: Det har du rigtigt nok ret i. Det er dog alligevel vigtigt man ved præcis hvilke dokumenter du risikerer bliver inkluderet. Gælder også i mange andre sammenhænge.
Avatar billede ultragames Nybegynder
26. november 2003 - 23:17 #35
http://disneyzone.dk/include/  >> det er nøjagtig det som vi er igang med at lave!.... det gør i hvert fald det samme
Avatar billede ultragames Nybegynder
26. november 2003 - 23:18 #36
jeg må indrømme, jeg har ikke taget forhold for sikkerhed, men så må man også selv tage sig lidt i agt for sin sikkerhed mht til filer!...og ikke ligge passwords uden beskyttelse med mere
Avatar billede jthyge Seniormester
26. november 2003 - 23:30 #37
Jeg kan simpelt hend ikke få den til at bruge den side der står i adresse linien.. fx. ?side=logo

Den gør som hvis siden ikke fandtes!
Avatar billede schaefner Juniormester
26. november 2003 - 23:32 #38
jthyge >> Hvis du har forsøgt med den jeg har lagt ud, så skal du bare oprette en fil i mappen "siderne" med navnet logo.php og så kalde den via ?side=logo
Avatar billede jthyge Seniormester
26. november 2003 - 23:35 #39
har bare ændret til
<?php
if(file_exists($_GET['side'].'.php')) {
        include($_GET['side'].'.php');
} else {
        include('forside.php');
}
?>

Og så viser den forside.. på trods af at der står #?side=logo i adresse linien!
Avatar billede jthyge Seniormester
26. november 2003 - 23:47 #40
schaefner>> Buder det den ikke vise logo så`? Eller er det bare mig der er for træt? :-)
Avatar billede schaefner Juniormester
26. november 2003 - 23:47 #41
ligger siderne så sammen med index.php?
Avatar billede jthyge Seniormester
26. november 2003 - 23:51 #42
yep... i sammen mappe!
Avatar billede schaefner Juniormester
26. november 2003 - 23:53 #43
Prøv at lade være med at lave om på noget og uploade det som det er - og se om det virker.
Avatar billede schaefner Juniormester
26. november 2003 - 23:55 #44
Ligger logo.php og index.php i samme mappe?
Avatar billede roenving Novice
26. november 2003 - 23:56 #45
-- og så kan man iøvrigt gøre det som jeg forstår som indgangsspørgsmålet med et simpelt javascript og noget frames-et-eller-andet:

http://roenving.users.whitehat.dk/WD3Input.html

-- kig på adresselinjen efter indgang og find forklaring/kode ved at klikke på teksten om framing nede til venstre ...

-- just in case you are interested !-)
Avatar billede jthyge Seniormester
26. november 2003 - 23:57 #46
Har lige prøvet at uploade den helt som den er, og det virker fint.

Har også prøvet at flytte siderne fra "siderne" til sammen mappe som index.php og lave scriptet om som før og det virker også fint!! Hmmm...
Avatar billede schaefner Juniormester
26. november 2003 - 23:58 #47
jamen, så er alt jo godt
Avatar billede jthyge Seniormester
27. november 2003 - 00:14 #48
Hmm... Det var åbenbart pga. # før ?... Så nu virker det..

Men har bare lige det lille poblem at jeg har en fold ud menu, som nu folder ind hver gang jeg trukker på et link med ?side= fordi det mangler et # først.. Men det må blive i et andet spg.

achaefner smid svar hvis du vil have del i points! Og tak for hjælpen!! :-)
Avatar billede schaefner Juniormester
27. november 2003 - 12:50 #49
var så lidt :)
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