Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][PHP]PHP i CSS - pisanie z dużej litery.
Forum PHP.pl > Forum > Przedszkole
conderus
Witam

Znam trochę html i css, php nie znam w ogólę ale podpatrzyłem sobie w jednym z moim serwisów www jak pobiera nazwę domeny php i wpisuje ją jako tekst, i w ten sposób chciałem zedytować sobie stopkę z Wordpress. Więc powinna to działać tak, że pobieram nazwę domeny, i robię pierwszą literę dużą, więc jak mam nazwa.pl , powinno być Nazwa.pl Napisałem coś takiego:

  1. <!-- Footer Info -->
  2. <?php define("DOMENKA", $_SERVER['HTTP_HOST']);?>
  3. <p id="footer-info">Š Copyrights 2012 |</p><a href="/"><span style="color:white ; text-transform: capitalize"><?php echo DOMENKA; ?></span></a>


i niestety nie działa to dobrze, jak mam np. tmp.domena.pl to mi daje Tmp.Domena.Pl , jak mam domena.pl to mam Domena.Pl . Można to zrobić tak żeby tylko zamieniał pierwszą literę, ale trzeba by przerobić php żeby wyciągał pierwszą literę, transformował to, i doklejał do reszty, ale nie mam pojęcia jak to zrobić, czy jest na to jakiś sposób ?
viking
W CSS ::first-letter w PHP http://php.net/manual/en/function.ucfirst.php
conderus
Dzięki za info. Nie mogę tego zrobić w CSS, to jest plik footer.php z wordpressa i nie mogę dołączać tam styli CSS na zewnątrz w tym pliku, tzn. wszystko musi być w jednej linijce jako "style" ,a nie mogę połączyć tych dwóch funkcji w jednej linijce, próbowałem to w php zrobić ale strona mi się rozjeżdża, chyba źle to zapisałem.

  1. <p id="footer-info">Š Copyrights 2012 |</p><a href="/"><span style="color:white"><?php echo string ucfirst ( string $DOMENKA; ) ?></span></a>
trueblue
Umieść ten styl w istniejącym pliku css, z którego korzysta Wordpress. Najpewniej tam, gdzie jest stylowany element footer czy też #footer-info.
viking
Przede wszystkim to jak z podstawami PHP u Ciebie? Bo skopiowałeś jak leci z opisu funkcji nawet nie patrząc na przykłady. W PHP 7 owszem, możesz deklarować typy skalarne http://php.net/manual/en/migration70.new-features.php ale nie o to chodziło patrząc na pierwszy "string".

  1. <?php echo (string) ucfirst ( DOMENKA ); ?>


Ta stała jest i tak zbędna jako że korzystasz z globalnej zmiennej $_SERVER. Co więcej HTTP_HOST jest definiowane przez użytkownika więc otworzyłeś potencjalną lukę. HTTP_HOST zwraca też port. Ty potrzebujesz SERVER_NAME

A i teraz jeszcze widzę że jest nawet błąd w wywołaniu stałej. DOMENKA nie $DOMENKA
conderus
@trueblue Przypomniałem sobie że szablon którym mam umożliwia wpisywanie globalnych klas i id dla całego wordressa, i udało mi się to zrobić, ale nie było to takie proste.

Dałem do footer.php taki kod:

  1. <p id="footer-info">? Copyrights 2012 |</p><a href="/"><span class="tescik"><?php echo DOMENKA; ?></span></a>


I dodałem takie klasy:

  1. span.tescik {
  2.  
  3. display:inline-block;
  4. color:white;
  5. }
  6. span.tescik:first-letter{
  7.  
  8. text-transform: capitalize;
  9. color: red;
  10. }


I tylko wtedy to działa, jak usunę "span.tescik " i przerzucę display do "span.tescik:first-letter" to już nic nie działa, nie wiem dlaczego tak się dzieje ale mniejsza z tym.

@viking o php wiem tylko tyle że jego kod jest pomiędzy <?php ?> i to wszystko, nie wiem jaka jest składnia, nic nie wiem muszę się nauczyć w końcu, ale sprawdziłem przykład który napisałeś i też działa jest ten same efekt. Poczytam jeszcze jak działają te stałe globalne o których piszesz, nie chcę żadnych portów odsłaniać i luk robić.

Dzięki za pomoc. Pozdrawiam.
SmokAnalog
Dlaczego wstawiasz HTTP Host w stopce? Czy ten kod będzie odpalany pod wieloma różnymi domenami? Nie lepiej to hardkodować? Pamiętaj, że HTTP Host to wartość przesłana PRZEZ KLIENTA i jeśli dotrze do Twojej strony z innej domeny, wtedy będzie tam inna wartość (o ile oczywiście nie masz przekierowań).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.