Antworten auf deine Fragen:
Neues Thema erstellen

Probleme mit Include

Vagant

Nicht mehr ganz neu hier

Hallo ich habe eine Seite, auf der das Content includet wird und ein Footer.

Auf einer Seite funktioniert es einwandfrei beides wird inkludiert, aber bei einer weiteren wird nur der Inhalt des Contents inkludiert, jedoch nicht der Footer:

Hier der Code:

div id="content">
<div class="content_item">


<?php
if($HTTP_GET_VARS['page'] == "")
{
include"start.php";
}
elseif ($HTTP_GET_VARS['page'] == "ueber_uns") include"ueber_uns.php";
elseif ($HTTP_GET_VARS['page'] == "Impressum") include"Impressum.php";
elseif ($HTTP_GET_VARS['page'] == "Kontakt") include"Kontakt.php";
elseif ($HTTP_GET_VARS['page'] == "Messebilder") include"Messe17.php";
?>
</div>
</div>


<div id="content_grey">
<?php
if($HTTP_GET_VARS['page'] == "")
{
include"Footer.php";
}
?>
</div>

Also bei Start funktioniert es, rufe ich jedoch Impressum auf wird der Footer nicht mit Text gefüllt.

Mach ch was falsch?
 

hub

nicht ganz neu hier

AW: Probleme mit Include

Moin moin,
wenn ich deine Konstruktion richtig lese, wird dein Footer nur dann geladen, wenn die Variable
$HTTP_GET_VARS['page'] == "" ist. Also kann es nur beim Start funktionieren ...
Da ich davon ausgehe, das der Footer immer geladen werden soll, musst du den unteren Teil ändern
PHP:
<?php
//if($HTTP_GET_VARS['page'] == "")
//{
include"Footer.php";
//}
?>
</div>

Gruß Ulli
 

rafoldi

Aktives Mitglied

AW: Probleme mit Include

Da gebe ich Dir Recht Ulli scheint so als ob der Parameter den Inhalt verliert. Die Frage ist ob die Variable überschrieben wird?
 

hub

nicht ganz neu hier

AW: Probleme mit Include

@Ralf: in diesem Code-Auszug schließt das Laden im oberen Teil das Laden im unteren Teil aus.
Wenn man das Ganze abstrahiert, bleibt
PHP:
if (seite == 'irgendEineSeite') {
  // lade diesen Content
} else 
{
  // sonst lade Footer
}
 

Vagant

Nicht mehr ganz neu hier

AW: Probleme mit Include

Also das der Footer geladen wird klappt nun, jedoch verschiebt sich auf der 3.(!) Seite und nur da, der Footer nach oben in den Content: Noch mal der aktuelle Code:

<div id="content">
<div class="content_item">


<?php
if($HTTP_GET_VARS['page'] == "")
{
include"start.php";
}
elseif ($HTTP_GET_VARS['page'] == "ueber_uns") include"ueber_uns.php";
elseif ($HTTP_GET_VARS['page'] == "Impressum") include"Impressum.php";
elseif ($HTTP_GET_VARS['page'] == "Kontakt") include"Kontakt.php";
elseif ($HTTP_GET_VARS['page'] == "Messebilder") include"Messe17.php";
?>
</div>
</div>


<div id="content_grey">
<?php
{
include"Footer.php";
}
?>
</div>


Zum Verständnis, Die Startseite und das Impressum laufen perfekt wie gewünscht, jedoch die Seite ueber_uns zieht den Footer nach oben...
 
Zuletzt bearbeitet:

rafoldi

Aktives Mitglied

AW: Probleme mit Include

@Ralf: in diesem Code-Auszug schließt das Laden im oberen Teil das Laden im unteren Teil aus.
Wenn man das Ganze abstrahiert, bleibt
PHP:
if (seite == 'irgendEineSeite') {
  // lade diesen Content
} else 
{
  // sonst lade Footer
}


Stimmt, habe ich nicht gleich gesehen.:(
 

hub

nicht ganz neu hier

AW: Probleme mit Include

Moin moin,
da kann ich dir nicht weiterhelfen, es sei denn, du hast es online. Dieser Effekt kann viele Ursachen haben. Das fängt bei einem nicht geschlossenem Tag an und hört bei einem möglichen Fehler in der Css auf.
Deiner Beschreibung nach liegt das Problem voraussichtlich im Script ueber_uns.php.

Gruß Ulli
 

Vagant

Nicht mehr ganz neu hier

AW: Probleme mit Include

Hallo HUB ich habe die Seite Testweise hier geladen:

rincon-bamberg.de/Zibagro

Vielleicht kannst du dir das mal ansehen?
 

hub

nicht ganz neu hier

AW: Probleme mit Include

Jo, wie vermutet (so um die Zeile 80 des ausgegebenen Codes):
PHP:
<P>Rufen Sie uns an oder schreiben Sie in unser Kontaktformular. Wir werden uns 
dann umgehend mit Ihnen in Verbindung setzen.</P>
<P>&nbsp;</P>Ihr Zibagro Team<BR></DIV></DIV>
Hier machst du ein Div zuviel zu. Lösche das letzte </DIV> dann passts :)

Ausserdem ist mir aufgefallen, das die einige Textabsätze schließt (</p>), die du garnicht geöffnet hast. Es ist gut, wenn du am Ende nochmal durchgehst und ausmistest ;)

Gruß Ulli
 

Vagant

Nicht mehr ganz neu hier

AW: Probleme mit Include

Danke, aber in der dateu ueber_uns.php ist überhaupt kein DIV.
das müßte dann ja in der Index sein? Die wird aber doch auch bei der Impressum Seite aufgerufen?
 

hub

nicht ganz neu hier

AW: Probleme mit Include

Ich habe auch nicht gesagt, das es genau in dieser Datei ist, sondern sein kann. Ich kenne deinen Quelltext nicht, darum habe ich mich auf die Browser-Ausgabe berufen. Fakt ist, das der Fehler genau in diesem Abschnitt erzeugt wird. Wo er genau bei bei dir im Quelltext zu finden ist, weiss ich nicht.
Es kann ja auch sein, das dieses schließende Div-Tag richtig ist, aber das öffnende Tag fehlt

Gruß Ulli
 

Vagant

Nicht mehr ganz neu hier

AW: Probleme mit Include

Also ich habe es mir mal selbst angesehen und getüfftelt. Dabei habe ich die Lösung gefunden.

Ich musste in der zu inkludierenden Datei ein abschliessendes </div> einfügen. Dann läuft alles wie gewünscht.
Ehrlich gesagt verstehe ich das nicht ganz, aber es ist die Lösung.
Offenbar wird das schliessendes </div> in der Index.php nicht angenommen.
 

hub

nicht ganz neu hier

AW: Probleme mit Include

Moin,
nur ne kurze Ergänzung. Du solltest unbedingt deine Div-Elemente prüfen. Deine "Korrektur" kann unter umständen verhängnisvolle Folgen haben und zu einem unkontrollierten Verhalten führen ...

Gruß Ulli
 

Syphon86

Noch nicht viel geschrieben

AW: Probleme mit Include

Hi,

du solltest außerdem nicht mehr die Variable $HTTP_GET_VARS nutzen, da diese veraltet ist und evtl. mit neueren Versionen von PHP nicht mehr verfügbar sein wird.

Stattdessen nutze für GET Parameter $_GET und für Post Parameter $_POST.

Eine andere Möglichkeite wäre $_REQUEST, hierbei ist jedoch zu beachten das man nicht herausfinden kann mit welcher Methode die Werte übermittelt wurden (POST oder GET).

MfG
 

Vagant

Nicht mehr ganz neu hier

AW: Probleme mit Include

Hallo nochmal.
Nun funktionieren meine Seite ja, aber jetzt stolpere ich über eine andere Art des inkludierens.
Mein code sieht so aus:

<?php
if($HTTP_GET_VARS['page'] == "")
{
include"start.php";
}
elseif ($HTTP_GET_VARS['page'] == "ueber_uns") include"ueber_uns.php";
elseif ($HTTP_GET_VARS['page'] == "Impressum") include"Impressum.php";
elseif ($HTTP_GET_VARS['page'] == "Kontakt") include"Kontakt.php";
elseif ($HTTP_GET_VARS['page'] == "Messe_09_12") include"Messe_09_12.php";
?>

Und nun habe ich dies entdeckt:

<?php
$seite = (isset($_GET['seite']))? $_GET['seite'] : '';
switch ($seite) {
default :
case "standardseite" :
include("standarddatei.php");
break;
case "seite2" :
include("datei2.php");
break;
case "seite3" :
include("datei3.php");
break;
}
?>

Das page = seite ist, ist klar.

Was ist denn nun besser?
kann man das überhaupt sagen?
 

Vagant

Nicht mehr ganz neu hier

AW: Probleme mit Include

Hi,

du solltest außerdem nicht mehr die Variable $HTTP_GET_VARS nutzen, da diese veraltet ist und evtl. mit neueren Versionen von PHP nicht mehr verfügbar sein wird.

Stattdessen nutze für GET Parameter $_GET und für Post Parameter $_POST.

Eine andere Möglichkeite wäre $_REQUEST, hierbei ist jedoch zu beachten das man nicht herausfinden kann mit welcher Methode die Werte übermittelt wurden (POST oder GET).

MfG
Siehst du noch eine weitere Möglichkeit des includierens.

Sieh dir mal meinen letzten Beitrag an. Ist das eine aktuelle Möglichkeit des inkludierens?
 

Syphon86

Noch nicht viel geschrieben

AW: Probleme mit Include

Eine switch-case Anweisung ist in deinem Fall wahrscheinlich die übersichtlichere Variante, da du nicht jedesmal die Bedingung der if-Anweisung schreiben musst.

Dabei ist aber zu beachten das du die breaks am ende eines jeden Falles korrekt setzt, ansonsten wird der nächste auch mit ausgeführt.

Im falle von default und der Standardseite ist dies jedoch gewünscht und vereinfacht die Nutzung.

Was nun besser ist kann ich dir leider auch nicht sagen, da ich ja auch nicht weiß was du noch planst dort alles einzubauen.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben