ordnerstruktur auf Webspace

zB. WAP und all das was sonst nirgends zu zuordnen ist....

Moderator: lauras

Beiträge bitte im neuen Forum

ordnerstruktur auf Webspace

Beitragvon Verwebbt » Dienstag 15. Juni 2010, 17:54

Hallo ich habe das Problem das ich immer größere Seiten baue, und wenn ich nun auf der index.php eine loginformularauswertung einbaue(bzw schon drin habe) und dann mache ich einen ordner namens "php" in dem dann die Formularauswertung angesprungen wird. Soweit alles ok, nun ist abber immer so mit den dateipfaden, einmal muss ich ../ordner/datei.xyz angeben, dann wieder nur ordner/datei.xyz. Das irritiert voll, und ich komme gerade mit dem Problem nicht so klar.

Es kann tausend zeilen PHP Code sein(das lese ich reibungslos) aber mit diesen relativen und absoluten dateinamen / Pfaden komme ich gar nicht klar.

Weiß jemand rat ausser dieser php self variante
Verwebbt
 

Beitragvon Sarkkan » Dienstag 15. Juni 2010, 17:58

Die Pfäde in Variabeln Speichern, die du dir besser einprägen kannst?
Code: Alles auswählen
$Kontakt_Formular_Uberprufen = '../ordner/Datei.*';


Oder die Ordnerstruktur kleiner gestalten?
Evtl. bei mehreren Seiten Subdomains?

Mehr fällt mir gerade spontan nicht ein (:
Benutzeravatar
Sarkkan
HTML-Acrobat
 
Beiträge: 1557
Registriert: Montag 5. April 2010, 01:46
Wohnort: Bei Köln

Beitragvon YetiZwerg » Dienstag 15. Juni 2010, 20:33

schonmal was über
Code: Alles auswählen
include()
gehört??
Benutzeravatar
YetiZwerg
HTML-Acrobat
 
Beiträge: 531
Registriert: Montag 13. Oktober 2008, 13:51
Wohnort: Koblenz

Beitragvon Sarkkan » Dienstag 15. Juni 2010, 21:24

Hmm.. ob ich nun ein Formular über einige Ordner include, oder ob ich nun beim Formular die Auswertung über einige Ordner angebe.. kommt das nicht etwa auf das selbe raus?
Benutzeravatar
Sarkkan
HTML-Acrobat
 
Beiträge: 1557
Registriert: Montag 5. April 2010, 01:46
Wohnort: Bei Köln

Beitragvon YetiZwerg » Dienstag 15. Juni 2010, 21:26

ne... wenn man z.B. den Content jeweils anpasst, und dann das formular includet hat, und die Auswertung dann einfach auch über switch-case einbindet, kann man z.B. gleich die Ausgabe "Formular erfolgreich versendet" oder was auch immer, ausgeben...

oder man macht es in einer Datei mit Klassen...
Benutzeravatar
YetiZwerg
HTML-Acrobat
 
Beiträge: 531
Registriert: Montag 13. Oktober 2008, 13:51
Wohnort: Koblenz

Beitragvon timtim » Dienstag 15. Juni 2010, 21:37

Was hatt den das jetzt wieder mit klassen zu tun...

Nuja, wie gesagt. Am besten du arbeitest nur über eine index.php
Und lädst später die dateien über switch oder über ne kleine funktion die dateien prüft die inhalte / codes in den content bereich. So musst z.B das menü auch nur einmal erstellen und kannst es auslagern.

Das ist eh ein wichtiger punkt. Größere php blöcke am besten in eigene dateien auslagern und sie mittelst include oder require einbinden.

Greetz TimTim
Benutzeravatar
timtim
HTML-Acrobat
 
Beiträge: 645
Registriert: Montag 5. Oktober 2009, 17:28
Wohnort: Im Schwarzwald

Beitragvon Verwebbt » Mittwoch 16. Juni 2010, 10:31

ich weiß ich weiß, es ging eigentlich mehr um die ordnerwahl und wieviele. Ich gehe jetzt von einer page mit login, registrierung , und ein paar kleinere scripte die bereits mittels include eingebunden werden(oder Kontaktformular auch)

ich habe jetzt im ordner für eine domain:

img (ordner)
inc(ordner)
css.css
Seite0.php
Seite1.php
Seite2.php
...
...
...
index.php


ich mein nun die verweise auf die css datei müssen immer anders sein, einmal so ../css.css, einmal so css.css und das bei vielen dateien, dann aktualisiert man und sieht das stylesheet verweis ist nicht korrekt...usw..

include und dateinamen in variablen speichern ist mir bereits bekannt :)
Verwebbt
 

Beitragvon timtim » Mittwoch 16. Juni 2010, 10:46

Ja, das haben wir schon verstanden. Aber wenn du eben über mehrere ordner arbieten willst, kommst nicht drumrum, die links für die stylsheets immer zu verändern.

Daher haben wir vorgeschlagen das du nur über eine index.php arbeitest, dort einmal das menü, und das html gerüst reinschreibst, und allen anderen Inhalt in diese index, je nach parameter aufruf einbindest. Dann musst nicht darauf achten, wie du was einbindest, genauer musst es eben nur auf der index.php machen.

Ansonnsten.. musst eben in jeder datei deine dateien eibinden, und selbst schauen, das die stylesheets immer den reichtigen pfad hat.

Der pfad zum stylesheet ist ja immer abhängig vom speicherort der datei, in der sie aufgerufen wird.

css.css wird wenn sich die datei im gleichen ordner befindet immer mit css.css eingebundne.

Wenn die php datei jetzt einen ordner darüber liegt eben mit ../css.css

Greetz TimTim
Benutzeravatar
timtim
HTML-Acrobat
 
Beiträge: 645
Registriert: Montag 5. Oktober 2009, 17:28
Wohnort: Im Schwarzwald

Beitragvon Verwebbt » Mittwoch 16. Juni 2010, 10:53

timtim hat geschrieben:...Daher haben wir vorgeschlagen das du nur über eine index.php arbeitest, dort einmal das menü, und das html gerüst reinschreibst, und allen anderen Inhalt in diese index, je nach parameter aufruf einbindest. Dann musst nicht darauf achten, wie du was einbindest, genauer musst es eben nur auf der index.php machen.

.... Greetz TimTim


Ok, werd mich mal daran machen, ich hatte das script schonmal geschrieben, nur bei festplattenverlust alle daten weggewesen. Danke dir/euch erstmal
Verwebbt
 

Beitragvon YetiZwerg » Mittwoch 16. Juni 2010, 11:35

was timtim sagen will, ist, dass du nicht in jeder Datei (die du in die index.php includest) einen Vermerk auf deine CSS brauchst... generell brauchst du bei Dateien, die du in die index.php includest auch das ganze HTML-Grundgerüst nicht da du es ja schon in der index.php hast
Benutzeravatar
YetiZwerg
HTML-Acrobat
 
Beiträge: 531
Registriert: Montag 13. Oktober 2008, 13:51
Wohnort: Koblenz

Beitragvon timtim » Mittwoch 16. Juni 2010, 11:36

Hab dir mal ein kleines snippet
EDIT: Kann fehler enthalten.. habe es nicht getestet.. also falls es nicht so klappt.. nicht wundern =)
Code: Alles auswählen
<?php
$seite = $_GET["site"];  //Übergebener wert

$seite_ordner_pfad = "inhalt/"   //Ordner in dem die dateien ligen;

$seite_name_reg = "/[^a-z0-9A-Z]/"; //seiten namen nur aus buchstaben und zahlen
$seite_datei_typ = ".php"; //datei endungen

//auf name prüfen
if(preg_match($seite_name_reg,$seite)){
     //fals ungültige zeichen enthalten sind, wird die start datei eingebunden
    $seite = "start";
}

$datei = $seite_ordner_pfad.$seite.$seite_datei_typ;  //zusammensetzen des pfades
     //falls die datei exestiert einbinden.

if(is_file($datei)){
    include($datei);
}else{
          //wenn nicht, startseite einbinden.
    include($seite_ordner_pfad."start"."$seite_datei_typ");
}

?>




Damit könntest einfach alle inhalte, in den ordner inhalt speichern. Und dann die links über get parameter verteilen z.B

-> link href="?site=impressum"

Dann würde die datei inhalt/impressum.php gesucht. Falls sie exestiert, wird sie eingebunden. Das snippet, setzt dann einfach dort ein wo du den inhalt der seite haben möchtest.

Greetz TimTim
Benutzeravatar
timtim
HTML-Acrobat
 
Beiträge: 645
Registriert: Montag 5. Oktober 2009, 17:28
Wohnort: Im Schwarzwald

Beitragvon Verwebbt » Donnerstag 17. Juni 2010, 05:18

:D dankeschön...ein Semikolon in zeile3 hat gefehlt



Code: Alles auswählen
<?php
$seite = $_GET["site"];  //Übergebener wert
$seite_ordner_pfad = "inhalt/";  //<--; !!Ordner in dem die dateien ligen;
$seite_name_reg = "/[^a-z0-9A-Z]/"; //seiten namen nur aus buchstaben und zahlen
$seite_datei_typ = ".php"; //datei endungen
//auf name prüfen
if(preg_match($seite_name_reg,$seite)){
     //fals ungültige zeichen enthalten sind, wird die start datei eingebunden
    $seite = "start";
}
$datei = $seite_ordner_pfad.$seite.$seite_datei_typ;  //zusammensetzen des pfades
     //falls die datei exestiert einbinden.
if(is_file($datei)){
    include($datei);
}else{
          //wenn nicht, startseite einbinden.
    include($seite_ordner_pfad."start"."$seite_datei_typ");
}
?>


Auf jeden Fall schnell gemacht und funktioniert. :D

Vielleicht sollte das ganze Thema doch mehr in PHP Bereich verschoben werden, ich weiß es nicht :roll:

Nachtrag:
ob das bei mir nun sinnvoll ist, ich habe leider nicht nur im #content wechselnden Inhalt und ob es sich lohnt das dann mit dem script mehrmals zu verschachteln, ich weiß es nicht :?: :!: ich überlege es mir obwohl sicherheitstechnisch sicherlich das script besser ist
Verwebbt
 

Beitragvon timtim » Donnerstag 17. Juni 2010, 09:16

Es kommt drauf an was bei dir wechselst, das snippet ist schnell erweitert. Ich habe es heir recht ausführlich geschrieben, damit es leichter zu verstehen ist. Wenn man es ein wenig abwandelt, kannst du damit auch gleich den Titel der seite festlegen, und z.'B das menü nachladen. Dafür müsst ich mir aber die seite mal anschauen..

Greetz TimTim
Benutzeravatar
timtim
HTML-Acrobat
 
Beiträge: 645
Registriert: Montag 5. Oktober 2009, 17:28
Wohnort: Im Schwarzwald

Beitragvon Verwebbt » Freitag 18. Juni 2010, 02:26

Hast PN bekommen :D

So ein Script hab ich mal genutzt, hatte es doch noch wo abgespeichert

Code: Alles auswählen
<?php
$aktiv = array();
$ordner=opendir ("./includes");

    while ($inc = readdir ($ordner)) {

        if($inc != "." && $inc != "..") { 

            $anhang = str_replace(".inc.php", "", $inc); 

            array_push ($aktiv, $anhang); 
        } 

    } closedir($ordner);

    if (isset($_GET[action]) && in_array($_GET[action], $aktiv) ) { 

        include("./inc/".strip_tags($_GET[action]).".inc.php"); 

    }
else {
   include("./inc/start.inc.php");

?>


Glaube sogar zu meinen was du meintest mit <title></title> auslesen hatte ich auch schon genutzt nur damals ganz in meiner Anfangszeit stiess ich da an meine Grenzen..is auch schon ein Weilchen her :P
Verwebbt
 

Beitragvon timtim » Freitag 18. Juni 2010, 09:16

Das skript mach im endefekt das gleiche wie meins.. auser das du jedesmal den ordner ausliest.. was eigentlich unnötig ist =)

Greetz
Benutzeravatar
timtim
HTML-Acrobat
 
Beiträge: 645
Registriert: Montag 5. Oktober 2009, 17:28
Wohnort: Im Schwarzwald


Beiträge bitte im neuen Forum

Zurück zu Sonstiges

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast