Frame-Ersatz mit PHP
Hallo,
Meine
[->] Homepage habe ich eigentlich mit Frames gestaltet.
Jetzt habe ich mich entschlossen (dank rfb und DeluxeStyle -> Gruß ;-)) die Frames zu vergessen und mit PHP anzufangen.
Davon habe ich allerdings so ziemlich keine Ahnung.
Ich habe jetzt mal ein paar
[->] Testseiten mit PHP gebastelt.
Habe mit
<? include ("datei.php"); ?>
versucht Frames nachzubauen.
Ist das vom Grundprinzip so richtig?
Weil Dreamweaver markiert bei mir im Quellcode Fehler:
Bei
/inhalt1.php und
/inhalt2.php scheint am Ende das
</body>
</html>
falsch zu sein. Stimmt das?
Gruß
Antwort schreiben
so wie ich es gemacht habe ist es falsch?
Kann mir bitte jemand erklären, wie es richtig geht?
Gruß + Danke
Antwort 2 von rfb vom 20.03.2019, 15:57 Options
Zitat:
Habe mit <? include ("datei.php"); ?> versucht Frames nachzubauen.
Ist das vom Grundprinzip so richtig?
ist wie schon erwähnt im Grundprinzip Quatsch.
Und wozu machst du jetzt einen neuen Thread auf?
mal ein kleines Beispiel (aus dem alten)
index.php:<html>
<?php include("kopf.inc") ?>
<body>
<?php include(navi.inc") ?>
<?php include(text.inc") ?>
</body>
</html>
erfordert drei Dateien:
kopf.inc:<head>
<title>Testdatei</title>
</head>
navi.inc:<ul>
<li><a href="...">Zeil1</a></li>
<li><a href="...">Zeil2</a></li>
<li><a href="...">Zeil3</a></li>
</ul>
text.inc:<h1>Wichtige Seite</h1>
<p>viel BlaBla</p>
ergibt im Browser:
<html>
<head>
<title>Testdatei</title>
</head>
<body>
<ul>
<li><a href="...">Zeil1</a></li>
<li><a href="...">Zeil2</a></li>
<li><a href="...">Zeil3</a></li>
</ul>
<h1>Wichtige Seite</h1>
<p>viel BlaBla</p>
</body>
</html>
Danke
[->] Testseitehabe jetzt mal deinen Code einfach übernommen, aber es funktioniert nicht.
Kann es sein, dass es am Server funpic.de liegt? Da heißt es allerdings, dass sie PHP unterstützen.
Validome.de sagt, dass keine Dokumententypdeklaration gefunden wurde. Vielleicht ist das ja der Fehler.
Gruß
Antwort 4 von DeluxeStyle vom 20.03.2019, 16:30 Options
du hast in deiner inhalt1.php in der Zeile 5 nen Fehler.
Poste mal den Quellcode
Quellcode inhalt1.php
<html>
<?php include("kopf.inc") ?>
<body>
<?php include(navi.inc") ?>
[b]<?php include(text.inc") ?>[/b]
</body>
</html>
Antwort 6 von DeluxeStyle vom 20.03.2019, 16:42 Options
include("kopf.inc");
mach mal hinter jedem include ein ;
Jetzt sieht das gnaze so aus:
<html>
[b]<?php include;("kopf.inc") ?>[/b]
<body>
[b]<?php include;(navi.inc") ?>
<?php include;(text.inc") ?>[/b]
</body>
</html>
Geht auch nicht - das
; wird scheinbar nicht akzeptiert.
Gruß
Antwort 8 von DeluxeStyle vom 20.03.2019, 16:54 Options
jetzt seh ich erst deinen fehler
<html>
<?php include("kopf.inc") ?>
<body>
<?php include("navi.inc") ?>
<?php include("text.inc") ?>
</body>
</html>
Antwort 9 von DeluxeStyle vom 20.03.2019, 16:55 Options
du hast die " bei den navi und text vergessen
danke, funktioniert
Bei Dreamweaver wird bei der Dateiendung .inc nur der Quellcode angezeigt.
Macht es etwas aus, wenn ich zum bearbeiten die Dateiendung in .htm ändere (damit der "Entwurf" angesehen werden kann) und anschließend wieder in .inc?
Gruß
Antwort 11 von DeluxeStyle vom 20.03.2019, 17:10 Options
du kannst auch include("datei.htm") machen. das ist nicht das thema.
dreamweaver wird es trotzdem ned darstellen, da er kein php kann
Habe ich alles richtig verstanden?
Die Datei kopf.inc wird für jede Seite verwendet - in ihr stehen z.B. die CSS-Eigenschaften, die normalerweise im header zu finden sind.
Die Datei navi.inc ist immer zu sehen und die Navigation.
Die Datei text.inc ist eine Seite der Homepage.
Noch ne Frage:
Wie mach ich das dann mit den Links? Weil wenn ich direkt auf die inc-Datei verlinke kommt nur deren Quellcode.
Oder muss ich dann mit einer neuen php-Datei anfangen (so wie im Beispiel oben index.php)
Gruß
Antwort 13 von DeluxeStyle vom 20.03.2019, 17:25 Options
sollte ne neue php datei sein.
inc kann dir kein webserver übersetzen. php und html schon
Ok vielen Dank für deine Hilfe!
Gruß
Antwort 15 von rfb vom 20.03.2019, 17:38 Options
Schön dass ihr euren Spass mit meinen Codebröckchen hattet ;-)
Auf die Datei text.inc kannst du verzichten, wenn du für jede Seite eine neue php anlegst, dann solltest du den inhalt von text.inc direkt in die php-Datei stattdessen schreiben.
Zitat:
Habe ich alles richtig verstanden?
Die Datei kopf.inc wird für jede Seite verwendet - in ihr stehen z.B. die CSS-Eigenschaften, die normalerweise im header zu finden sind.
Die Datei navi.inc ist immer zu sehen und die Navigation.
Soweit OK
Zitat:
Die Datei text.inc ist eine Seite der Homepage.
Nein, die text.inc ist einer der
Bausteine, aus denen der PHP-Interpreter die Seite
zusammensetzt.
Warum geht Validome.de bei meiner Seite nicht? Da muss ja irgendwas falsch sein?
->
Seite bei Validome- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Der Link zur 2ten Seite funktioniert nicht ganz (Sicherheitsverletzungen...).
-> 2.te Seite (Über mich)Liegt es daran, dass die Dateien, auf die ich verweise nicht im selben Verzeichnis sind?
<html>
[b]<?php include("/index/kopf.inc") ?>[/b]
<body>
[b]<?php include("/index/navi.inc") ?>[/b]
<span class="Stil4" style="position:fixed">-> <a href="/seiten/ich/ich.htm">Über mich</a></span>
<table style="width:680px" border="0" align="center" bgcolor="#CCCCCC">
<tr>
<td height="19" style="background-image:url(/bilder/backgrounds/tabelle/tabelle_breit.jpg); width:50%"><div align="center" class="Stil3"><a href="/seiten/ich/kurzfassung.htm" style="hover:text-decoration:underline; color:#FFFFFF">Kurzfassung</a> </div></td>
<td height="19" style="background-image:url(/bilder/backgrounds/tabelle/tabelle_breit.jpg [b]UND SO WEITER[/b]
</span> </td>
</tr>
</table>
<p> </p>
</body>
</html>
Die Tabelle habe ich einfach reinkopiert, deshalb ist sie vermutlich nicht valide.
Gruß
Antwort 17 von rfb vom 20.03.2019, 22:24 Options
Validome vermisst die DOCTYPE, also ergänze eine entsprechende Zeile am Anfang:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
...
Weiterer Fehler:
In den .inc-Dateien hast du jeweils ein title-Element
Auf der ganzen Seite darf und muss es aber genau eins geben und zwar im head-Element. Alle anderen löschen!
Antwort 18 von rfb vom 20.03.2019, 22:28 Options
zum anderen Problem brauchst du nur die Fehlermeldung zu lesen:
Zitat:
SecureSSI: Das Script (/usr/export/www/vhosts/funnetwork/hosting/hpohnen/php/ueber_mich.php) hat versucht, ausserhalb von seinem Userverzeichniss, auf die Datei /index/kopf.inc zuzugreifen.
Aus Sicherheitsgruenden ist dies nicht erlaubt!
aber die seite soll doch auf
kopf.inc und
navi.inc zugreifen.
Oder muss ich für jede Seite eine neue kopf.inc und navi.inc anlegen?
- - - - - - - - - - -
Die Seite
inhalt1.php hat bei
Validome.de einige Fehler
Wie behebe ich sie?
Gruß
Zitat:
aber die seite soll doch auf kopf.inc und navi.inc zugreifen.
Oder muss ich für jede Seite eine neue kopf.inc und navi.inc anlegen?
Hat sich erledigt. Habe meinen Fehler gefunden:
Die Dateien müssen alle im selben Verzeichnis liegen.