/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Navigation: enzolim.php?page=etellerandet
Fra : Ralle


Dato : 03-09-06 18:02

hejsa...

Jeg kan godt lave en navigation som vist i overskriften altså:
enzolim.php?page=etellerandet

sådan gør man:

enzolim.php

<?php
session_start();

$url = $_GET['name'];
if (file_exists($url.'.php')) include($url.'.php');
else die('That File Dosent Existed');

?>

etellerandet.php:

<?php

if (!eregi("enzolim.php", $_SERVER['PHP_SELF'])) {
die ("You can't access this file directly...");
}

$name = basename(dirname(__FILE__));

echo "Test Side"

?>

det virker fint, altså så kan man kun tilgå filen
etellerandet.php via: enzolim.php?page=etellerandet (ikke .php!)

når men det er ikke det jeg har problemer med!

jeg vil gerne have sådan at alle mine sider står inde i min
database. altså at man har filen, index.php som så kommer med
link til de forskellige filer, linkene skal se sådan her ud:
index.php?ID=ettal

jeg har prøvet med en tutorial jeg fandt, men det virkede ikke,
nogle der kan hjælpe mig med at lave dette??

Ralle - ;-P

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Michael Zedeler (03-09-2006)
Kommentar
Fra : Michael Zedeler


Dato : 03-09-06 18:53

Ralle wrote:
> Jeg kan godt lave en navigation som vist i overskriften altså:
> enzolim.php?page=etellerandet
>
> sådan gør man:
>
> enzolim.php
>
> <?php
> session_start();
>
> $url = $_GET['name'];
> if (file_exists($url.'.php')) include($url.'.php');
> else die('That File Dosent Existed');
>
> ?>

Der er ingen grund til at give en fejlmeddelelse. Desuden giver
ovenstående kode adgang til at man kan indirekte hente en hver fil med
efternavnet .php. Uanset hvor på din server, den befinder sig.

> etellerandet.php:
>
> <?php
>
> if (!eregi("enzolim.php", $_SERVER['PHP_SELF'])) {
> die ("You can't access this file directly...");
> }

Jeg ville nok bare lave en funktion i den php-fil, du henter og så kalde
den funktion.


> det virker fint, altså så kan man kun tilgå filen
> etellerandet.php via: enzolim.php?page=etellerandet (ikke .php!)
>
> når men det er ikke det jeg har problemer med!
>
> jeg vil gerne have sådan at alle mine sider står inde i min
> database. altså at man har filen, index.php som så kommer med
> link til de forskellige filer, linkene skal se sådan her ud:
> index.php?ID=ettal

Dit filsystem er din database. Brug opendir til at "slå op" med.

http://dk.php.net/manual/en/function.opendir.php

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Ralle (04-09-2006)
Kommentar
Fra : Ralle


Dato : 04-09-06 16:56

> > Jeg kan godt lave en navigation som vist i overskriften altså:
> > enzolim.php?page=etellerandet
> >
> > sådan gør man:
> >
> > enzolim.php
> >
> > <?php
> > session_start();
> >
> > $url = $_GET['name'];
> > if (file_exists($url.'.php')) include($url.'.php');
> > else die('That File Dosent Existed');
> >
> > ?>
>
> Der er ingen grund til at give en fejlmeddelelse. Desuden giver
> ovenstående kode adgang til at man kan indirekte hente en hver fil med
> efternavnet .php. Uanset hvor på din server, den befinder sig.
>

Det er også formålet med koden!

> > etellerandet.php:
> >
> > <?php
> >
> > if (!eregi("enzolim.php", $_SERVER['PHP_SELF'])) {
> > die ("You can't access this file directly...");
> > }
>
> Jeg ville nok bare lave en funktion i den php-fil, du henter og så kalde
> den funktion.
>

hvad mener du?? fx: functions.php:

<?php

function tjek() {

<?php

if (!eregi("enzolim.php", $_SERVER['PHP_SELF'])) {
die ("You can't access this file directly...");
}

?>

(ikke tested!)

og så i filen etellerandet.php:

<?php

require("functions.php");

tjek();


// rediger ikke herover!
// sidens kode / text herunder!

>
> > det virker fint, altså så kan man kun tilgå filen
> > etellerandet.php via: enzolim.php?page=etellerandet (ikke .php!)
> >
> > når men det er ikke det jeg har problemer med!
> >
> > jeg vil gerne have sådan at alle mine sider står inde i min
> > database. altså at man har filen, index.php som så kommer med
> > link til de forskellige filer, linkene skal se sådan her ud:
> > index.php?ID=ettal
>
> Dit filsystem er din database. Brug opendir til at "slå op" med.
>
> http://dk.php.net/manual/en/function.opendir.php
>

opendir? hvorfor det?

og jeg har prøvet den der kode som de har et eksempel på hvordan det
virker, og den kommer op med en blank side.

og når ja, det kan også godt være jeg ikke har forklaret 100 % hvad det
skal bruges til.

du har tabellen: menu

i den er der følgende:

ID
name
content

id er auto ting, så den automatisk opretter 1 2 3 osv.

og så har man filen: index.php, som så kigger i databasen, kommer med
links ud på siden, et eksempel: <A href="index.php?ID=$id">$name</A>

og så når man trykker på $name linket, kommer man ind på en side, som
hedder: index.php?ID=$id ($id = 1, eller 2, eller 3, osv.)

og inde på den side, er der Name øverst, og 2 linjer længere nede er der
content.

Det er det jeg ikke kan finde ud af at lave.

Kan i hjælpe mig??

Ralle

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Michael Zedeler (05-09-2006)
Kommentar
Fra : Michael Zedeler


Dato : 05-09-06 12:15

Ralle wrote:
>>>Jeg kan godt lave en navigation som vist i overskriften altså:
>>>enzolim.php?page=etellerandet
>>>
>>>sådan gør man:
>>>
>>>enzolim.php
>>>
>>><?php
>>>session_start();
>>>
>>>$url = $_GET['name'];
>>>if (file_exists($url.'.php')) include($url.'.php');
>>>else die('That File Dosent Existed');
>>>
>>>?>
>>
>>Der er ingen grund til at give en fejlmeddelelse. Desuden giver
>>ovenstående kode adgang til at man kan indirekte hente en hver fil med
>>efternavnet .php. Uanset hvor på din server, den befinder sig.
>
> Det er også formålet med koden!

Nogle php-filer er man måske ikke så interesseret i at folk henter. Når
jeg skriver alle filer, så mener jeg virkelig /alle/. Også filer som
ligger alle mulige andre steder end lige der hvor du normalt ville
forvente at hente dem fra.

>>>etellerandet.php:
>>>
>>><?php
>>>
>>>if (!eregi("enzolim.php", $_SERVER['PHP_SELF'])) {
>>> die ("You can't access this file directly...");
>>>}
>>
>>Jeg ville nok bare lave en funktion i den php-fil, du henter og så kalde
>>den funktion.
>
> hvad mener du?? fx: functions.php:
>
> <?php
>
> function tjek() {
>
> <?php
>
> if (!eregi("enzolim.php", $_SERVER['PHP_SELF'])) {
> die ("You can't access this file directly...");
> }
>
> ?>

Nej.

I den enzolim.php har du

<?php
session_start();

$file = $_GET['name'];
if (!eregi("^\w+$", $file)) die (""); // parameteret name bør kun
indeholde A-Z, a-z, 0-9 og _
if (file_exists($file.'.php')) include($file.'.php');
else die("Unable to open '$file'.");

eval($file. "_render()"); // Kald funktionen ${file}_render()

?>

Antag at du har filen minfil.php. Så ser den sådan her ud:

<fil start><?php
function minfil_render() {
   // Indsæt her alt det, der skal ske når man har aktiveret
   // minfil.php
}
?><fil slut>

Hvis nogen på en eller anden måde henter minfil.php, sker der ganske
enkelt ingenting, da den kun indeholdr en funktion, som man ikke kan
kalde direkte.

>>>det virker fint, altså så kan man kun tilgå filen
>>>etellerandet.php via: enzolim.php?page=etellerandet (ikke .php!)
>>>
>>>når men det er ikke det jeg har problemer med!
>>>
>>>jeg vil gerne have sådan at alle mine sider står inde i min
>>>database. altså at man har filen, index.php som så kommer med
>>>link til de forskellige filer, linkene skal se sådan her ud:
>>>index.php?ID=ettal
>>
>>Dit filsystem er din database. Brug opendir til at "slå op" med.
>>
>>http://dk.php.net/manual/en/function.opendir.php
>
> opendir? hvorfor det?

Hvorfor ikke? Du har jo alle filerne i dit filsystem. Det eneste, du
behøver er at lave en liste over dem.

> og jeg har prøvet den der kode som de har et eksempel på hvordan det
> virker, og den kommer op med en blank side.
>
> og når ja, det kan også godt være jeg ikke har forklaret 100 % hvad det
> skal bruges til.
>
> du har tabellen: menu
>
> i den er der følgende:
>
> ID
> name
> content
>
> id er auto ting, så den automatisk opretter 1 2 3 osv.
>
> og så har man filen: index.php, som så kigger i databasen, kommer med
> links ud på siden, et eksempel: <A href="index.php?ID=$id">$name</A>
>
> og så når man trykker på $name linket, kommer man ind på en side, som
> hedder: index.php?ID=$id ($id = 1, eller 2, eller 3, osv.)
>
> og inde på den side, er der Name øverst, og 2 linjer længere nede er der
> content.
>
> Det er det jeg ikke kan finde ud af at lave.
>
> Kan i hjælpe mig??

Jeg foreslår at du opretter det som et separat spørgsmål.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste