1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Frame ersetzen durch <? include (""); ?>

Discussion in 'Web-Know-how für die Homepage' started by Mylin, Feb 10, 2010.

Thread Status:
Not open for further replies.
  1. Mylin

    Mylin Viertel Gigabyte

    Hallo Forum,

    stelle mein "Projekt" um auf php. Auf einer Unterseite werden unterschiedliche Inhalte, bei Auswahl aus einer Linkliste, in einen Frame geladen. Ich habe jetzt mehrere Ideen den Frame durch

    <? include ("1.php"); ?>
    <? include ("2.php"); ?>
    <? include ("3,php"); ?>

    - zu ersetzen und über die Linkliste per CSS unsichtbar/sichtbar zu machen.
    - zu ersetzen und mit einem Java-Script über den Link anzuzeigen.
    - oder durch ein php-Menü zu ersetzen.

    Was wäre die beste Lösung?

    Mylin
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Du bindest nicht die variablen Inhalte, sondern die statischen Inhalte (also die, die sich auf jeder Seite wiederholen) per include ein.
     
  3. Mylin

    Mylin Viertel Gigabyte

    Also ist include der falsche Weg und ich bleibe beim frame?
     
  4. kalweit

    kalweit Hüter der Glaskugel

    ...du hast einfach noch ein Verst&#228;ndnisproblem. Letztlich musst du alle Seiten die bis jetzt im Frame angezeigt werden, um den Teil au&#223;erhalb des Frames erg&#228;nzen. An der Stelle nimmst du include, um bei &#196;nderungen nicht alle Dateien erneut &#228;ndern zu m&#252;ssen. Einmal musst du da aber durch. ;)
     
  5. Mylin

    Mylin Viertel Gigabyte

    ... :dumm: Ah, von hinten nach vorne. :merci:
     
  6. Mylin

    Mylin Viertel Gigabyte

    ... bleibt noch eine Frage. Wie erkläre ich das meinem Top-Menü, welches die aktive Seite farbig anders darstellt. Also im Top-Menü Link zur Mutter die mir ihre Kinder zeigte. Und jetzt zeigen mir die Kinder die Mutter.

    PHP:
    <?php
    $cr 
    chr(13).chr(10);
    $uri $_SERVER['REQUEST_URI'];
    $datei strrchr ($uri"/");
    $current_page substr ($datei1);
    $anzahl2 strlen ($uri);
    $anzahl1 strlen ($current_page);
    $differenz $anzahl2 $anzahl1 ;
    $pfad substr($uri,0,$differenz);
    ?>

    <?php
    $menu_data 
    = array(

     
    ""                    => array("Home""./"),
     
    "hot.php"       => array("Hot stuff"$pfad "hot.php"),
     
    "shout.php"        => array("Shoutbox"$pfad "shout.php"),
     
    "index.html"        => array("Privat"$pfad "./Privat"),
     
    "#"      => array("Disclaimer""javascript:popup()"),
     );
    ?>


    <?php        
    $navi 
    $cr '<ul id="top">'$cr;

        
        foreach (
    $menu_data as $key => $value) {
           if(
    $key != $current_page) {
        
    $navi .= '<li>';
             
    $navi .= '<a href="' $value[1] . '">';
             
    $navi .= $value[0];
             
    $navi .= '</a>';
             
    $navi .= '</li>' $cr;
         }
     
         else {
               
    $navi .= '<li><a href="' $value[1] . '" class="current">';
             
    $navi .= $value[0];
            
    $navi .= '</li>' $cr;
        }
        }
    $navi .= '</ul>';


    echo 
    $navi;
    ?>

    <script type=text/javascript>
        function popup() {
        window.open('/disc.php','Popup','toolbar=no,scrollbars=yes,location=no,status=no,menubar=no,resizable=no,left=250,top=250');
        }
    </script>
     
  7. kalweit

    kalweit Hüter der Glaskugel

    Schreib eine Variable in die Datei, welche du im include einfach auswertest.
     
  8. Mylin

    Mylin Viertel Gigabyte

    Läßt sich das ohne fopen umsetzen? (wurde vom Hoster deaktiviert)
     
  9. kalweit

    kalweit Hüter der Glaskugel

    Ich meinte:

    seite.php

    Code:
    <?php
    $ich_bin=1;
    ?>
    
    ...
    
    include(include.menue.inc);
    ...
    
    include.menue.inc

    Code:
    switch($ich_bin) {
    case 1: mach was
    ...
    }
    
     
  10. Mylin

    Mylin Viertel Gigabyte

    :motz: ... wieso hatte ich nur diese bescheuerte php-Idee.

    Man, man html geht mir ja noch recht einfach von der Hand, aber php. Na gut hab vergessen zu erw&#228;hnen, dass ich davon null Ahnung habe.

    Das Men&#252; mu&#223;te ich &#252;berarbeiten, weil es mit mehreren index.php nicht klar kam.
    Zum Eigentlichen. Nach deinem Anstoss habe ich eine "frame&#228;hnliche" L&#246;sung (also variabler Inhalt &#228;ndert sich) in php gefunden, macht sich &#252;begeben &#252;ber den Link ../hot/index.php?page=a echt prima.

    index.php
    Code:
    <? 
    		switch($_GET['page']) {
    		default:
    		include('hota.php');
    		break;
    
    		case 'a':
    		include('hota.php');
    		break;
      
    		case 'b':
    		include('hotb.php');
    		break;    
    		};
    	?>
    So nun l&#246;st das aber nicht mein Problem, denn ?page=a wird der Url angehangen, das Men&#252; kommt wieder ins Schleudern und kann den "aktive Seite" Marker nicht setzen.
    Kalweit, ich denke, dass dein Ansatz nicht funktionieren kann, denn das Men&#252; holt sich mit $_SERVER['REQUEST_URI']; die Url um sie vergleichen zu k&#246;nnen. Oder verstehe ich etwas falsch?

    Mylin
     
  11. kalweit

    kalweit Hüter der Glaskugel

    ...also irgendwie reden wir zunehmend aneinander vorbei... :grübel:

    Mit PHP kann man halt richtig programmieren, deswegen solltest du dir auch die notwendige Zeit zum lernen geben. Wie ich das sehe, hast du meinen Ansatz in der Reihenfolge der Abarbeitung umgedreht, damit funktioniert natürlich die Parameterübergabe aus dem include nicht (wird ja zu spät geladen). Den REQUEST_URI auszuwerten ist ein zweischneidiges Schwert, da es je nach Serverkonfiguration u.U. andere Ergebnisse liefert bzw. du müsstest selbigen per regulären Ausdruck prüfen (z.B. eregi(); ), was seinerseits erheblich auf die Performance gehen kann - musst du halt abwägen.
     
  12. Mylin

    Mylin Viertel Gigabyte

    > vorbei

    Es wird Alles gut kalweit. :bussi:

    > die notwendige Zeit zum lernen

    Mein Motto "lerning bei duing", Zusammenhänge erklären/ergeben sich von selbst. Der Anfang war die Shoutbox und die tut gut tun.

    > Abarbeitung umgedreht

    Hat sich so ergeben. :D
    btw. Hätte es doch mit der Menue.php imo nicht funktioniert, oder?

    > zweischneidiges Schwert

    Seh schon, muss wohl ein neues Menü basteln. :rolleyes:
     
  13. Mylin

    Mylin Viertel Gigabyte

    Na büdde geht doch. :cool:

    Das neue Menü:

    Code:
    <?php
    $menu_data = array(
     "home"    => array("Home", "../"),
     "hot"     => array("Hot Stuff", "../hot/"),
     "shout"   => array("Shoutbox", "../shout/"),
     "privat"  => array("Privat", "../privat/"),
     "#"  	   => array("Disclaimer", "javascript:popup()"),
      );
    ?>
    
    <?php
    $navi = '<ul id="top">';
    	foreach ($menu_data as $key => $value) {
       	if($key != $current_page) {
    	$navi .= '<li>';
         	$navi .= '<a href="' . $value[1] . '">';
         	$navi .= $value[0];
         	$navi .= '</a>';
    	 	$navi .= '</li>';
         }
     
     	else {
    	   	$navi .= '<li><a href="' . $value[1] . '"class="current">';
     		$navi .= $value[0];
        	$navi .= '</li>';
     }
    }
    $navi .= "</ul>";
    
    echo $navi;
    ?>
    
    <script type=text/javascript>
    	function popup() {
    	window.open('/disc.php','Popup','toolbar=no,scrollbars=yes,location=no,status=no,menubar=no,resizable=no,left=250,top=250');
    	}
    </script>
    in jede Seite:

    Code:
    <?php
     $current_page = "abc";
    ?>
    Nu tun auch die "php-Frames". :jump:

    Danke nochmals für die Denkanstöße :merci:
     
  14. windowsmayo

    windowsmayo Kbyte

  15. kalweit

    kalweit Hüter der Glaskugel

    ...ich sehe in dem ganzen Thread keine kritischen include-Anweisungen. :rolleyes:
     
  16. Mylin

    Mylin Viertel Gigabyte

    ... also ich find das auch nicht ktitisch, gibt ja einen "default"-Wert und alles was includettet werden kann ist im Quelltext festgelegt. :cool:

    Bin zwar ein absoluter Neuling, was php angeht, aber Gedanken mache ich mir bei der Umsetzung schon. Sollte ich es trotzdem etwas leichtfüßig umgesetzt haben, lasse ich mich gerne beleeren.

    Mylin
     
Thread Status:
Not open for further replies.

Share This Page