Javascript vs. php

Hi Leute , ich habe ein Problem:

Ich habe eine javascript function

Code:
function go(){
  
  if (document.selecter.select1.options[document.selecter.select1.selectedIndex].value != "none") 
   	 {
   	 	top.mitte.location   = document.selecter.select1.options[document.selecter.select1.selectedIndex].value
   	 	
   	 	
   	 	
   	 	document.selecter.select1.selectedIndex="Bitte wählen..."
     }   
  }

wobei sich das "document.selecter.select1.options[document.selecter.select1.selectedIndex].value" in index.htm , main.htm... usw umändert und im frame "mitte" angezeigt wird.

Jetzt habe ich aber alles in php umgeändert da ich es erst neulich erlernt habe ( include )


wie muss ich diese function umschreiben , so das es nicht im frame mitte sondern als include functioniert?
 
Da wirst Du wohl nicht gerade wenig anpassen muessen.
Der Sinn Deines JavaScripts besteht ja, nehme ich an, darin, dass in einer Select-Box eine Section Deiner Website ausgewaehlt wird und diese daraufhin im Frame erscheint.
Das natuerlich ohne das FrameSet neu zu laden.
Wenn Du das auf PHP umschreiben willst und ohne Frames, dafuer mit DIVs mit includetem Inhalt arbeiten willst wirst Du um einen Reload der ganzen Seite nicht drumherum kommen, denn damit PHP arbeiten kann muessen Daten an den Server geschickt werden, da PHP ja auf dem Server und nicht im Browser arbeitet.
Du muesstest also entweder per JavaScript die komplette Seite mit der zu ladenden Seite als Parameter reloaden (was nicht so gut ist, da nichts passieren wird wenn JavaScript deaktiviert ist) oder einen Button "Go!" haben der das ganze abschickt und somit den Reload ausloest (auch nicht das gelbe vom Ei, da ja dadurch erst die Section gewaehlt werden muss und man danach auf den Button klicken muss).
Ansonsten kann man mit aehnlichem Code wie im folgenden Beispiel arbeiten:
PHP:
<html>
<body>
<div id="menu">
<?php
include("menu.php");
?>
</div>
<div id="content">
<?php
if ($_GET["subsite"])
 {
  include($subsite);
 }
else
 {
  include("main.php');
 }
?>
</div>
</body>
</html>
Der Aufruf dieser Seite (index.php) saehe dann wie folgt aus:

index.php?subsite=main.php
index.php?subsite=gallery.php
...
Uebrigens war ich so frei die CSS-Deklarationen der beiden DIVs auszulassen, das musst Du dann, Deinen Vorstellungen entsprechend, noch nachholen.

Vorsicht!
In dieser Form kann ein Angreifer evtl. per Cross-Site-Scripting entfernte Scripts einbinden.
In diversen Threads habe ich jedoch schon Code gepostet der dies verhindert.
Das geschieht durch ein simples IF mit ein paar simplen Bedingungen.
 
Das ist nicht das Problem!

Ich habe jetzt kein Frame "mitte" mehr! Der ist gelöscht! an deren stelle ist jetzt der include! Alle Links habe ich von href="...." in inhalt.php.... geändert! Nur ich habe noch ein auswahlmenu das die function go() hat ( im auswahlmenü wird ein link ausgewählt dun die aufschrift (value) wird in der function go() ( zb. hat die auswahl home den value "main.htm" ) home.htm im frame "mitte" angezeigt! Ich will das aber nicht ich will das in der function go() ( die oben steht ) nicht in einem frame geöffnet wird sondern per include die seite geladen wird

also nicht
Code:
top.mitte.location   = document.selecter.select1.options[document.selecter.select1.selectedIndex].value

sondern
Code:
ENTSPRECHENDE PHP BEFEHL = document.selecter.select1.options[document.selecter.select1.selectedIndex].value
 
Das sollte schon so gehen, aber wolltest Du nicht eigentlich auch vom JavaScript und nicht nur von den Frames weg?
Wie gesagt, wenn jemand JavaScript deaktiviert hat wird er mit Deiner Seite wohl wenig anfangen koennen.
Und Du willst diese Leute ja nicht aussperren, oder?

Du koenntest aber ein alternatives Menue implementieren, welches nur dann genutzt wird wenn beim User JavaScript deaktiviert ist, und ansonsten wird das Menue mit JavaScript genutzt.
 
reptiler hat gesagt.:
Wie gesagt, wenn jemand JavaScript deaktiviert hat wird er mit Deiner Seite wohl wenig anfangen koennen.
Und Du willst diese Leute ja nicht aussperren, oder?
Trotzdem moechte ich nochmal explizit auf diesen Punkt hinweisen.
Weiterhin duerfte es wohl fuer Google und andere Suchmaschinen schwer werden Deine Seiten zu indizieren wenn Deine Navigation ausschliesslich auf JavaScript beruht und es keine "HTML-only" Alternative gibt.
 
Zurück