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/