Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „PHP include() Frage“

aaaaldi

Noch nicht viel geschrieben

Hallo zusammen.

Ich bin noch ein PHP-Anfäger und hab deswegen eine Frage:

Ich habe folgenden Quellcode erstellt:

PHP:
<table width="512">
  <tr>
    <td><a href="index.php?action=news">News</a></td>
    <td><a href="index.php?action=impressum">Impressum</a></td>
    <td><a href="javascript:history.back()">Zur&uuml;ck</a></td>
  </tr>
</table>
<table width="512" height="128">
  <tr>
    <td align="left" valign="top">
	  <?php 

if ($_GET['action'] == "")
{
include"index.php";
}
elseif ($_GET['action'] == "news") include"news/news.html";
elseif ($_GET['action'] == "impressum") include"impressum/impressum.html";

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

Wenn ich dann die Datei und ".../index.php" öffne, passiert wohl ein Selbstbezug und es taucht etliche Male auf.
Wenn ich die Datei unter ".../index.php?action=news" öffne klappt alles in ordnung.

Wie kann ich diesen Selbstbezug vermeiden? (aber trotzdem den link ".../index.php" öffne)
 
Zuletzt bearbeitet:

NicoB

Hat es drauf

Der Code ist nicht sehr sauber geschrieben, sodass bei der IF-Abfrage möglicherweise einige Fehler auftreten könnten:

PHP:
<?php switch ($_GET['action']) {
case news:
   include('news/news.html');
case impressum:
   include('impressum/impressum.html');
default:
   include('index.php');
} ?>

Achja: Wenn diese Datei als index.php abgespeichert wurde ist es kein Wunder, dass die Seite mehrmals erscheint.
Die Logik stimmt dann nämlich nicht: Wenn action nicht definiert ist, rufe diese Datei nochmals auf und stelle wieder fest dass action nicht definiert ist. Das macht keinen Sinn.
 

aaaaldi

Noch nicht viel geschrieben

nach deinem Code sieht es aber genau so aus



also müsste es nach deiner meinung so besser sein:

PHP:
if ($_GET['action'] == "index")

Problem gelöst.

DAnke :)
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

Das könnte mit
PHP:
include_once("index.php");
funktionieren, aber eleganter fände ich es eigentlich, den tatsächlichen Inhalt von index.php in eine neue datei auszulagern (z.B. supertollerinhalt.php) und die dann zu includen.


Duddle
 

NicoB

Hat es drauf

Inhalt von index.php in eine neue datei auszulagern (z.B. supertollerinhalt.php) und die dann zu includen.
Ja genau, das meinte ich - konnte es nur nicht so schön in Worte fassen ;)
Man muss immer aufpassen, dass durch bedingungsabhängige includes (oder includes generell) keine endlos-schleifen auftreten.
 

Chickenshooter

Alter Mann

AW: PHP include() Frage

Moin, Moin

Auch eine gute Lösung wäre diese

Bastel Dir eine Datei Namens functions.inc.php
in diese schreibst du dir all deine funktionen die du so brauchst,
du hast dann nämlich nur noch eine Datei die du includen musst.
für ein kleineres Projekt denk ich völlig ausreichend.

Code deiner index.php
PHP:
 <?php 
require_once("functions.inc.php");

switch ($_GET['action']) {
   case news:
     echo get_news();
   case impressum:
     echo get_impressum();
   default:
     echo get_default_Page();
} 
?>
 

LowkaZ

Half Life

AW: PHP include() Frage

ich würd nicht die inhalte in die index laden sondern eher den kopf und den fuß in ne gesonderte index, dass is wesentlich suchmaschinen freundlicher
 

CIX88

Aktives Mitglied

AW: PHP include() Frage

^^^ fehlt das nicht ein break; bei switch ?
Bzw. müsste es nicht case 'news': sein, oder ist news eine Konstante ?
 
Zuletzt bearbeitet:

Chickenshooter

Alter Mann

AW: PHP include() Frage

@Cix88
Jo hast Recht

so muss das nartürlich aussehen
PHP:
 <?php 
require_once("functions.inc.php");

switch ($_GET['action']) {
   case news:
     echo get_news();
   break;
   case impressum:
     echo get_impressum();
   break;
   default:
     echo get_default_Page();
   break;
} 
?>
MfG
 
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

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben