WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Problem mit Unterverzeichnis und PHP Include

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Problem mit Unterverzeichnis und PHP Include - 29 März 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Problem mit Unterverzeichnis und PHP Include
raiserle
Mausakrobat




Beiträge: 172

wwwroot?
die einzige var die ich da kenne ist $_SREVER['DOCUMENT_ROOT']
und diese kann dabei auch nicht helfen.
sie gibt jediglich den ordner wieder, woher die domain kommt.

angenommen unix
/home/raiserle <- das ist der docomentroot von der domain raiser-web.dyndns.org

wenn ich nun einen weiteren ordner anlege
/home/raiserle/test und in diesem eine datei namens test.php und dort wiederum dirn scheibe
echo $_SERVER['DOCUMENT_ROOT'];
dann wird mir das script /home/raiserle wiedergeben.

also man sieht, das nützt für die ordnerstruktur zum includen gar nix.

damit vielleicht es noch etwas verständlicher wird
wenn ich nun in demordner /home/raiserle/test
die datei test.php
so aussehen lasse
include "config.inc.php";
?>
diese aber in /home/raiserle liegt, wird es zu einem fehler führen
also muss man
include "../config.inc.php";
scheiben.

was ist aber nun, wenn in de config.inc.php wieder eine datei eingefügt wird und diese ebenfalls in /home/raiserle liegt. (inc.test.php)
man möchte meinen, das es geht, aber der schein trügt.

er wird wiederum einen fehler bringen, denn er kann die inc.test.php nicht finden und warum nicht, ... er sucht sie im ordner /home/raiserle/test
egal auch wenn ich die config.inc.php richtig in der test.php aufrufe, so befindet sich der prozess immer noch im ordner ../test und dort gibt es keine inc.test.php

und jetzt kommt vielleicht die varibale, die helfen kann.
wenn wir dieses beispiel weiter verfollgen, so sollte die config.inc.php die datei in /home/raiserle/ suchen
also includieren wir in der config.inc.php per
code von config.inc.php
include "inc.test.php"; // das original was zu einem fehler führt
include $_SERVER['DOCUMENT_ROOT']."inc.test.php"; // absolute pfadangabe und dies
//wird auch funktionieren

so damit haben wir erstmal die ordnerstruktur geschafft, aber was ist, wenn dort links drin sind...

weiter mit dem selben beispiel
angenommen in der datei inc.test.php steht
echo 'a href="test.php">TEST';

dann wird der link wie follgt aussehn

http://raiser-web.dyndns.org/test/test.php
lustigerweise wird das funktioniren, da wir in dem ordner test eine test.php haben
aber was, wenn man eine test.php aus dem ordner /home/raiserle haben will.
dann wird es mit dem relativen linkt nicht mehr gehen.
der link müsste dann auch wieder absolut angegebenwerden, was aber zu sehr unerwünschten problemenn führen kann.
verlusst der session.....
also müsste der link wie follgt aufgerufen werden
echo 'TEST';
jetzt würder der link richtig sein
http://raiser-web.dyndns.org/test.php

so, das solls zu erklärung gewesen sein, weil man kann für diese probleme keine LÖSUNG nennen, ausser man sagt, MACHT euch vorher gedanken, wie euer script und euer struktur aussehen soll.

gruss raiserle

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
Xeridar
Pixelschubser




Beiträge: 1

if(!isset($_GET['page'])) {
$page = 'startseite.php';
} else {
$page = $_GET['page'];
}
?>



SCHLIMMER FEHLER!!!

Die Seite hacke ich innerhalb von 30 Sekunden über ein remote include und hab dann Vollzugriff auf deinen Server.

Du musst vorher per file_exists überprüfen ob die Datei lokal bei dir existiert.

  Profil   Editieren   Zitieren
Ori
Mausakrobat




Beiträge: 162

Die Nacht der lebenden Threads.

Davon abgesehen, sollte der Schnipsel insgesamt so lauten:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:
if ( array_key_exists('page', $_GET) && file_exists( $_GET['page'] ) )
{
   include($_GET['page']);
}
else
{
   include('startseite.php');
}

  Profil   E-Mail   Website   Editieren   Zitieren
Seite 1 | 2  

Antworten
Forum » PHP & MySQL » Problem mit Unterverzeichnis und PHP Include

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Problem mit Unterverzeichnis und PHP Include im Forum Homepage Hosting AntwortenLetztes Posting
Best online slots
in "PHP & MySQL"
0 23.01.2023 22:40 von Sevetr
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji
php preg_replace_callback für dynamischen Link
in "PHP & MySQL"
0 05.07.2016 11:02 von Rm21
PHP Code verschlüsseln
in "PHP & MySQL"
20 21.02.2016 21:25 von Kilian1
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon



Besucher : 7975254    Heute : 205     Gestern : 388     Online : 53     29.3.2024    15:26      0 Besucher in den letzten 60 Sekunden        
Nach oben