Ganz naiv gefragt: wie bringe ich mein html-Dokument dazu, dass es auf Mausklick in einem gewissen Bereich meiner Seite content lädt (wie das bei frames eben der Fall ist), OHNE, dass das komplette Drumherum neu geladen wird/geladen werden muss? Ist include dafür überhaupt der richtige Befehl?
Guten Abend,
PHP ist eine serverseitige Scriptsprache. Du brauchst also einen Server, auf dem PHP läuft. Erkundige dich bei deinem Webhoster, ob PHP drauf is. Wenn ja, solltest dir eine Einführung in die serverseitige Programmierung besorgen oder im Internet ein Tutorial durchsehn.
Dann kannst du z.b. mittels übergebener Variablen und deren Auswertung per include od. require gewünschten Content in deine Seite einbinden. Datei Sollte als dateiname.inc.php benannt werden. Ist recht praktisch, um Struktur in grössere Projekte zu bringen. Man zerschnipselt alles in kleine Stücke und setzt dann nach Bedarf zusammen.
<? und ?> wären die start- und endtags des php-codes (shorttags) - alternativ: <?php ?>.
kanalgitter vor zeile=kommentar
/* oder so kommentar */
Könnte dann etwa so aussehn (grob und ungetestet):
Du schreibst in deinen html-quellcode z.b. einen Link
<a href="<?echo $_SERVER['PHP_SELF']; # aktuelles script ausführn ?>?selectid=1">zum gästebuch</a>
Wird das Script nun per Klick auf den Link ausgeführt, dann übergibst du im Querystring (ab ? im Link / bzw Teil nach url) den Wert 1 unter Variablennamen selectid per Methode get (Link wird per get übergeben, Formulare wählst du get oder post).
Mit php kannst du dann ($ kennzeichnet Beginn einer Variable in php) $_GET['selectid'] weiter verarbeiten bzw darauf reagieren und den gewünschten content per include einbinden. Wir wollen aber auch sicher gehn, dass selectid auch wirklich übergeben wurde (per isset):
if(isset($_GET['selectid'])&&($_GET['selectid']==1)){
include "guestbook.inc.php";
}
deutsch: wenn die variable selectid übergeben wird und Inhalt der Variable 1 entspricht, binde gästebuch in die Seite ein. Bleibt natürlich dir überlassen, ob du 1,2,3 oder a,b,c, strings oder sonstwas verarbeitest.
Würde man auf unterschiedliche selectids reagieren wollen, dann könnte man das wohl per switch-anweisung eleganter / kompakter:
if(isset($_GET['selectid'])){
switch($_GET['selectid']){
case 1: include "guestbook.inc.php"; break;
case 2: include "aboutus.inc.php"; break;
.
.
.
default: break;
}
}
(wenn noch nicht programmiert hast, if und switch sind kontrollstrukturen von php)
Statt include könntest du auch require verwenden, allerdings bricht dann das Script ab, wenn z.b. die gewünschte Datei nicht auffindbar wäre. Bei include läuft es trotzdem bis Ende.
Wenn du noch nix mit php zu tun hattest, dann klingt das alles vielleicht etwas verwirrend *g* Aber empfehle dir mal damit zu beschäftigen / anzufangen. So lässt sich alles recht dynamisch gestalten :D
lG und gutes Gelingen,
Jonny 5