WinFuture-Forum.de: Website Navigation - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Website Navigation php include


#1 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 23. April 2012 - 15:32

Hallo alle zusammen,

ich hoffe mir kann jemand sagen, wie ich am besten eine Website aufbaue, wenn ich nur in einen bestimmten Bereich ne neue datei inkludieren will.

Ich hoffe das war soweit verständlich... am besten sieht man es auf der Seite von "SdH" ;)

www.s-geschwind.de

da sind die unterschiedlichen Bereiche ja mit ner id versehen... wie bewerkstellige ich das am besten?
0

Anzeige



#2 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 14.288
  • Beigetreten: 08. April 06
  • Reputation: 884
  • Geschlecht:Männlich
  • Wohnort:Dortmund NRW
  • Interessen:Alles wo irgendwie Strom durchfließt fasziniert mich einfach weswegen ich halt Elektroinstallateur geworden bin :)

geschrieben 23. April 2012 - 18:00

mich fragen ;D

Erstmal musst du den Parameter (ich habe der Einfachheitshalber "ID" genannt und einen nummerischen Wert genommen gut nachvollziehbar) übergeben

Die ID werte ich mit folgenden Zeilen aus
<?php
# ID-Verteilung siehe include/tpl/navigation
#Variabel�bergabe - Vergabe erfolgt �ber "navigation"
$id= $_GET["id"];
#Auswerten der Variabeln
	if($id =="")
	{
	include("INCLUDE/1");
	}
        elseif ($id =="1")
	{
	include("INCLUDE/1");
	}
	elseif ($id =="2")
	{
	include ("INCLUDE/2");
	}
	elseif ($id =="3")
	{
	include ("INCLUDE/3");
	}	
	elseif ($id =="4")
	{
	include ("INCLUDE/4");
	}
	elseif ($id =="5")
	include ("INCLUDE/5");
	else
	{
	include("INCLUDE/1");
	}		
?>



im Nav-Bereich habe ich wiederum die Links direkt mit einer ID versehen. Also entsprechend aus

index.php



ein
index.php?id=1


und soweiter gemacht.

Ist also denkbar einfach :wink:

Ob du nun statische Links nimmst wie ich oder das irgendwie via Scripts handhabst kommt im Grunde aufs Gleiche raus. Ist Geschmackssache.

Dieser Beitrag wurde von Stefan_der_held bearbeitet: 23. April 2012 - 18:05

1

#3 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 14.288
  • Beigetreten: 08. April 06
  • Reputation: 884
  • Geschlecht:Männlich
  • Wohnort:Dortmund NRW
  • Interessen:Alles wo irgendwie Strom durchfließt fasziniert mich einfach weswegen ich halt Elektroinstallateur geworden bin :)

geschrieben 23. April 2012 - 19:05

Im Grunde würde schon ein

<php
 include("einedatei");
?>



genügen ;-) ist aber dann wiederum statisch und nicht für den jeweiligen Fall immer unterschiedlich/dynamisch.
0

#4 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 23. April 2012 - 20:02

Super vielen Dank :)

Damit komme ich sicherlich weiter :) Wie man eine einzelne Datei da inkludiert, wusste ich. Problematisch wurde es bei den verschiedenen Inhalten...
0

#5 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 14.288
  • Beigetreten: 08. April 06
  • Reputation: 884
  • Geschlecht:Männlich
  • Wohnort:Dortmund NRW
  • Interessen:Alles wo irgendwie Strom durchfließt fasziniert mich einfach weswegen ich halt Elektroinstallateur geworden bin :)

geschrieben 23. April 2012 - 20:29

:) beachte bitte, dass

elseif { XXXXXXX }
nach dem ersten
if { XXXXXXXXXX }
folgt. lediglich der letzte "if" MUSS
else  { XXXXXXX }
heißen.
0

#6 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 23. April 2012 - 20:34

ja hab ich mir schon gedacht ;) klappt auch wunderbar, danke :)
0

#7 Mitglied ist offline   Rumpelzahn 

  • Gruppe: aktive Mitglieder
  • Beiträge: 75
  • Beigetreten: 27. September 11
  • Reputation: 8

geschrieben 24. April 2012 - 07:21

alternativ könntest du mit switch/case arbeiten, was es ein wenig "hübscher" macht.

switch($_GET['id']) {
	case 1:
		include('include/1.php');
		break;
	case 2:
		include('include/2.php');
		break;
	case 3:
		include('include/3.php');
		break;
	case 4:
		include('include/4.php');
		break;
	default:
		include('include/default.php');
		break;		
}


1

#8 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 24. April 2012 - 11:43

sieht etwas übersichtlicher aus :)
0

#9 Mitglied ist offline   daarg 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.212
  • Beigetreten: 30. November 11
  • Reputation: 4
  • Geschlecht:Männlich

geschrieben 24. April 2012 - 12:36

// ID 
$id = filter_var($_REQUEST['id'], FILTER_SANITIZE_NUMBER_INT);

// Include if file is there or use a fallback
if (file_exists($_SERVER['DOCUMENT_ROOT'].'/include/'.$id.'.php')) {
  include_once($_SERVER['DOCUMENT_ROOT'].'/include/'.$id.'.php');
}
else {
  // Fallback
}



Würde Dir Tipparbeit ersparen und auch noch prüfen ob die jeweilige Datei auch wirklich existiert.

/* edit */
Vielleicht solltest Du dir Deine Page auch mal in nem Validator anschauen - würde sicher nicht schaden:

validator.w3.org

Dieser Beitrag wurde von daarg bearbeitet: 24. April 2012 - 12:44

as wolves among sheep we have wandered [bathory, dis irae]
0

#10 Mitglied ist offline   Rumpelzahn 

  • Gruppe: aktive Mitglieder
  • Beiträge: 75
  • Beigetreten: 27. September 11
  • Reputation: 8

geschrieben 24. April 2012 - 14:20

Macht aber nur Sinn, wenn man bei dem Prinzip id = seitenarme ist. Sobald man die Seiten richtig benennt wird es nicht mehr funktionieren.
Da ist dann if/Else oder Switch/Case besser.
0

#11 Mitglied ist offline   daarg 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.212
  • Beigetreten: 30. November 11
  • Reputation: 4
  • Geschlecht:Männlich

geschrieben 24. April 2012 - 15:36

Sehe ich anders - man müsste halt den Parameter bei filter_var anpassen. Danach wäres wieder dasselbe.
as wolves among sheep we have wandered [bathory, dis irae]
0

#12 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 22. Mai 2012 - 19:48

OK also ich habs erstmal bei SdHs Variante gelassen... (never touch a running system ;D )

hab aber noch mal ne Fräge dazu:

Alle Seiten werden ja jetzt in meiner index.php inkludiert... was aber wenn ich auf einer der inkludierten Seiten weitere Links zu anderen Seiten einbaue? muss ich das immer so machen:

<a href="index.php?=weitere_seite">Weitere Seite</a>


oder gibts da ne einfachere Methode?

@daarg

das Prinzip von deiner Variante schnall ich nicht so ganz :blush:
0

#13 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 14.288
  • Beigetreten: 08. April 06
  • Reputation: 884
  • Geschlecht:Männlich
  • Wohnort:Dortmund NRW
  • Interessen:Alles wo irgendwie Strom durchfließt fasziniert mich einfach weswegen ich halt Elektroinstallateur geworden bin :)

geschrieben 22. Mai 2012 - 20:49

Beitrag anzeigenZitat (J000S: 22. Mai 2012 - 19:48)

<a href="index.php?=weitere_seite">Weitere Seite</a>



nicht ganz...

<a href="index.php?id=weitere_seite">Weitere Seite</a>


Schematik:

<a href="[DATEINAME]?[PARAMETERNAME_1]=WERT&[PARAMETERNAME_2]=WERT&[PARAMETERNAME_n]=WERT">Weitere Seite</a>


Diesen Linkaufbau siehst du so ziemlich bei jeder Website die Dynamisch ist als URL :wink:

Beispiel zu diesem Tread:

http://www.winfuture-forum.de/index.php?showtopic=196322&st=0&gopid=1741261&#entry1741261


erkennst du die Schematik?

Das "#" teilt der Seite mit: Dokument ist das richtige, Springe zu Anker "entry1741261" - also den entsprechenden Teilbereich direkt anzeigen. Anker kannst du ja recht einfach setzen: http://de.selfhtml.o...ojektintern.htm


Wenn übrigens die Datei die du ansprechen willst immer die ist welche vom Server versucht wird automatisch zu laden (index.php oder ähnlich), dann kannst du diesen sogar weglassen und direkt mit

?[PARAMETERNAME_1]=WERT&......


loslegen.

Is natürlich nicht so optimal weil der Server wieder "denken" darf was du "meinst".

Dieser Beitrag wurde von Stefan_der_held bearbeitet: 22. Mai 2012 - 20:52

0

#14 Mitglied ist offline   J000S 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.051
  • Beigetreten: 13. Juni 09
  • Reputation: 38
  • Geschlecht:Männlich
  • Wohnort:C:\Home
  • Interessen:Computer, Feuerwehr, Sport

geschrieben 22. Mai 2012 - 21:05

Ah ja das ID vergessen :rolleyes:

Ansonsten ist der Abend zwar schon etwas spät aber im Ansatz hab ich es glaub ich verstanden... werd mich morgen mal etwas enger mit befassen.

Danke :)
0

#15 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 14.288
  • Beigetreten: 08. April 06
  • Reputation: 884
  • Geschlecht:Männlich
  • Wohnort:Dortmund NRW
  • Interessen:Alles wo irgendwie Strom durchfließt fasziniert mich einfach weswegen ich halt Elektroinstallateur geworden bin :)

geschrieben 22. Mai 2012 - 21:08

Kein Akt :-)
[ot]Übrigens die Grafiken von dir haben bei der druckerei keine Pixelung mehr ;D danke nochmal dazu[/ot]
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0