Hallo, ich wollte einmal wissen ob irgendjemand hier eine Praktikable Lösung hat um mit PHP ein Frameset nachzuladen wenn eine Unterseite direkt aufgerufen wird. (Ich möchte ABSICHTLICH auf JS verzichten da dieses abgeschaltet werden kann) Leider habe ich weder hier noch anderswo eine Lösung gefunden. Die einzige halbwegs praktikable Lösung habe ich hier gefunden. Allerdings ist hierbei wie wahsaga sagt nicht ausgeschlossen das eine Suchmaschine trotzdem die Seite ohne Frameset lädt. Hat jemand eine andere Idee wie ein Nachladen mit PHP vernünftig realisiert werden kann?
Frameset mit PHP nachladen
Einklappen
X
-
Frames habe ich vor Jahren schon nicht mehr verwendet, aber ich hatte
noch was in der Erinnerung .
Du navigierst generell mit einer einzigen Datei, sagen wir mal frameset.php,
und übergibt als Querystring die ID der darin befindlichen Seiten, dann
sollte IMHO auch mit Suchmaschinen funz. Nachteil: du muss alle
SeitenDateiNamen mit Pfadangaben in einer Tabelle der DB verwalten und
mit einer ID versehen.
Sobald die Frameset.php aufgerufen wird, wertest du die übergebenen ids
aus, holst die Information über Datei und relativen Pfad aus der DB, baust
dann in das Frameset ein. Das war's.
-
Sooo nachdem ich (denke ich zumindest) verstanden habe wie du das meinst muss ich dazu sagen das ich gerne versuchen möchte ohne ein DB auszukommen. Nicht nur weil ich zur Zeit keine zur Verfügung habe sondern auch weil das ein zusätzlicher Pflegeaufwand ist. Denn wenn ich eine neue Seite anlege muss ich nicht nur wie bei der JS Variante einfach nur den Code einfügen, nein ich muss die Seite noch in eine DB einpflegen. Finde das ehrlich gesagt doof und lästig. Aber trotzdem danke, der Vorschlag ist nicht übel.
Kommentar
-
hab da noch einen alten codeschnipsel (index.php)
PHP-Code:(!$_GET['link']) ? $link = 'home/home.htm' : $link = $_GET['link'];
echo '<frameset rows="114,*" frameborder="NO" border="0" framespacing="0">
<frame src="navihome.php'" name="top" scrolling="NO" noresize id="top" >
<frameset rows="*,27" frameborder="NO" border="0" framespacing="0">
<frame src="site/'.$link.'" name="main" id="main">
<frame src="bottom.htm" name="bottom" scrolling="NO" noresize id="bottom">
</frameset>
</frameset>;';
PHP-Code:<a href="../../index.php?link=pfad_und_dateiname.htm" target="_top">
peterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
-
*grübel*
Also wenn ich das jetzt richtig sehe wird damit bei JEDEM Aufruf einer Unterseite (da wo eben der Inhalt drinsteht) das Frameset nachgeladen.
Ist an sich super, würde mir auch reichen. Allerdings versteh ich nicht ganz wozu der zweite Teil gut ist. Ist der nicht eigentlich unnötig da bei jedem aufruf das Framset eh neu geladen wird?
Ich hab vieleicht auch nur einen knoten im Hirn!
EDIT:
Ich hatte nicht Verstanden was das Script tut und wie es das tut. Sorry der Knoten im Hirn war zu groß.Zuletzt geändert von Gandalf_the_Grey; 15.04.2004, 10:34.
Kommentar
-
Um ein einzelnes Frame nachzuladen, solltest Du vielleicht PHP und Javascript kombinieren, um ein einzelnes Frame-Objekt (in diesem Fall "parent.main") anzusprechen.
EDIT:
Sorry, die Sache, das JS nicht verwendet werden soll, habe ich übersehen. Aber da viele Seiten sowieso mit JS arbeiten, ist dies auch zu 99% aktiv. Und die restlichen Leute kann man ja mit einem JS-Check höflich darauf hinweisen. Zumal der Normal-Nutzer oft noch nicht mal weiss, wie man das abschaltet geschweige, was JS ist.Zuletzt geändert von Guido; 15.04.2004, 10:03.
Kommentar
-
Also nochmal zum mitschreiben! Ich will das GANZE Frameset neu laden! Außerdem soll das ALLES per PHP realisiert sein da man JS bekanntlich ABSCHALTEN kann!!!
*Was hier stand war Käse*
Der Knoten im Hirn löst sich langsamZuletzt geändert von Gandalf_the_Grey; 15.04.2004, 10:32.
Kommentar
-
das eine Suchmaschine trotzdem die Seite ohne Frameset lädt
den oberen code kannst du eins zu eins übernehmen, für den rest brauchst du aber javascript. einfach im kopf jeder seite folgenden code einfügen:
PHP-Code:<script language="JavaScript" type="text/JavaScript">
<!--
if (top == self) self.location.href = "../../index.php?link=ordner/dateinamen.htm";
//-->
</script>
peterZuletzt geändert von Kropff; 15.04.2004, 10:10.Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
-
Original geschrieben von Gandalf_the_Grey
die JS Variante habe ich schon länger gefunden. Mir ging es aber explizit darum eine solche Variante in PHP zu haben.
(eventuell könnte es über den referer gehen - aber da der bekanntlich ziemlich unzuverlässig ist, dann auch wieder nicht.)I don't believe in rebirth. Actually, I never did in my whole lives.
Kommentar
Kommentar