• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

php statt frames mit links verknüpft

scorpi

Neues Mitglied
Hallo,
ich habe erst vor kurzem angefangen php zu lernen, deshalb entschuldigt mich bitte, wenn ich mein Problem vielleicht sehr naiv schildere:
ich habe eine Seite. Ich möchte, dass nur der Inhaltsbereich erneuert wird und nicht die ganze Seite. An diese Stelle habe ich mit
PHP:
<? include ("text.php"); ?>
den text reingestellt. in der text.php Datei habe ich unter dem text einen link eingebaut:
HTML:
<h1>das funktioniert ja wirklich!!!</h1>
              <h2>Veränderung veränderung</h2>
                <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p><a href="text2.php"> weiter lesen</a>
Nun möchte ich das wenn man auf den Link klickt, sich die Seite nicht wieder vollständig erneuert, sondern an der Stelle einfach eine andere Datei zB. text2.php den Platz von text.php einnimmt.
Ist das möglich? Wenn ja, wie? Bitte um Tipps/Hilfe...
 
Werbung:
Danke für die schnelle Antwort. Ich habe das Beispiel vom ersten Link jetzt auf meine Seite angewendet. Sozusagen als Vorstufe/ Übung bevor ich das mache, was ich eigentlich wollte. Aber jetzt gibt es ein Problem. Ich weiß nicht was ich falsch gemacht habe, die index.php wird richtig angezeigt aber die anderen Seiten werden gar nicht angezeigt, nicht einmal eine Fehlermeldung. Schau es dir an: Untitled Document
 
Werbung:
Um zu sagen, was du falsch machst, müsste man deinen PHP-Code mal einsehen. Der ist über den Browser nicht abzufragen ;)
Nebenbei ist dein Link auf die Startseite ebenfalls falsch. Da ist noch die index.html verlinkt
 
gleich kommt der code...
und der link auf die home seite hab ich nicht bearbeitet, weil ich etwas unsicher war...:oops:
 
das ist jetzt die index.php
PHP:
<?php
		require_once('header.php');
		?>
 
		<?php
		require_once('mainnav.php');
		?>
 
		<?php
		if ((isset($_GET['section'])) AND ($_GET['section'] == "gallery" )) {
		echo "      <div class=\"right\">\n";
		include('stuff/gallery.php');
		echo "      </div>\n";
		}
		?>
 
		<?php
		if ((isset($_GET['section'])) AND ($_GET['section'] == "about_me" )) {
		echo "      <div class=\"right\">\n";
		include('stuff/about_me.php');
		echo "      </div>\n";
		}
		?>
 
		<?php
		if ((isset($_GET['section'])) AND ($_GET['section'] == "kontakt" )) {
		echo "      <div class=\"right\">\n";
		include('stuff/kontakt.php');
		echo "      </div>\n";
		}
		?>
 
 
		<?php
		if ((basename($_SERVER['PHP_SELF']) == "index.php") AND (!isset($_GET['section']))) {
		echo "<div id=\"littlecontainer\">
		  <div id=\"leftcontainer\">
        	  <h1>Hier steht eine h1-Überschrift</h1>
              <h2>Und hier eine h2-Überschrift</h2>
                <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p>
      		</div>
            <div id=\"rightcontainer\">
            <p style=\"color:#FFF\" align=\"center\">\"Die größten Ereignisse, das sind nicht unsere lautesten, sondern unsre stillsten Stunden.\"<br />
- Friedrich Nietzsche -</p>
          	</div>
		</div>
	</div> ";
 
 
 
		?>
 
		<?php
		}
		?>
 
 
 
		<?php
		require_once('footer.php');
		?>
und das ist als Beispiel der code von kontakt.php:
PHP:
<?php
		require_once('header.php');
		?>
 
		<?php
		require_once('mainnav.php');
		?>
 
		<?php
		if ((isset($_GET['section'])) AND ($_GET['section'] == "gallery" )) {
		echo "      <div class=\"right\">\n";
		include('stuff/gallery.php');
		echo "      </div>\n";
		}
		?>
 
		<?php
		if ((isset($_GET['section'])) AND ($_GET['section'] == "about_me" )) {
		echo "      <div class=\"right\">\n";
		include('stuff/about_me.php');
		echo "      </div>\n";
		}
		?>
 
		<?php
		if ((isset($_GET['section'])) AND ($_GET['section'] == "kontakt" )) {
		echo "      <div class=\"right\">\n";
		include('stuff/kontakt.php');
		echo "      </div>\n";
		}
		?>
 
 
		<?php
		if ((basename($_SERVER['PHP_SELF']) == "index.php") AND (!isset($_GET['section']))) {
		echo "<div id=\"littlecontainer\">
		  <div id=\"leftcontainer\">
        	  <h1>Kontakt</h1>
              <h2>Und hier eine h2-Überschrift</h2>
                <p>Juhu! ich habs geschafft!, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p>
      		</div>
            <div id=\"rightcontainer\">
            <p style=\"color:\#FFF\" align=\"center\">\"Die größten Ereignisse, das sind nicht unsere lautesten, sondern unsre stillsten Stunden.\"<br />
- Friedrich Nietzsche -</p>
          	</div>
		</div>
	</div> ";
 
 
 
		?>
 
		<?php
		}
		?>
 
 
 
		<?php
		require_once('footer.php');
		?>
 
Werbung:
Aktiviere mal die Error-Ausgaben für deine PHP-Dateien. Ergänze ganz oben in der index.php:

PHP:
error_reporting(E_ALL);
ini_set("display_errors"," on");

Dadurch solltest Du beim Aufruf der Seiten die komplett weiß sind dann die PHP-Fehlermeldung sehen können. Anhand deines Codes hier sehe ich das Problem nicht.
 
Werbung:
Ich kann auch nur wenig PHP und bei mir kommt auch keine Meldung. Irgendwie scheint PHP mit den normalen Einstellungen nicht zum entwickeln geeignet zu sein, da Fehler einfach nicht ausgegeben werden.

Wenn ich alle include Befehle entferne, läuft dein Skript durch. Eigentlich sollte include() lt. Handbuch eine Warnung anzeigen. Tut es aber zumindest bei mir nicht.

Damit wirklich die Fehler angezeigt werden brauchte es bei mir folgende Zeilen:
PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors','On'); 
?>

EDIT: ich habe den Beitrag von threadi nicht richtig gelesen und sehe gerade erst, dass er ja den Vorschlag schon genau so gemacht hat. Meine Dummheit :(
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Das ist eine Fehlermeldung.

Allerdings eine Servermeldung, d.h. das Skript ist falsch, dass der Server nicht in der Lage ist das Skript zu starten. Das kann daran, liegen, dass der Hoster das so eingerichtet hat. Um PHP Skripte zu testen, ist es sowieso sinnvoller sich einen eigenen lokalen Server einzurichten. Üblich ist dafür XAMPP
 
Merkwürdig, denn vom Inhalt sind die völlig gleich. Ich habe gerade kontakt.php und index.php umbenannt und die Plätze getauscht. quasi: kontakt in index und index in kontakt. Jetzt ist alles genauso wie es war. Nur dass jetzt statt index kontakt da steht und die anderen Seiten nicht funktionieren. Vielleicht sollte man den ganzen code noch einmal schreiben oder überprüfen... die Lösung des Problems kann doch nicht so schwer sein!:mrgreen:
 
Werbung:
Werbung:
so... xampp ist eingerichtet. die Seite hab ich drauf geladen....
rate mal was jetzt kommt: index.php wird normal angezeigt, aber die anderen Seiten geben das raus:
fehler.JPG
 
Zurück
Oben