Avatar billede raffar Juniormester
13. april 2003 - 21:44 Der er 11 kommentarer og
1 løsning

dynamik - Include - title - url og sukos eksempel

Jeg har set lidt på eksemplet http://www.sukos.dk/diverse/spm230323/ som 'sukos' har givet i forbindelse med spørgsmål http://www.eksperten.dk/spm/230323 Det virker fint og det er lige det jeg skulle bruge. Tak sukos.
Jeg er dog lidt nysgerrig omkring løsningen.
- kan 'sukos' løsning udbygges så den også håndterer dynamisk side titel generering dvs. 'titel' bliver inkluderet i scriptet ... måske ala dette .. $title='title name'; så den kan hentes i head således <title><?=$title?></title> ?
- er sikkerheden i løsningen god nok og er den sikker imod cross-site scripting ?
- er dette den mest optimale måde at lave include eller?

Denne løsning giver url's som denne www.dit-domain.dk/index.php?action=test1
Hvordan kan nogle sider få en kortere url f.eks. uden index.php  .. www.dit-domain.dk/?=test1

PS: Jeg deler points ud efter først samt best (for mig) svar.
Avatar billede schaefner Juniormester
13. april 2003 - 21:49 #1
www.dit-domain.dk/index.php?action=test1
Der kan bare fjerne index.php uden problemer :)
Avatar billede schaefner Juniormester
13. april 2003 - 21:51 #2
www.dit-domain.dk/?action=forside
<title><?php echo $_GET['action']; ?></title>
Avatar billede schaefner Juniormester
13. april 2003 - 21:55 #3
<title><?php echo ucfirst($_GET['action']); ?></title>

Så skulle titlen gerne blive Forside
Avatar billede raffar Juniormester
13. april 2003 - 21:59 #4
schaefner >>  <title><?php echo ucfirst($_GET['action']); ?></title>  løser 'Title' delen men hvad vis man vil have en forskellig title fra det case man har ?
Avatar billede raffar Juniormester
13. april 2003 - 22:07 #5
schaefner > har testet www.dit-domain.dk/?action=forside ved at ændre link fra <a href="<?php echo $_SERVER['PHP_SELF']; ?>?action=test1">test1</a> til <a href="?action=test1">test1</a>
Er dette helt problemfrit i henhold til stier osv.?
Avatar billede schaefner Juniormester
13. april 2003 - 22:14 #6
"men hvad vis man vil have en forskellig title fra det case man har ?"
Hvad mener du med det?

Det andet burde ikke gi' nogen problemer.
Avatar billede raffar Juniormester
13. april 2003 - 22:25 #7
Det er lavet det på denne måde

<?php
if (!isset($_GET['action'])) {
$action = "default";
}else{
$action =$_GET['action'];
}

switch ($action)
{
case "test1":
include("test1.php");
break;

case "test2":
include("test2.php");
break;

case "test3":
include("test3.php");
break;

case "test4":
test4();
break;

case "test5":
test5();
break;

case "test6":
test6();
break;

default: echo"<h4 style=\"color: black;\" align=\"center\">Klik p&aring; et link!</h4>";
break;
}
?>

og bliver hentet sådan <a href="<?php echo $_SERVER['PHP_SELF']; ?>?action=test1">test1</a>

hvor case er siden titel i address baren dvs. urlen

Hvis jeg nu ønsker at kale en side f.eks. 'schaefner er en hyppig bruger af experten' Så er den lidt lang og klumset til urlen, men ville se pæn ud i toppen af siden som title.
Avatar billede schaefner Juniormester
13. april 2003 - 22:51 #8
Du vel lave noget ala det her:

<?php
if (!isset($_GET['action'])) {
    $action = "default";
}else{
    $action = $_GET['action'];
}
switch ($action) {
    case "test1":
    $fil = "test1.php";
    $overskrift = "1.schaefner er en hyppig bruger af eksperten";
    break;

    case "test2":
    $fil = "test1.php";
    $overskrift = "2. schaefner er en hyppig bruger af eksperten";
    break;

    case "test3":
    $fil = "test3.php";
    $overskrift = "3. schaefner er en hyppig bruger af eksperten";
    break;

    case "test4":
    $fil = "test4.php";
    $overskrift = "4. schaefner er en hyppig bruger af eksperten";
    break;

    case "test5":
    $fil = "test5.php";
    $overskrift = "5. schaefner er en hyppig bruger af eksperten";
    break;

    case "test6":
    $fil = "test6.php";
    $overskrift = "6. schaefner er en hyppig bruger af eksperten";
    break;

    case "default":
    $fil = "default.php";
    $overskrift = "Forsiden";
    break;
}
?>
<html>
<head>
<title><?php echo "$overskrift"; ?></title>
</head>

<body>

<?php
include("$fil");
?>

</body>
</html>
Avatar billede raffar Juniormester
13. april 2003 - 23:06 #9
Det ser rigtigt godt ud du må huske at lægge et svar.
Forresten er løsningen sikret imod cross-site scripting ?
Avatar billede schaefner Juniormester
13. april 2003 - 23:09 #10
ja, du tjekker jo om $_GET['action'] er lig med f.eks. test6. Så hvis en person skriver ?action=http://farlig.dk/farligfil.php så vil den jo aldrig nogensinde opfylde dine krav i din switch.

/Jesper Sørensen
Avatar billede raffar Juniormester
13. april 2003 - 23:09 #11
Hvad er forskellen mellem disse url's:
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?action=test1">test1</a>
<a href="?action=test1">test1</a>
Avatar billede raffar Juniormester
13. april 2003 - 23:12 #12
Jeg takker mange gange for din hjælp. Jeg har havt lidt svært ved at forstå dette .. er måske ved at blive lidt gammel :) og har heller aldrig været den store scripthej.
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