php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.05.2008, 12:45  
Neuer Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 3
jocz befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Menu mit CSS unter PHP

Hallo,

Ich habe ein Menu vorbereitet für eine Webseite. Es ist jeweils in den einzelnen Seiten (.php) als menu.php eingebettet. Es handelt sich um eine horizontale Liste. Es funktioniert auch alles so wie es sollte.

Mein Problem ist folgendes. Es sollte doch möglich sein den jeweiligen Menupunkt auf der Seite wo man sich befindet einzufärben. Es handelt sich dabei doch um das Thema das ein aktiver Link die Farbe beibehalten soll? Ich habe mich schon durch diverse Codes gegoogelt aber es ist mir nicht gelungen etwas entsprechendes umzusetzen.

menu.php Code:

Code:
<?php
if (!isset($hmenu)) $hmenu="";
function href ($seite, $menu, $hmenu) {
    if ($menu != $seite) echo "href='$seite.php'";
    if ($hmenu== $seite) echo ' class="akt"';
}
?>
<div id="nav">
<ul>
<a <?php if ($menu != "start") {echo 'href="../"';} else {echo "class='akt'";} ?>>Home</a>
<a <?php href("news",$menu,$hmenu) ?>>News</a>
<a <?php href("wellness",$menu,$hmenu) ?>>Wellness</a>
<a <?php href("massage",$menu,$hmenu) ?>>Massage</a>
<a <?php href("gutschein",$menu,$hmenu) ?>>Gutscheine</a>
<a <?php href("preise",$menu,$hmenu) ?>>Preise</a>
<a <?php href("kontakt",$menu,$hmenu) ?>>Kontakt</a>
</ul>
CSS Code:
Code:
body {
    SCROLLBAR-FACE-COLOR: #0000CC;
    SCROLLBAR-HIGHLIGHT-COLOR: #ffff99;
    SCROLLBAR-SHADOW-COLOR: #ffff99;
    SCROLLBAR-3DLIGHT-COLOR: #CC6600;
    SCROLLBAR-ARROW-COLOR: #ffff99;
    SCROLLBAR-TRACK-COLOR: #ffff99;
    SCROLLBAR-DARKSHADOW-COLOR: #CC6600;
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    color: #333333;
    padding:0px 0px;
    margin:0px 0px;
}

html, body {
width:100%;
height:100%;
margin:0;
padding:0;
}

a {
        color: #FFFF99;
        text-decoration: none;
}
a:visited {
        color:#FFFF99;
        text-decoration: none;

}
a:hover {
        color: #666666;
        font-weight: normal;
        font-size: 10px;
        text-decoration: none;
}
a:active {
        color:#666666;
        text-decoration: none;
        font-size: 10px;
        font-weight: normal;
        background-color: #FFFF99;
}


#nav       {position:center;}
#nav ul    {margin:0; padding:0; list-style-type:none;}
#nav li    {margin:0; no-repeat left center; }
#nav li a  {display:block;}
#nav a img {border:none; background:#FFFF99;}
#nav p     {text-align:center;}


h1 {
    font-size: 14px;
    color: #333333;
    text-transform:uppercase;
    letter-spacing: 10px;
    padding:0px 0px;
    margin:0px
}

img.download {vertical-align: middle;}

h2 {
    font-size:12px;
    color: #333333;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 8px;
    line-height: 14px;
    padding-top: 20px;
    padding-bottom: 20px;
    margin: 0px 0px;
}

.banner img {padding:0px 0px;} 



/* --------------left und right navigavtion------------- */

.leftbg {
    background-image: url(../images/left_bg_4.png);
    background-repeat: repeat-y;

 }
 
 .rightbg {
    background-image: url(../images/right_bg_4.png);
    background-repeat: repeat-y;
 }

/* -----------------Inhalt--------------------- */ 
#content{
    width: 640px;
    padding-bottom: 20px;
    text-align: left;
    border-bottom: 1px;
    font-family: Arial, Helvetica, sans-serif;
    font-variant: normal;
    color: #333333;
}
#image {
    border: 1px solid #333333;
    padding: 2px;
}

#backgroundimage{
    background-image: url(../images/Oase1_background.png);
    background-repeat: no-repeat;
    
}

p {
padding: 0px;
margin:0px; }

.spalte_links{
    width: 350px;
    text-align: justify;
    margin-left: 0px;
}

.spalte_rechts{
    float: right;
    width: 350px;
    text-align: justify;
    padding-left: 30px;
    margin-right: 0px;
}

pre{
    font-size: 12px;
    padding: 0px 0px;
    margin:0px;
}

.schrift{
    font-size: 12px;
    color: #333333;
    text-transform:none;
    padding:0px 0px;
    margin:0px;
}
/*  ----------------footer---------------------- */ 
.footer {
width: 800px;
padding:0px;
text-align: left;
} 

/*  ----------------menu---------------------- */ 
.menu {
    font-size: 10px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 5px;
    width: 640px;
    background-color: #004C93;
    font-family: Arial, Helvetica, sans-serif;
    padding-top: 2px;
    padding-bottom: 2px;
    color: #FFFF99;
} 

.link {
    width: 80%;
    font-size: 10px;
    padding-top:3px;
    text-align: right;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-right: 2px;
    padding-bottom: 3px;
    padding-left: 2px;
    color: #333333;
} 
/*  ---------------contactfield---------------- */
input, textarea, select {
    border: 1px solid #333333;
    color: #333333;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: normal;
}
#backgroundimage2 {
    background-image: url(../images/Oase1_background.png);
    background-repeat: repeat-y;
}
.schrift2 {
    font-size: 12px;
    color: #004C93;
    text-transform:none;
    padding:0px 0px;
    margin:0px;
    font-weight: bold;
}
index.php Code:
Code:
<!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" xml:lang="en" lang="en" >
<head>
<title>Femina Vital Wabern</title>
<meta name="siteinfo" content="feminavital.ch/robots.txt">
<link rel="icon" type="image/ico" href="http://www.feminavital.ch/favicon.ico">
<link rel="shortcut icon" href="http://www.feminavital.ch/favicon.ico">
<link type="text/css" href="css/screen.css" rel="stylesheet" media="screen" />
<link type="text/css" href="css/noprint.css" rel="stylesheet" media="print" />
<script type="text/javascript">
<!--
window.onload=show;
function show(id) {
var d = document.getElementById(id);
        for (var i = 1; i<=10; i++) {
                if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
        }
if (d) {d.style.display='block';}
}
//-->
</script>
<script language="JavaScript"><!--

var text = " ----- feminavital.ch ----- ";

var ausgabe ="";
var verz = 80;
var z;

function fun() {
        for (var i = 0; i <= text.length; i++) {
                z = Math.round(Math.random());
                if (z == 0)
                        ausgabe += text.charAt(i);
                        }
                window.status = ausgabe;
                ausgabe = "" ;
                verz += 10;
                id = setTimeout("fun()" , verz);
                if (verz >= 500) {
                clearTimeout(id);
                window.status = text;
                }
                }
                //--></script>
<style type="text/css">
<!--
body {
    background-color: #ffcc33;
}
-->
</style></head>
<body onLoad="fun()">

<table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr bgcolor="#FFFF99">
          <td width="130" height="150" background="images/left_bg_4.png" class="banner"><?php include 'includes/header.php'; ?>          </td>
          <td width="640" class="banner">&nbsp;</td>
          <td width="130" background="images/right_bg_4.png" class="banner">&nbsp;</td>
          </tr>
</table>
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
           <td width="130" valign="top" background="images/left_bg_4.png"></td>
<td height="10" align="center" bgcolor="#FFFF99" >
  <div align="center">
    <?php include 'includes/menu.php'; ?>
    </div>
    </p>
  </div></td>
    <td width="130" valign="top" background="images/right_bg_4.png"></td>
  </tr>
</table>
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" style="height:80%;">
<tr>
            <td width="130" valign="top" background="images/left_bg_5.png" class="leftbg">
              <div id="leftnoprint">
                <?php include 'includes/left.php'; ?>
              </div></td>
<td width="680" valign="top" bgcolor="#FFFF99">

              <?php

if (isset($_GET['page']))
      $page = $_GET['page'];
  else
      $page = 'introtext';


$fn = './content/'.$page;
if (is_file($fn.'.html')) {
        include($fn.'.html');
} else if (is_file($fn.'.php')) {
        include($fn.'.php');
} else {
        print("there is no content");
}
?></td>
<td width="130" valign="top" background="images/right_bg_5.png"><div id="rightnoprint">
  <span class="rightbg">
    <?php include 'includes/right.php'; ?>
  </span></div></td>
  </tr>
</table>
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#FFCC33">
    <td width="130" valign="top" background="images/left_bg_4.png">&nbsp;</td>
    <td width="640" valign="top" bgcolor="#FFFF99">&nbsp;</td>
    <td width="130" valign="top" background="images/right_bg_4.png">&nbsp;</td>
</tr>
</table>
</body>
</html>
jocz ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.05.2008, 13:21  
Neuer Benutzer
 
Registriert seit: 20.05.2008
Beiträge: 12
bieler befindet sich auf einem aufstrebenden Ast
Standard

Schau dir mal den ausgegeben Quelltext genauer an.
Deine Links werden falsch aufgebaut sein, da du das trennende ? vergessen hast, welches die adresse von den GET-Parametern trennt.
Zudem greiffst du direkt auf variablen zu, das bedeutet, bei dir sind register_globals noch aktiv. Das sollte so nicht sein. Bitte lesen:
PHP: Verwendung von Register Globals - Manual
Und: PHP ohne "register_globals" - Programmierung - Technische Infos - Hostpoint

PHP-Code:
if (!isset($hmenu)) $hmenu=""
Wo definierst du $hmenu?

Du solltest nicht so extrem viel quellcode posten. Kürze ihn auf das nötigste, um dein Problem zu beschreiben, dann werden dir auch mehr Leute antworten .

Achtung: Du solltest auch keine Parameter direkt includen. Ein Benutzer kann in den GET-Parameter schreiben, was er will! Schlimmstenfalls öffnest du damit eine Lücke welche es einen Hacker erlaubt, die Kontrolle über den Server zu erlangen!
bieler ist offline  
Alt 21.05.2008, 13:43  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ich habe mich nicht durch das ganze HTML/PHP-Chrüsimüsi gekämpft, aber was mir aufgefallen ist, neben den Bemerkungen von bieler, dass du eine Klasse «akt» aufrufst, die aber im Stylesheet nicht definiert ist.
__________________
Gruss
L
lazydog ist offline  
Alt 21.05.2008, 13:56  
Neuer Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 3
jocz befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von lazydog Beitrag anzeigen
Ich habe mich nicht durch das ganze HTML/PHP-Chrüsimüsi gekämpft, aber was mir aufgefallen ist, neben den Bemerkungen von bieler, dass du eine Klasse «akt» aufrufst, die aber im Stylesheet nicht definiert ist.
Ja, die ist in dem ganzen Gebastel untergegangen dort ist nur eine Backgroundfarbe definiert.

Danke für die Feedbacks.... ich muss wohl zuerst mal den Code etwas clearen??

Ich denke, das ich vielleicht ein etwas normaleres menu.php mache und in der Indexseite den GET Befehl weglasse und mit include arbeite, das macht es dann wohl leichter als Anfänger.
jocz ist offline  
Alt 21.05.2008, 13:59  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von jocz Beitrag anzeigen
ich muss wohl zuerst mal den Code etwas clearen??
.
.. und PHP-Tags benutzen, aber das weisst du sicher da du ja vor deinem Post ja "vor dem Posten lesen" gelesen hast...
cycap ist offline  
Alt 28.05.2008, 22:18  
Neuer Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 3
jocz befindet sich auf einem aufstrebenden Ast
Standard

Kann man das Thema löschen ??
jocz ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Menü funktioniert nicht,nach Serverwechsel. tawhed PHP Tipps 2008 12 19.06.2008 15:56
horizontales Menü Fritz73 Scriptbörse 9 26.05.2008 22:26
Menü das mitscrollt mristau2k5 HTML, Usability und Barrierefreiheit 3 04.06.2006 18:50
Menu navigation marcels PHP Tipps 2007 1 16.11.2005 18:47
wie gehts schöner/besser? AliceD HTML, Usability und Barrierefreiheit 1 06.09.2005 08:59
Menü Steuerung History !!! PHP Tipps 2005-2 12 23.08.2005 11:51
PHP Menü onMouseOver !!! PHP Tipps 2005-2 6 23.08.2005 00:56
Menü aus MySQL Datenbank ausgelesen PHP Tipps 2005 9 02.06.2005 17:11
PHP Menu mit 2 untermenus PHP Tipps 2005 3 23.05.2005 00:04
Menü auf php-Seite PHP Tipps 2005 20 01.02.2005 20:24
über ein menü eine datenbankabfrage --> ergebnisse auflis PHP Tipps 2004-2 1 18.11.2004 17:42
Menü Links tauschen PHP Tipps 2004 14 03.09.2004 09:17
[Erledigt] drop down menü werte weitergeben PHP Tipps 2004 3 24.08.2004 15:08
[Erledigt] Wie erstelle ich ein Upload Menü mit mehreren Menüpunkten ? PHP Tipps 2004 3 22.08.2004 14:19
[Erledigt] PopDown Menü fast fertig!! HTML, Usability und Barrierefreiheit 3 27.07.2004 00:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
text wabernd css, if (!isset($hmenu)) $hmenu=\\; function href ($seite, $menu, $hmenu) { if ($menu != $seite) echo \href=\'$seite.php\'\; if ($hmenu== $seite) echo \' class=\akt\\';

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:01 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum