PHP Hilfe (include)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beispiel
bild
break
button
code
datei
datum
design
file
http
impressum
index
komplette webseite
kontakt
not
oberen code
ordner
parameter
switch
vorteil
-
Hallo liebe Lima Community..
Ich habe ein frage zur include in PHP ich hoffe ihr werdet mich verstehen :D
Also ich habe mein Design fertig und in der leeren Fläche wo meine News etc gepostet werden
ist
<?PHP
include ( 'news.php' );
?>
So das ist bei mir die index.php
Also schoen und gut ich möchte jez aber nicht 100 Seiten machen mit
index.php, Kontakt.php, etc und immer mit dem gleichen Quellcode, da der Style ja bleibt es aendert sich nur die include z.B in kontakt.php in
<?PHP
include ( 'kontakt.php' );
?>
Das möchte ich aber nicht, Ich möchte jez eine Seite haben und das ist die index.html
Und meine Buttons verlinken ausschließlich nur
HOME BUTTON =
<?PHP
include ( 'php.php' );
?>
KONTAKR BUTTON =
<?PHP
include ( 'kontakt.php' );
?>
Das heisst er laedt nur die include und nicht die ganze seite !
Hoffe das es geht, wenn nicht muss es wohl so bleiben, aber kann mir vorstellen das ich so die
Ladezeit enorm reduziere.
Ich bitte auch zu beachten das meine Buttons einen Mouseover effekt haben..
Also anders verlinkt sind:
<style>
a.button1 { display:block;
background-image:url(images/home1.gif);
width:175px; height:20px }
a.button1:hover { background-image:url(images/home2.gif); }
</style>
<a class="button1" href="index.html"></a>
Wenn mir einer helfen kann,
Bitte PN oder einfach hier ein post rein ;)
Vielen dank im vorraus
euer Kev
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das, was du vor hast (soweit ich das verstanden habe), geht mit AJAX. Hat also mit PHP nicht wirklich viel zu tun, sondern ist JavaScript.
Zitat von: http://de.wikipedia.org/wiki/Ajax_(Programmierung)
Der größte Vorteil der Ajax-Technologie ist die Tatsache, dass Daten verändert werden können, ohne dass die komplette Webseite vom Webbrowser neu geladen werden muss. Dies erlaubt es Webanwendungen, auf Benutzereingaben schneller zu reagieren. Zudem wird vermieden, dass statische Daten, die sich unter Umständen nicht geändert haben, fortwährend über das Internet übertragen werden müssen.
-
Warum legst du für jede Seite eine einzelne Datei an? Mach es doch so:
<!-- menü --> <a href="index.php">Startseite</a><br /> <a href="?site=news">News</a><br /> <a href="?site=contact">Kontakt</a> ... <!-- content --> <?php $site = $_GET["site"]; if (empty($site)) { $site = "index"; } $incfile = "./content/".$site.".php"; if (file_exists($incfile)) { include($incfile); } else { echo "Error404: page or file not found"; } ?>
Somit hast du nur eine Seite und lädst dort je nach GET-Parameter die entsprechenden Content-Datei aus dem Ordner "content". Dadurch machst du eine änderung und die ist unabhängig von der Seite die du includierst auf jeder Seite zu sehen. Wenn du dennoch einzelne Seiten in der URL statt mit Parameter aufrufen willst (index.php, news.php, conract.php, ...) kannst du das per .htaccess und mod_rewrite entsprechend routen.
/Edit: Oder habe ich da was falsch verstanden? Was genau willst du erreichen? Dass du nur eine Seite statt viele hast, dann verwende den von mir geposteten Code ansonsten erkläre nochmal deutlich was du machen willst.
Beitrag geändert: 12.10.2008 19:54:22 von trueweb -
Ahj
dachte das funktioniert so aehnlich wie beim iframe :D
<?php
if ($seite!='') {
echo "<Iframe Name=\"PHPframe\" src=\"".$seite.php."\" WIDTH=200 HEIGHT=100></Iframe>
<a href="index2.htm">Home</a></font><br>
hmmm
Wird mit ajax sicher kompliziert..
Gibts da nicht was anderes ? -
<a href="index.php">Startseite</a> <a href="?site=news">News</a> <a href="?site=contact">Kontakt</a> ... <?php $site = $_GET["site]; if (empty($site)) { $site = "startseite"; } switch($site) { case "startseite": echo "Hallo"; break; case "news": echo "News..."; break; case "contact": echo "Kontakt..."; break; default: echo "error404"; } ?>
Kannste natürlich auch so machen oder mit if/elseif das ist ganz alleine dir überlassen. Mit meinem oberen Code hast du den Vorteil, dass du nur Dateien in einem Ordner anlegen brauchst und diese den Dateinamen per Parameter angeben brauchst ohne das in einer Verzweigung (egal ob if- oder switch) einzelnd anzugeben.
-
also
Beispiel:
http://kevsworld.lima-city.de/index2.php
Das ist meine Impressum Seite...
Hier das rund um kreisende ist die Include
http://kevsworld.lima-city.de/bild.jpg
Also hier wird impressum.php wiedergegeben..
So jez will ich aber, wenn man Zum beispiel auf den Homebutton klickt, dass sich die include aendert!
Sprich von impressum.php in home.php ohne das eine neue Seite geladen wird.
Im normal Fall sieht es ja so aus...
Homebutton = index.html
Impressumbutton = impressum.html
Und da wird einfach die komplette seite geaender von index.html zu impressum.html
Das soll jez aber nicht so sein, Ich will eine Seite haben die index.php
und per Links wird nur die include geaendert..
Sprich Homebutton = index.php und die include ist home.php
Impressumbutton = index.php und die include ist impressum.php
Das heisst das sich nur der mittlere teil der HP aendert... DIE INCLUDE ^^
http://kevsworld.lima-city.de/bild.jpg
Sodass nicht das ganze Design aussenrum neu geladen wird..
--------------------------------------
<a href="index.php">Startseite</a>
<a href="?site=news">News</a>
<a href="?site=contact">Kontakt</a>
...
<?php
$site = $_GET["site];
if (empty($site)) { $site = "startseite"; }
switch($site) {
case "startseite": echo "Hallo"; break;
case "news": echo "News..."; break;
case "contact": echo "Kontakt..."; break;
default: echo "error404";
}
?>
Hmm davon habe ich gar kein plan :D
Hoffe ihr versteht mich
Kev
Beitrag geändert: 12.10.2008 20:14:41 von kevsworld
Beitrag geändert: 12.10.2008 20:15:44 von kevsworld -
Sag mal zu Link nicht immer Button ;)
Die Lösung wurde ja schon gepostet. Du hast denke ich aber noch nicht verstanden, dass man php erst irgendwie übermitteln muss, was du denn includieren willst. Darum übermittelt man das einfach per Parameter. Diese Parameter kannst du per PHP auslesen und entsprechend etwas anderes ausgeben:
<html> <head> <title>Meine Webseite...</title> </head> <body> <a href="index.php">Startseite</a> <a href="index.php?site=news">News</a> <a href="index.php?site=contact">Kontakt</a> <hr /> <?php $site = $_GET["site"]; // parameter "hohlen" if ($site == "") { // Kein parameter angegeben, Startseite anzeigen ?> <h1>Startseite</h1> <p>Willkommen auf der Seite blabla blubberblubb</p> <? } elseif($site == "news") { ?> <h1>News</h1> <? } elseif($site == "contact") { ?> <h1>Contactformular</h1> <? } else { ?> <h1>Error404</h1> <p>File not found</p> <? } ?> </body> </html>
Ob du dort die Ausgabe direkt machst (wie in dem Beispiel) oder andere Dateien includierst (siehe Bsp. oben) ist dir selber überlassen.
Hoffe du hast es nun verstanden.
Beitrag geändert: 12.10.2008 20:30:08 von trueweb -
Ja halbwegs schon verstanden,
Nur wüsste ich jez nicht wo ich das in meinen Quellcode einsetzten soll :D
http://kevsworld.lima-city.de/index2.php
Oder müsste ich nochmal alles neuschreiben ? -
Du kopierst den PHP-Teil dorthin, wo der Content angezeigt wird...
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage