PHP w tekście CSS Menu

Jeśli posiadasz wiedzę, którą chcesz się podzielić z innymi, to ten dział jest dla Ciebie.
boryspower
Początkujący
Początkujący
Posty: 5
Rejestracja: 16 maja 2016, o 11:28

PHP w tekście CSS Menu

Post autor: boryspower »

Witam,

Chciałbym by przycisk z CSS Menu miał dynamiczny tekst zawierający nazwę zalogowanego użytkownika.

Próbowałem zamiast tekstu w parametrach wpisać fragment kodu PHP, w stylu <?php echo $_SESSION['username']; ?> jednak to nie działa i strona się wysypuje... Da się to jakoś zrobić?

Pozdrawiam
Przemysław Jedynowicz
Na_razie2
Początkujący
Początkujący
Posty: 44
Rejestracja: 7 sie 2016, o 21:48

Re: PHP w tekście CSS Menu

Post autor: Na_razie2 »

Ten kod do obiektu Html ( <> HTML ).

Kod: Zaznacz cały

<?php
if (session_id() == "")
{
   session_start();
}

if (isset($_SESSION['username']))
{
   $text_name=$_SESSION['username'];
}
else
{
   $text_name='Not logged in';
}
?>
We właściwościach Html Propeties dla "Type" - Start of Page (początek strony).
W CSS Menu zamiast np. Item 1 wklej

Kod: Zaznacz cały

<?php echo$text_name;?>
dokładnie w takiej postaci (spacja po <?php,bez spacji pomiędzy echo a $tekst_name)
Strona opublikowana jako php (rozszerzenie pliku php) na serwerze z obsługą php.
Przykład (wwb ver.12) w załączniku

ps.powinno zadziałać (może zależeć od serwera), jeśli zmianna w sesji to username, jeśli zmieniałeś to podstaw swoją.
Jeśli np.chcesz wyświetlać całą nazwę użytkownika możesz zmienić na fullname.
Załączniki
przykladzik.zip
(1.94 KiB) Pobrany 610 razy
boryspower
Początkujący
Początkujący
Posty: 5
Rejestracja: 16 maja 2016, o 11:28

Re: PHP w tekście CSS Menu

Post autor: boryspower »

Dzięki za odpowiedź. Co ciekawe to sam Pablo odpisał mi, że nie da się tego zrobić :) Ale Polacy wszystko potrafią ;)

Ogólnie problem w tym, że edytor zamienia wszystkie spacje na &nbsp;

Przetestowałem Twoją propozycję i niestety nie zawsze dobrze działa - na Chrome przycisk wyświetla się jako link tekstowy, za to w IE przy pierwszym załadowaniu strony wyświetlił się jako link tekstowy, a po przeładowaniu strony był wyświetlany już jako button menu... Pozostaje chyba zrobienie własnego menu w obiekcie HTML (o ile to dobrze zadziała)

Pozdrawiam.
Na_razie2
Początkujący
Początkujący
Posty: 44
Rejestracja: 7 sie 2016, o 21:48

Re: PHP w tekście CSS Menu

Post autor: Na_razie2 »

Szukaj przyczyny.
U mnie działa, sprawdziłem na Chromie(win7/64), IE11(win7/64), FF (XP),ChromiumPortable(XP) , a nawet na IE8(XP).
Nawet podmiana odnośnika do strony działa (w zależności gdy zalogowany/niezalogowany).

Testowane na localhoście (php 5.4.10)

ps. w jakim celu to wyświetlanie nazwy użytkownika w Menu?
boryspower
Początkujący
Początkujący
Posty: 5
Rejestracja: 16 maja 2016, o 11:28

Re: PHP w tekście CSS Menu

Post autor: boryspower »

Chcę zrobić przycisk, który przy niezalogowanym userze wyświetli "logowanie|rejestracja" a przy zalogowanym wyświetli nazwę użytkownika, po kliknięciu w którą rozwinie menu z opcjami w stylu "Edytuj profil", "coś tam", "Wyloguj".
Na_razie2
Początkujący
Początkujący
Posty: 44
Rejestracja: 7 sie 2016, o 21:48

Re: PHP w tekście CSS Menu

Post autor: Na_razie2 »

Bardziej zaawansowane to chyba ręcznie-edycja w notatniku co może być szybsze jeśli pod-stronek kilka lub przerobienie/przetransferowanie całego menu w php i do <>HTML.
Przeróbka w notatnikujako kod PHP (lub bezpoś. w <>HTML) daje na pewno większe możliwości w tym ukrywanie za IF-ami niektórych przycisków, a pokazywanie innych w zależności od stanu Logowania.
tu przykład sklecony doraźnie [strona nie działa]
Sprawdź jak to idzie na Chromym
ODPOWIEDZ