Antworten auf deine Fragen:
Neues Thema erstellen

Navigation mit Active-Link

Mausi89

*Mausi*

Guten Morgen,

ich baue gerade an der neuen Webseite für die Firma, bei der ich arbeite.
Diese Seite wird mit HTML,CSS und PHP gebaut, und hat folgende Dokumente:

- style4.css
- header.php
- menu.php
- index.php
- content.php
- footer.php
- .htaccess

Die Dokumente hab ich im Anhang, da es einfach ist ihr schaut euch die Daten gleich selber anstatt das Ich sie erkläre.

Jetzt zu meinem Problem, bei dem ich eure Hilfe bräuchte, und zwar:

- Ich möchte gerne das wenn ich z.B. auf der Seite Kontakt bin das sich der Menüpunkt dann farbig von den anderen abhebt. Derzeit ist es so das, wenn ich auf den Punkt geklickt habe, dass er wieder weiß wird.
Ich hab im Internet schon über all geschaut und hab auch einiges gefunden nur ich weiß nicht genau, wie ich das in meine Version einbauen soll.

Hier mal ein Beispiel:
Ich hab z.B. diesen "<li<?php if ($thisPage=="Kontakt") echo " id=\"aktiv\""; ?>><a href="kontakt.php">kontakt</a></li>" der kommt in meine menu.php (das weiß ich noch) nur dann müsste ich diesen "<?php $thisPage="Kontakt"; ?>" Code ich meine kontakt.php einfügen, die es aber bei mir nicht gibt, da meine Webseiten Texte alle aus der content.php in die index.php geladen werden.

Wie muss der Code heißen damit das "aktiv" bei meinem Menü funktioniert und erkannt wird, dass er sich jetzt auf der Kontakt Seite befindet und dann diesen Menüpunkt farbig hervorhebt?


Der Code oben ist nur ein Beispiel, wenn einer vielleicht einen besseren Vorschlag bezüglich des Codes hat, wäre ich im auch sehr dankbar und es wäre schon, wenn Ihr auch noch kurz zeit hättet und mir erklären würdet, warum ihr das so geschrieben habt, bin nämlich php-neuling und hab es außer bei dieser Webseite jetzt noch nie verwendet.

Daten zur Webseite .


Danke schon mal im Voraus für die mühen, falls noch fragen da sind oder ich etwas nicht richtig beschreiben habe gebe ich gerne antwort.

MfG
Mausi89
 

Duddle

Posting-Frequenz: 14µHz

AW: Navigation mit Active-Link

Bevor das Menü erzeugt wird musst du erkannt haben, welche Seite angezeigt wird. In deinem Fall kannst du einfach die content.php vor der menu.php einbinden, schließlich legst du in ersterer nur ein paar Variablen fest. Du musst dann eben nur ein paar mehr Variablen (mit der aktiven Seite) setzen.


Duddle
 

Mausi89

*Mausi*

AW: Navigation mit Active-Link

Hi,

danke für deine Antwort, aber könntest du das vielleicht genauer erklären und welche "ein paar mehr Variablen" muss ich setzten.

Ich hab jetzt noch ein kleines Problem, und zwar:
- Ich hab jetzt die Log-in-Seite mit einem Formular gebaut bzw. angefangen zu bauen, sodass sie wie folgt aus der index.php rausgeht.

<!-- content -->

<?php
include "content.php";
?>

<section id="sectiontenor">

<div id="text">

<?php
$site = array ('Home','Menü1','Menü2','Menü3',
'Menü4,'referenzen','Kontakt...','Impressum...','Login...');

if ($titel == 'Login...') {
echo "<h1>".$titel."</h1>";
echo include "login.php";
}
else {
echo "<h1>".$titel."</h1>";
echo "<p>".$text."</p>";
}
?>

</div>

</section>

<figure>
<div>

<?php
echo $bild;
?>

</div>
</figure>


<!-- / content -->

In der login.php steht Folgendes:

<form action="/formular.php" method="get">
<fieldset>
<legend>Bitte einloggen</legend>
<label for="email">E-Mail:</label>
<input type="text" name="email" id="email" class="text" />
<label for="feld2">Passwort:</label>
<input type="password" name="passwort" id="passwort" class="text" />
<input type="submit" value="Anmelden" class="submit" />
</fieldset>
</form>

Jetzt fügt er mir unter meinem Log-in-Formular eine "1" ein und ich weiß nicht warum.



Kann mir da auch einer Bitte weiter helfen?
 

Duddle

Posting-Frequenz: 14µHz

AW: Navigation mit Active-Link

könntest du das vielleicht genauer erklären und welche "ein paar mehr Variablen" muss ich setzten.
Naja, du willst ja im Menü unterscheiden können, welche Seite aufgerufen wurde. Da du in content.php schon die möglichen Fälle im switch überprüfst, kannst du dort ja auch gleich eine Variable setzen, aus der klar wird welcher Punkt im Menü aktiv ist.

Jetzt fügt er mir unter meinem Log-in-Formular eine "1" ein und ich weiß nicht warum.
Weil du das include bei
PHP:
if ($titel == 'Login...') {
echo "<h1>".$titel."</h1>";
echo include "login.php";
}
wie eine Funktion benutzt. include hat aber keinen echten Rückgabewert, es kopiert nur die Daten in der angegebenen Datei an diese Stelle. Es gibt also nichts, was du dort explizit ausgeben/echo'n musst. Der Grund für die 1 wird auch im Handbuch für include beschrieben.


Duddle
 

Mausi89

*Mausi*

AW: Navigation mit Active-Link

Danke wieder für die Antwort.

Das mit dem der Log-in-Seite ist behoben.
Das Menü werd ich nach meinem Urlaub Weihnachtsurlaub ausprobieren, wenn ich noch zeit hab, an der Webseite weiter rumzubauen.

Sollte was nicht klappen, werd ich mich wieder melden.


MfG
Mausi89

Schöne Weihnachten und an guten Rutschs neue Jahr.
 

Mausi89

*Mausi*

AW: Navigation mit Active-Link

Hallo,

hab noch mal ein problem mit der Login Seite und zwar hab ich folgenden code in meiner "index.php":

PHP:
           <?php
                // Die Variable $title wird vor der Einbindung von header.php definiert damit sie in dieser Datei verfügbar ist
                include "header.php";
            ?>     

<!-- / header -->


<!-- content -->

            <?php
                include "content.php";
            ?>
            
            <section class="sectiontenor">
                
                <div class="text">
                       
                    <?php
                        $site = array ('Home','Seite2...','Seite3...','Seite4...',
                                       'Seite5...','referenzen','Kontakt...','Impressum...','Login...','Passwort zurücksetzen...','Registrieren...');

                        if ($titel == 'Login...') {
                            echo "<h1>".$titel."</h1>";
                            include ".login.php";
                        }

                        else {
                            echo "<h1>".$titel."</h1>";
                            echo "<p>".$text."</p>";
                        }
                    ?>


                </div>
                
            </section>
                
            <figure>
                <div>
                        
                    <?php
                        echo $bild;
                    ?>
                    
                </div>
            </figure>

        
<!-- / content -->


<!-- footer -->

            <?php
                include "footer.php";
            ?>
Folgendes hab ich in meiner "login.php":

PHP:
<?PHP
    require_once("loginseite/include/membersite_config.php");

    if(isset($_POST['submitted'])){
        if($fgmembersite->Login()){
            $fgmembersite->RedirectToURL(".loginseite/login-home.php");
        }
    }
?>
      

                    <form action='<?php echo $fgmembersite->GetSelfScript(); ?>' method='post'>
        
                        <fieldset>
            
                            <legend>Login</legend>

                            <input type='hidden' name='submitted' id='submitted' value='1'/>
                            
                            <span id='error'><?php echo $fgmembersite->GetErrorMessage(); ?></span>
                            
                            <label for='username' >Nutzername:</label>
                            <input type='text' name='username' id='username' class='text2' value='<?php echo $fgmembersite->SafeDisplay("username") ?>' />
                            <span id='login_username_errorloc' class='error'> </span>
                            
                            <label for='password' >Passwort:</label>
                            <input type='password' name='password' id='password' class="text2" />
                            <span id='login_password_errorloc' class='error'></span>
                            
                            <input type='submit' name='Submit' class='submit' value='Anmelden' />
                                                        
                            <div id='short_explanation'><a href='password_reset.html' >Passwort vergessen?</a></div>
                            <div id='short_explanation'><a href='registrieren.html' >Registrieren</a></div>

                            
                        </fieldset>
        
                    </form>
                


<script type='text/javascript'>
// <![CDATA[

    var frmvalidator = new Validator("login");
    frmvalidator.EnableOnPageErrorDisplay();
    frmvalidator.EnableMsgsTogether();

    frmvalidator.addValidation("username","req","Please provide your username");
    
    frmvalidator.addValidation("password","req","Please provide the password");

// ]]>
</script>

Folgender Code aus der "index.php" soll je nachdem auf welchen Menüpunkt man klickt den Text entweder aus der "content.php" laden oder für die Log-in-Seite die Überschrift aus der "content.php" und das Formular aus der "login.php".

PHP:
                    <?php
                        $site = array ('Home','Seite2...','Seite3...','Seite4...',
                                        'Seite5...','referenzen','Kontakt...','Impressum...','Login...','Passwort  zurücksetzen...','Registrieren...');

                        if ($titel == 'Login...') {
                            echo "<h1>".$titel."</h1>";
                            include ".login.php";
                        }

                        else {
                            echo "<h1>".$titel."</h1>";
                            echo "<p>".$text."</p>";
                        }
                    ?>
Das komisch ist erst gehts und jetzt gehts nicht mehr. Ich hab einen Ordner umbenannt aber das dürfte ja normal nichts ausmachen, wenn ich in den Dateien den Pfad wieder anpasse.

Kann mir bei meinem Problem vielleicht jemand helfen.
Warum ignoriert er meinen
PHP:
include ".login.php";
befehl?

Es wird alles von meiner Webseite angezeigt nur den Inhalt der "login.php" fügt er nicht ein.

Grüße Mausi89
 

Duddle

Posting-Frequenz: 14µHz

AW: Navigation mit Active-Link

Warum hast du einen Punkt vor manchen Pfaden?

Möchtest du das aktuelle Verzeichnis ansprechen? Dann musst du das Pfadtrennzeichen einfügen, also bspw. "./login.php". Ansonsten findet er die Dateien nicht.

Oder heißen die Dateien tatsächlich so? Da dot-Files (Dateien beginnend mit .) in unixoiden Betriebssystemen eine besondere Bedeutung haben, könnte es da mglw. Probleme geben. Dann würde ich zum Umbennen raten.


Duddle
 

Mausi89

*Mausi*

AW: Navigation mit Active-Link

Hey,

der Punkt ist nur im Code davor z.B. bei ".login.php" wenn ich den Punkt weglasse dann wir mein Quellcode nur bis zu
PHP:
if ($titel == 'Login...') {
echo "<h1>".$titel."</h1>";
angezeigt.
Alles, was danach kommt, wie Bild und Footer ist weg.

Das mit dem Punkt war vorher auch nicht, da hat es ohne Punkt funktioniert.
Ich versteh auch nicht, warum er jetzt den Punkt möchte, die "login.php" lieg auf der gleichen ebene wie die "index.php".

Wenn ich das Pfadtrennzeichen einfüge, macht er mir das gleiche wie ohne Punkt.


Quellcode angebe "login.php" und "./login.php"
HTML:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    
<!-- header -->    
  
      <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript">
    <meta name="description" content="">
    <meta name="author" content="Webseite">

    <title>
        Webseite
    </title>

        <style type="text/css">
        @import "style4.css";
        </style>

        <style type="text/css" >
        @import ".../style/fg_membersite.css";
        </style>

        <script type='text/javascript'> 
        @import ".../scripts/gen_validatorv31.js";
        </script>

        <style type="text/css" >
        @import ".../anmelden/style/pwdwidget.css";
        </style>    

        <script type='text/javascript'> 
        @import ".../anmelden/scripts/pwdwidget.js";
        </script>

    </head>

    <body>
        <div class="content">

<!-- navi -->   

            <nav>

                <div class="menu">
                    <ul class="ober">
                        <li class="posi"><a href="home.html">home</a></li>

                        <li class="posi1"><a href="Seite2.html">Seite2</a></li>

                        <li class="posi1"><a href="Seite3.html">Seite3</a>
                            <ul class="unter">
                                <li class="sub5"><div class="sublink"><a href="Seite4.html">Seite4</a></div></li>
                                <li class="sub6"><div class="sublink"><a href="Seite5.html">Seite5</a></div></li>
                                <li class="sub7"><div class="sublink"><a href="Seite6.html">Seite6</a></div></li>
                            </ul>
                        </li>

                        <li class="posi1"><a href="referenzen.html">referenzen</a></li>

                        <li class="posi1"><a href="kontakt.html">kontakt</a>
                            <ul class="unter">
                                <li class="sub9"><div class="sublink"><a href="kontakt.html">kontakt</a></div></li>
                                <li class="sub10"><div class="sublink"><a href="impressum.html">impressum</a></div></li>
                                <li class="sub11"><div class="sublink"><a href="login.html">login</a></div></li>
                            </ul>
                        </li>
                    </ul>
                </div>    

            </nav>  

<!-- / navi -->

<!-- / header -->

<!-- content -->

            <section class="sectiontenor">
  
                <div class="text">
  
                    <h1>Login...</h1>
Quellcode angebe ".login.php"
HTML:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    
<!-- header -->    
  
      <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript">
    <meta name="description" content="">
    <meta name="author" content="Webseite">

    <title>
        Webseite
    </title>

        <style type="text/css">
        @import "style4.css";
        </style>

        <style type="text/css" >
        @import ".../style/fg_membersite.css";
        </style>

        <script type='text/javascript'> 
        @import ".../scripts/gen_validatorv31.js";
        </script>

        <style type="text/css" >
        @import ".../anmelden/style/pwdwidget.css";
        </style>    

        <script type='text/javascript'> 
        @import ".../anmelden/scripts/pwdwidget.js";
        </script>

    </head>

    <body>
        <div class="content">

<!-- navi -->   

            <nav>

                <div class="menu">
                    <ul class="ober">
                        <li class="posi"><a href="home.html">home</a></li>

                        <li class="posi1"><a href="Seite2.html">Seite2</a></li>

                        <li class="posi1"><a href="Seite3.html">Seite3</a>
                            <ul class="unter">
                                <li class="sub5"><div  class="sublink"><a  href="Seite4.html">Seite4</a></div></li>
                                <li class="sub6"><div  class="sublink"><a  href="Seite5.html">Seite5</a></div></li>
                                <li class="sub7"><div  class="sublink"><a  href="Seite6.html">Seite6</a></div></li>
                            </ul>
                        </li>

                        <li class="posi1"><a href="referenzen.html">referenzen</a></li>

                        <li class="posi1"><a href="kontakt.html">kontakt</a>
                            <ul class="unter">
                                <li class="sub9"><div  class="sublink"><a  href="kontakt.html">kontakt</a></div></li>
                                <li class="sub10"><div  class="sublink"><a  href="impressum.html">impressum</a></div></li>
                                <li class="sub11"><div  class="sublink"><a  href="login.html">login</a></div></li>
                            </ul>
                        </li>
                    </ul>
                </div>    

            </nav>  

<!-- / navi -->

<!-- / header -->

<!-- content -->

            <section class="sectiontenor">
  
                <div class="text">
  
                    <h1>Login...</h1>
 </div>

            </section>

            <figure>
                <div>

                    <img style="margin: 0 0 0 -110px" src="Bilder/login_1.png" alt="Login">                    
                </div>
            </figure>


<!-- / content -->

<!-- footer -->

            <footer>
                <address>
                    <ul class="posi2">
                        <li>Firma</li>
                        <li>Straße</li>
                        <li>Stadt</li>
                    </ul>
                    <ul class="posi3">
                        <li>Tel.: </li>
                        <li>Fax: </li>
                        <li>&nbsp;</li>
                    </ul>
                    <ul class="posi3">
                        <li>E-Mail: </li>
                        <li>&nbsp;</li>
                        <li>&nbsp;</li>
                    </ul>
                </address>
            </footer> 

<!-- / footer --> 

        </div>
    </body>
    

</html>
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: Navigation mit Active-Link

Dann ist aber irgendwas anderes komplett kaputt. Es macht überhaupt keinen Sinn, dass ein nicht im Dateinamen vorhandenes Zeichen urplötzlich die Funktionalität sicherstellt. Wie bist du darauf gekommen, einfach einen Punkt davor einzufügen?!
Das einzige was hier passiert ist, dass er die Datei nicht findet, also nicht einbindet, und daher darin passierende Fehler übergeht.

Du solltest die Fehlerausgabe auf's Maximum drehen, sonst fängst du an der falschen Stelle an zu debuggen:


Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.450
Mitglieder
67.556
Neuestes Mitglied
Ggirl
Oben