• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

php statt frames mit links verknüpft

Das sieht nach einem 404'er Fehler aus. Die Links bzw. die URL existiert nicht auf deinem Server
 
Werbung:
also 2 Möglichkeiten:
1. die Pfade sind falsch
2. die Namen stimmen irgendwo nicht überein...
gibt es noch Gründe?
 
was ist denn mit diesem codeteil?(der divcontainer <div class=\"right\">) wozu wird er gebraucht. ich habe ihn so übernommen aus dem Beispiel:
PHP:
<?php        if ((isset($_GET['section'])) AND ($_GET['section'] == "kontakt" )) {        echo "      <div class=\"right\">\n";        include('stuff/kontakt.php');        echo "      </div>\n";        }        ?>
 
Werbung:
also 2 Möglichkeiten:
1. die Pfade sind falsch
2. die Namen stimmen irgendwo nicht überein...
gibt es noch Gründe?
Das ist ein Ratespiel, aus deinem Code geht es nicht hervor. Es reicht nicht, dass du uns irgendwelche Screenshots zeigst und wo wir dann raten sollen, woran das liegen könnte. Du musst uns schon sagen, was du tust
 
ich habe einen Fortschritt: offensichtlich waren die Pfade nicht richtig... (dies geht aus dem code hervor) und zwar z.B. früher
PHP:
<?php        require_once('mainnav.php');        ?>
und jetzt:
PHP:
<?php        require_once('../mainnav.php');        ?>
doch leider stimmt immer noch irgend etwas nicht:
vortschritt.jpgnur die halbe Seite wird ausgegeben...
@struppi was hast du denn gegen Screenshots, diese verbildlichen doch nur das was ich meine. Ok ich gebe ja zu, dass die Fehler-bildchen nicht ganz nützlich waren. aber wer weiß. vielleicht hätte es dir mehr gesagt als mir...:mrgreen:

und dann hätte ich noch eine Frage, die Seite wird doch trotzdem ganz geladen, oder.
 
Bist Du sicher, dass nur die Hälfte ausgegeben wird? Vielleicht wird ja nur die Hälft angezeigt (sprich falsche CSS Dekleration oder hast einen HTML Tag nicht richtig geschlossen) - hast Du den Seitenquelltext kontrolliert?
Untertrückst du vielleicht Fehlermeldungen (@)?
Ansonsten mach an bestimmten Stellen einfach eine Ausgabe (bspw. mit echo), sofern keine Ausgabe mehr erscheint, weißt du zumindest, ab welcher Zeile der Fehler vorkommen muss.

Edit: Require führt ja zum direkten Abbruch des Scriptes - tausch mal alle require durch includes aus - so merkst Du dann, was nicht eingebunden wird.
 
Werbung:
@struppi was hast du denn gegen Screenshots, diese verbildlichen doch nur das was ich meine. Ok ich gebe ja zu, dass die Fehler-bildchen nicht ganz nützlich waren. aber wer weiß. vielleicht hätte es dir mehr gesagt als mir...:mrgreen:
Naja, du gehst ja auch nicht in die Autowerkstatt mit einem Foto von deinem Auto und fragst was daran kaputt sein könnte. Ein Screenshot hilft nur dann, wenn es um Darstellungsprobleme geht, z.b. bei CSS oder HTML.

Du zeigst uns ein Bild ohne dass wir Wissen, was du gemacht hast. Ohne deinen Code zu kennen, hilft uns wenig zu Wissen was du meinst - du musst uns sagen was du MACHST.

require ist völlig i.O. denn der Befehl sollte auch anzeigen, wenn der Pfad eines eingebundenen Skripts falsch ist, du hast ja die Fehlermeldungen aktiviert. Aber du musst auch den HTML Code, der im Browser ankommt analysieren, damit du erkennen kannst wo und wann der Fehler aufgetreten ist.
 
Hallo Freunde,
nach langem Knobeln, habe ich endlich die Rätsels Lösung! Also es war allein mein Fehler. Wer lesen kann ist klar im Vorteil: in der Anleitung habe ich unter Punkt 8 index.php und nicht index.html gelesen. Das heißt, dass ich nicht in jede Neue Seite z.B. Kontakt den ganzen php-code aus index.php schreiben musste, sondern nur den html-teil. So simpel... Allerdings habe ich Probleme bei der Ausführung des Impressum-links der nicht in der Navigation sondern im footer ist. Außerdem weiß ich auch nicht wie ich "Home" (index.php) verlinken soll. Und die Navigationspunkte werden ja auch nicht aktiviert. Ich meine wenn ich auf Kontakt gehe, dann soll der Menüpunkt eine andere Hintergrundfarbe haben und Home soll wieder "normaler" sein. Der simple <a-active> effekt. Wie soll man ihn in php umsetzen? Die zweite Anleitung verstehe ich irgendwie nicht... :oops: (aller Anfang ist schwer)
 
Werbung:
Super gerade hab ich auch die Probleme mit den anderen Links hingekriegt. Jetzt bleibt noch die Frage mit dem aktiven Link. Da stehe ich momentan völlig auf dem Schlauch.
 
Du fragst auch hierfür
PHP:
$_GET['section']
ab und veränderst damit die Elementklasse des aktiven Menüpunktes.

Da ich gerade nicht weiß, wie deine Classes fürs Menü heißen nenne ich sie kurzerhand mal
.menu
.menu_active
In beiden hinterlegst du alle Eigenschaften für dieses Element, und machst bei .menu_active die Änderungen, die das Element bei aktiver Seite aufweisen soll.
Dein Einleitender Tag sollte dann etwa so (z.B. Impressum) aussehen und du hast was du willst.
PHP:
<li class="menu<?php if($_GET['section'] == 'impressum'){echo '_active';} ?>">
Mit ausnahme deines Startseiten-Menüpunktes!
Der sollte in etwa so aussehen
PHP:
<li class="menu<?php if(empty($_GET['section'])){echo '_active';} ?>">
 
Danke für die Antwort, aber irgendwie mache ich etwas falsch. Das ist das Menü:
Code:
            <div id="navicontainer">        	<ul>
            	<li class="menu<?php if(empty($_GET['section'])){echo 'active';} ?>"><a href="index.php" title="Home">Home</a></li>
                <li class="menu<?php if($_GET['section'] == 'gallery'){echo 'active';} ?>"><a href="index.php?section=gallery" title="Gallery">Gallery</a></li>
                <li class="menu<?php if($_GET['section'] == 'about_me'){echo 'active';} ?>"><a href="index.php?section=about_me" title="About me">About me</a></li>
                <li class="menu<?php if($_GET['section'] == 'kontakt'){echo 'active';} ?>"><a href="index.php?section=kontakt" title="Kontakt">Kontakt</a></li>
            </ul>
		</div>
und das ist die css Datei (nur ein Ausschnitt):
Code:
#navicontainer ul{	list-style:none;
	margin-left:50px;
	margin-right:50px;
}
#navicontainer li{
	
	float:left;
	text-decoration:none;




}
#navicontainer li a, #navinavicontainer li p{
	display:block; width:170px; line-height: 90px;
	text-decoration:none;
	font-weight:bold;
	background:#002253;
	color:#FFF;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 20px;
	text-align:center;
	padding-top:0px;


	
}
#navicontainer .active a, #navicontainer li a:hover{
	color:#002253;
	font-size: 20px;
	text-align:center;
	/*background-image:url(bilder-seite/transparent%2090%25.png);*/
	font-family: Georgia, "Times New Roman", Times, serif;
	background-color:#e5e5e5;
	/*background:transparent;*/
	
}
li ul {
	display: none;
  	position: absolute; 
  	top: 1em;
  	left: 0;
	clear:both;
}
li > ul {
	top: auto;
	left: auto;
}


li:hover ul { 
	display: block;
}
.active{
	display:block; width:170px; line-height: 90px;
	text-decoration:none;
	font-weight:bold;
	color:#002253;
	font-size: 20px;
	text-align:center;
	/*background-image:url(bilder-seite/transparent%2090%25.png);*/
	font-family: Georgia, "Times New Roman", Times, serif;
	background-color:#e5e5e5;
	padding-top:0px;}
.menu{display:block; width:170px; line-height: 90px;
	text-decoration:none;
	font-weight:bold;
	background-color:#002253;
	color:#FFF;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 20px;
	text-align:center;
	padding-top:0px;}
da es bei mir zuvor im #navicontainer... definiert war, habe ich einfach neue klassen gebildet mit allen Eigenschaften. Aber der Browser sieht sie nicht. Wenn ich die ganzen #navicontainer als Kommentar mache, sieht der browser die komplett undefinierten links dort stehen... so zusagen im Anfangsstadium.
 
Werbung:
Prinzip nicht verstanden.
Ich versuche es dir mal zu erklären
Du siehst, dass ich am ende des Attributes
HTML:
class="menu"
noch innerhalb der Anführungszeichen PHP-Code hinzugefügt habe.
Und zwar diesen:
PHP:
<?php if($_GET['section'] == 'impressum'){echo '_active';} ?>
Was macht dieser Code?
PHP:
if($_GET['section'] == 'impressum')
fragt nach, ob der Parameter section gleich impressum ist
Falls dem so ist, doll das hier ausgeführt werden
PHP:
{echo '_active';}
was die Textausgabe _active erzeugt.

Das bedeutet:
Wenn die Bedingung zutrifft, wird
HTML:
class="menu"
zu
HTML:
class="menu_active"

Verstehst du wo dein Fehler liegt?
 
also das -active hängt sich an das menü dran... quasi fast wie mit dem Verbindungselement .(punkt).
Danke für die Geduld, ich versuche es gleich nochmal.
 
Ich weiß nicht warum es immer noch nicht funktioniert. Habe ich wieder etwas falsch verstanden?

hier habe ich den unterstrich_ eingefügt
Code:
<div id="navicontainer">        	<ul>
            	<li class="menu<?php if(empty($_GET['section'])){echo '_active';} ?>"><a href="index.php" title="Home">Home</a></li>
                <li class="menu<?php if($_GET['section'] == 'gallery'){echo '_active';} ?>"><a href="index.php?section=gallery" title="Gallery">Gallery</a></li>
                <li class="menu<?php if($_GET['section'] == 'about_me'){echo '_active';} ?>"><a href="index.php?section=about_me" title="About me">About me</a></li>
                <li class="menu<?php if($_GET['section'] == 'kontakt'){echo '_active';} ?>"><a href="index.php?section=kontakt" title="Kontakt">Kontakt</a></li>
            </ul>
		</div>
und hier .menu_active
Code:
.menu_active{	display:block; width:170px; line-height: 90px;
	text-decoration:none;
	font-weight:bold;
	color:#002253;
	font-size: 20px;
	text-align:center;
	/*background-image:url(bilder-seite/transparent%2090%25.png);*/
	font-family: Georgia, "Times New Roman", Times, serif;
	background-color:#e5e5e5;
	padding-top:0px;}
.menu{display:block; width:170px; line-height: 90px;
	text-decoration:none;
	font-weight:bold;
	background-color:#002253;
	color:#FFF;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 20px;
	text-align:center;
	padding-top:0px;}
:cry:
 
Werbung:
Kannst du mal bitte die Seite mit der section gallery aufrufen und den vom PHP erzeugten Quelltext-Teil (sprich der navicontainer) hier posten?
Dann wissen wir schonmal obs am PHP oder am CSS selber liegt. Denn verkehrt sieht mir das ganze nicht aus. :)
 
im Quelltext steht ja sogar active...
HTML:
         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <link href="style.css" rel="stylesheet" type="text/css" /> <style type="text/css"> body {    background: #000;    background-image:url(bilder-seite/1920x1200_2.jpg);    }  </style></head>  <body class="oneColFixCtr"> <!--<div style="width:810px;    margin:0 auto;height:100px;    overflow:visible;"><img src="bilder-seite/banner.png"  style="width: 780px" height="200"  /></div>--> <div id="container">     <div id="bigcontainer">         <div id="navicontainer">             <ul>                 <li class="menu"><a href="index.php" title="Home">Home</a></li>                 <li class="menu_active"><a href="index.php?section=gallery" title="Gallery">Gallery</a></li>                 <li class="menu"><a href="index.php?section=about_me" title="About me">About me</a></li>                 <li class="menu"><a href="index.php?section=kontakt" title="Kontakt">Kontakt</a></li>             </ul>         </div>                       <div class="right"> <div id="littlecontainer">                     <div id="leftcontainer">                                       <h1>Galerie</h1>                                       <h2>Und hier eine h2-Überschrift</h2>                                         <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p>                     </div>                     <div id="rightcontainer">                                     <p style="color:#FFF" align="center">"Die größten Ereignisse, das sind nicht unsere lautesten, sondern unsre stillsten Stunden."<br />                         - Friedrich Nietzsche -</p>                     </div>                 </div>      </div>                                                                <div id="footer"><p align="center">  <a href="index.php" title="Startseite">Home</a> : <a href="index.php?section=kontakt" title="Kontakt">Kontakt</a> :       <a href="index.php?section=impressum" title="Impressum">Impressum</a> <br />       © 2011 copyright by .................</p></div> </div>  <script type="text/javascript" src="http://view.binlayer.com/ad-19130.js"></script> </body> </html>
tut mir Leid, das es so gequetscht ist. Wenn es gar nicht leserlich ist, kann ich auch ein screenshot machen.
 
Ich poste es mal ordentlich :) Eclipse bzw notepad++ können das wieder schön darstellen =)
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
      body {
          background: #000;
          background-image: url(bilder-seite/1920x1200_2.jpg);
      }
    </style>
  </head>
  <body class="oneColFixCtr">
    <!--<div style="width:810px;    margin:0 auto;height:100px;    overflow:visible;"><img src="bilder-seite/banner.png"  style="width: 780px" height="200"  /></div>-->
    <div id="container">
    <div id="bigcontainer">
      <div id="navicontainer">
        <ul>
          <li class="menu">
            <a href="index.php" title="Home">Home</a>
          </li>
          <li class="menu_active">
            <a href="index.php?section=gallery" title="Gallery">Gallery</a>
          </li>
          <li class="menu">
            <a href="index.php?section=about_me" title="About me">About me</a>
          </li>
          <li class="menu">
            <a href="index.php?section=kontakt" title="Kontakt">Kontakt</a>
          </li>
        </ul>
      </div>
      <div class="right">
        <div id="littlecontainer">
          <div id="leftcontainer">
            <h1>Galerie</h1>
            <h2>Und hier eine h2-Überschrift</h2>
            <p>
              Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.
            </p>
          </div>
          <div id="rightcontainer">
            <p style="color:#FFF" align="center">
              "Die größten Ereignisse, das sind nicht unsere lautesten, sondern unsre stillsten Stunden."
              <br/>
              - Friedrich Nietzsche -
            </p>
          </div>
        </div>
      </div>
      <div id="footer">
        <p align="center">
          <a href="index.php" title="Startseite">Home</a>
          : <a href="index.php?section=kontakt" title="Kontakt">Kontakt</a>
          : <a href="index.php?section=impressum" title="Impressum">Impressum</a>
          <br/>
          © 2011 copyright by .................
        </p>
      </div>
    </div>
    <script type="text/javascript" src="http://view.binlayer.com/ad-19130.js">
    </script>
  </body>
</html>
 
Werbung:
Hab das ganze mal ausprobiert. Mach mal bitte anstatt
Code:
#navicontainer li a, #navinavicontainer li p{
  ....
}

folgendes


Code:
#navicontainer .menu a, #navinavicontainer li p{
  ....
}

Denn die andere Regel ist mächtiger als
Code:
#navicontainer .active a
 
vielen vielen Dank, alles funktioniert super, aber er reagiert nicht auf text-decoration:none. wieso?
 
Zurück
Oben