[GastForen Programmierung/Entwicklung PHP und MySQL PHP - per include Inhalte austauschen?! - Wie geht das?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

PHP - per include Inhalte austauschen?! - Wie geht das?

mirco_osx
Beiträge gesamt: 145

9. Jul 2007, 11:15
Beitrag # 1 von 10
Bewertung:
(5382 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo,
ich habe eine index.php in der ich mehrere seiten per include eingebunden habe.
Nun möchte ich gerne über das menu nur den inhalt austauschen in dem ich die "hallo.php" eingbunden habe. sprich die "hallo.php" austauschen gegen z.b. "kontakt.php".

derzeit benutze ich folgende linkfunktion für die buttons (die neuen seiten entsprechen vom aufbau her der "index.php" aber es ist irgendwie nervig das immer ALLES neu aufgebaut wird)
"<a href="meineseite.php" target="_self">"

hier mal ein auszug aus der index php:
...
</head>

<body background="gfx/basis/back_global.jpg" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="930" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center">

<table width="930" border="0" align="center" cellpadding="0" cellspacing="0" background="pics/back_schatten.jpg">
<tr valign="top">
<td style="padding-top:13px; padding-bottom:13px"><?php include ("includes/-head.php"); ?>

<table width="900" height="457" border="0" align="center" cellpadding="0" cellspacing="0" background="pics/universal_bg.jpg">
<tr>
<td valign="top">

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="189" valign="top" class="abs_nav"><?php include ("includes/-nav_home.php"); ?></td>
<td width="100%" valign="top" class="abs_inhalt"><?php include ("hallo.php"); ?></td>
</tr>
</table>

</td>
</tr>
</table>

</td>
</tr>
</table>

</td>
</tr>
</table>

</body>
</html>


vieleicht weiß ja jemand wie das funktioniert :)

Danke!

(Dieser Beitrag wurde von mirco_osx am 9. Jul 2007, 11:32 geändert)
X

hat keiner eine idee? :)

mirco_osx
Beiträge gesamt: 145

9. Jul 2007, 12:57
Beitrag # 2 von 10
Beitrag ID: #301552
Bewertung:
(5362 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ich dachte das man das vieleicht so ähnlich behandeln kann wie ein frameset.

dort kann man doch auch bestimmen das z.b. der bereich BODY ausgewechselt wird :)

lg, mirco


als Antwort auf: [#301530]

hat keiner eine idee? :)

flobaer
Beiträge gesamt: 317

9. Jul 2007, 13:19
Beitrag # 3 von 10
Beitrag ID: #301559
Bewertung:
(5352 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mirco,

das geht natürlich nicht! PHP wird serverseitig zusammengebaut. Was du haben möchtest ist aber, dass eine Seite im Browser angezeigt wird und nur ein bestimmter Bereich ausgetauscht wird. Habe ich das richtig verstanden? Dafür müsste der Browser die Seite zusammensetzen. Und dafür gibt es Javascript.
Ich selbst baue meine Seiten immer so, dass ich per GET eine Variable mitgebe, die dann festlegt was includet wird. Dabei wird natürlich immer die gesamte Seite geladen, aber ich brauche dafür kein JS.

Viele Grüße,
Florian


als Antwort auf: [#301552]

hat keiner eine idee? :)

mirco_osx
Beiträge gesamt: 145

9. Jul 2007, 14:03
Beitrag # 4 von 10
Beitrag ID: #301575
Bewertung:
(5344 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo florian,

du hast das richtig verstanden.
wie lässt sich das ganze mit der GET funtion umsetzen?

lg, mirco


als Antwort auf: [#301559]

hat keiner eine idee? :)

flobaer
Beiträge gesamt: 317

9. Jul 2007, 14:10
Beitrag # 5 von 10
Beitrag ID: #301578
Bewertung:
(5341 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Du übergibst den Parameter einfach über die URL also in etwa so: index.php?action=tuwas

Im Script fragst du dann die Variable $_GET['action'] ab und steuerst dadurch deinen inlclude:
Code
if(isset($_GET['action']) && $_GET['action']=="tuwas") include ("include_tuwas.php"); 
else include("standard.php");

Die Variable und die Werte kannst du natürlich benennen wie du willst.


als Antwort auf: [#301575]

hat keiner eine idee? :)

mirco_osx
Beiträge gesamt: 145

9. Jul 2007, 16:27
Beitrag # 6 von 10
Beitrag ID: #301620
Bewertung:
(5324 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
D A N K E !!!
es funktioniert soweit ganz gut bis auf einen kleinen fehler (meinerseits). die seiten werden jetzt zwar geladen aber immer über der ersten start.php weil die else-funktion im moment, logischer weise, noch angepasst werden sollte.
ich weiß aber nicht wie ich dein script anpassen bzw. verändern muß damit die else funktion richtig funktioniert. (es ist bestimmt total simpel aber ich komme beim besten willen nicht darauf)

hier mal wieder ein auszug aus der "index.php":

...
<td width="100%" valign="top" class="abs_inhalt"><?php
if(isset($_GET['action']) && $_GET['action']=="start") include ("start.php");
if(isset($_GET['action']) && $_GET['action']=="buerger") include ("mittelpunkt.php");
if(isset($_GET['action']) && $_GET['action']=="vonhier") include ("einer_von_hier.php");
if(isset($_GET['action']) && $_GET['action']=="schule") include ("start2.php");
if(isset($_GET['action']) && $_GET['action']=="schranken") include ("schranken.php");
if(isset($_GET['action']) && $_GET['action']=="kontakte") include ("kontakte.php");
if(isset($_GET['action']) && $_GET['action']=="tourismus") include ("tourismus.php");
if(isset($_GET['action']) && $_GET['action']=="jaderberg") include ("jaderberg.php");
if(isset($_GET['action']) && $_GET['action']=="landwirtschaft") include ("landwirtschaft.php");
if(isset($_GET['action']) && $_GET['action']=="biographie") include ("biografisch.php");
if(isset($_GET['action']) && $_GET['action']=="presse") include ("presse.php");
if(isset($_GET['action']) && $_GET['action']=="links") include ("links.php");
if(isset($_GET['action']) && $_GET['action']=="kontakt") include ("kontakt.php");
if(isset($_GET['action']) && $_GET['action']=="impressum") include ("impressum.php");
else include ("start.php");
?></td>

währe echt toll wenn du da nochmal eine idee hast :)

DANKE!


als Antwort auf: [#301578]

hat keiner eine idee? :)

Intermedia
Beiträge gesamt: 1287

9. Jul 2007, 16:36
Beitrag # 7 von 10
Beitrag ID: #301627
Bewertung:
(5317 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hätte da einen anderen Vorschlag:

Code
switch ($_GET[action]){ 

case "start" : include ("start.php"); break;
case "buerger" : include("mittelpunkt.php"); break;

default: include ("start.php");
}


In deiner Variante sollte es auch gehen:



Code
 
if(isset($_GET['action']) && $_GET['action']=="start") include ("start.php");
if(isset($_GET['action']) && $_GET['action']=="buerger") include ("mittelpunkt.php");
if(isset($_GET['action']) && $_GET['action']=="vonhier") include ("einer_von_hier.php");
if(isset($_GET['action']) && $_GET['action']=="schule") include ("start2.php");
if(isset($_GET['action']) && $_GET['action']=="schranken") include ("schranken.php");
if(isset($_GET['action']) && $_GET['action']=="kontakte") include ("kontakte.php");
if(isset($_GET['action']) && $_GET['action']=="tourismus") include ("tourismus.php");
if(isset($_GET['action']) && $_GET['action']=="jaderberg") include ("jaderberg.php");
if(isset($_GET['action']) && $_GET['action']=="landwirtschaft") include ("landwirtschaft.php");
if(isset($_GET['action']) && $_GET['action']=="biographie") include ("biografisch.php");
if(isset($_GET['action']) && $_GET['action']=="presse") include ("presse.php");
if(isset($_GET['action']) && $_GET['action']=="links") include ("links.php");
if(isset($_GET['action']) && $_GET['action']=="kontakt") include ("kontakt.php");
if(isset($_GET['action']) && $_GET['action']=="impressum") include ("impressum.php");


if(!isset($_GET['action'])) include ("start.php");


So könnte es auch funktionieren.

Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#301620]

hat keiner eine idee? :)

flobaer
Beiträge gesamt: 317

9. Jul 2007, 16:39
Beitrag # 8 von 10
Beitrag ID: #301630
Bewertung:
(5315 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich würde es erstmal folgendemaßen machen:
Code
if(isset($_GET['action'] && $_GET['action']!="") $action=$_GET['action']; 
else $action="start";

Damit hast du eine lokale Variable, die den Wert der GET-Variable hat (sofern diese gesetzt und nicht leer ist) oder ansonsten auf den Standartwert gesetzt wird. Das spart die ständigen isset-Abfragen.
Dann machst du folgendes:
Code
if($action=="start") include ("start.php");  
elseif($action=="buerger") include ("mittelpunkt.php");
elseif ($action=="vonhier") include ("einer_von_hier.php");
...
else include("fehler.php");

Wichtig ist das elseif. Die letzte Zeile greift nur dann, wenn jemand versucht einen Wert zu übergeben, den du nicht kennst. Du kannst dann entweder eine Fehlerseite ausgeben und drohend den Zeigefinger heben, oder du setzt da auch wieder die start.php ein.

Ich hoffe das war soweit verständlich. Damit solltest du dein Ziel jetzt eigentlich erreichen.

Viele Grüße,
Florian


als Antwort auf: [#301620]

hat keiner eine idee? :)

bröp
Beiträge gesamt: 160

9. Jul 2007, 16:40
Beitrag # 9 von 10
Beitrag ID: #301632
Bewertung:
(5315 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Du könntest auch anstelle den weiteren IFs ein ELSEIF einfügen vgl. http://ch2.php.net/...tructures.elseif.php.

Gruss
Bruno


als Antwort auf: [#301620]

hat keiner eine idee? :)

mirco_osx
Beiträge gesamt: 145

9. Jul 2007, 16:43
Beitrag # 10 von 10
Beitrag ID: #301633
Bewertung:
(5313 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
SUPER ... es funktioniert alles bestens!

!!!!!!!!!!!!!!!vielen dank nochmal für die hilfe, an alle!!!!!!!!!!!!!

lg, mirco


als Antwort auf: [#301627]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
26.01.2021 - 27.01.2021

Digicomp Academy AG, Zürich oder virtuell
Dienstag, 26. Jan. 2021, 08.30 Uhr - Mittwoch, 27. Jan. 2021, 17.00 Uhr

Kurs

In diesem Advanced-Kurs erlernen Sie weitergehende Methoden im Dokumentenaufbau, der Typografie und im Bereich Layouttechniken. Nach diesem Kurs können Sie strukturierte Dokumente erstellen oder bestehende effizienter anpassen.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/INDEM2

Veranstaltungen
27.01.2021 - 28.01.2021

Digicomp Academy AG, Bern oder Basel
Mittwoch, 27. Jan. 2021, 08.30 Uhr - Donnerstag, 28. Jan. 2021, 17.00 Uhr

Kurs

Mit After Effects können Sie visuelle Effekte und Animationen für Video, Web, DVD und Blu-Ray erzeugen. In diesem Kurs lernen Sie die Grundlagen kennen und sehen inspirierende Anwendungsbeispiele, die Ihnen helfen, Ihre eigenen Ideen umzusetzen.

Preis: CHF 1'700.-
Dauer: 2 Tage

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/AFT

Neuste Foreneinträge


Feld in Acrobat vor Berechnung leer lassen

Gleich Große Icons erstellen

Videos ausschneiden/zusammenfügen

InDesign Datei mit Kurzgeschichten in einem Rahmen auf mehrere Dateien aufteilen

Text- oder Grafikrahmen nach Position und Größe suchen und ändern

Summewenn Funktion in Filemaker

Absätze vor/nach AF suchen

Laser Drucker druckt schwarze Flecken Links und Rechts von Blatt

PSD CS6 (!) Mac: Dialog "Dateiinformationen" Fenster leer und Sackgasse

Langsamer MacMini
medienjobs