Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][PHP]W jaki sposób bardziej elegancko umieścić CSS w pliku PHP.
Forum PHP.pl > Forum > Przedszkole
Raven1122
Witam, pisze sobie taki plik, który wyświetla błędy w razie problemów na stronie, i mam taki kod:

  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3. require_once("classes/pdo.class.php");
  4. $db = new mysql();
  5. $db->connect();
  6.  
  7. //Getting site language
  8. $stmt = $db->db->prepare("SELECT lang FROM xxx");
  9. $stmt->execute();
  10. $row = $stmt->fetch();
  11. if(is_file("dlang/".$row['lang']."/language.php")){
  12. //Picking languagepack name from DB
  13. //Including Language pack
  14. require_once("/lang/".$row['lang']."/language.php");
  15.  
  16. //Getting client IP
  17. $ip = $_SERVER['REMOTE_ADDR'];
  18. //Checking if IP isn't banned
  19. $stmt = $db->db->prepare("SELECT * FROM xxx WHERE ip = '$ip'");
  20. $stmt->execute();
  21. $count = $stmt->rowCount();
  22. if($count == 0){
  23. //If ip isn't banned
  24. //This way of banning wont work for IP's that changes.
  25. //That's why we will make ban for account too.
  26.  
  27. }
  28. else{
  29. //If ip is banned
  30. echo str_replace("{IP}", $ip, $lang['banneduser']);
  31. }
  32. }
  33. else{
  34. echo "<style type='text/css'>
  35. body{
  36. background:#f2f2f2;
  37. color:#000000;
  38. }
  39. #error{
  40. background:#ffffff;
  41. width:360px;
  42. margin:0 auto;
  43. padding:20px;
  44. }
  45. #errorheader{
  46. background:#e2e2e2;
  47. width:320px;
  48. height:22px;
  49. font-weight:bold;
  50. padding:3px 20px 3px 20px;
  51. margin-bottom:20px;
  52. }
  53.  
  54. </style>";
  55. echo("
  56. <div id='error'>
  57. <div id='errorheader'>Language pack is not installed! <span style='font-size:9px; color:#ff0000; float:right; padding-top:6px; font-family:Tahoma;'>[Issue ID: 1000]</span></div>
  58. There's no ".$row['lang']." language pack installed. Check if <b>".$_SERVER['DOCUMENT_ROOT']."lang/".$row['lang']."/language.php</b> exists. <br /><br /><center><u>For more help visit our forum or wiki.</u></center></div>");
  59. }
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. ?>


a dokladniej chodzi mi o ta czesc:

  1. else{
  2. echo "<style type='text/css'>
  3. body{
  4. background:#f2f2f2;
  5. color:#000000;
  6. }
  7. #error{
  8. background:#ffffff;
  9. width:360px;
  10. margin:0 auto;
  11. padding:20px;
  12. }
  13. #errorheader{
  14. background:#e2e2e2;
  15. width:320px;
  16. height:22px;
  17. font-weight:bold;
  18. padding:3px 20px 3px 20px;
  19. margin-bottom:20px;
  20. }
  21.  
  22. </style>";
  23. echo("
  24. <div id='error'>
  25. <div id='errorheader'>Language pack is not installed! <span style='font-size:9px; color:#ff0000; float:right; padding-top:6px; font-family:Tahoma;'>[Issue ID: 1000]</span></div>
  26. There's no ".$row['lang']." language pack installed. Check if <b>".$_SERVER['DOCUMENT_ROOT']."lang/".$row['lang']."/language.php</b> exists. <br /><br /><center><u>For more help visit our forum or wiki.</u></center></div>");
  27. }


Jak mozna umiescic ten kod CSS tak, aby ladnie wygladalo i bylo poprawnie wykonane?

pehaperowiec
Nie mieszaj PHP z HTML/CSS -> stwórz jakiś system szablonów
toffiak
Kod css umieszcza się z zewnętrznym pliku/plikach, co do mieszania html-a z php to odpowiedź masz wyżej.
Raven1122
do tego daze tylko ze powiedzmy ze zanim includuje szablon to sprawdza czy istnieje paczka z jezykiem, czy szablon istnieje, czy uzytkownik nie jest zbanowany, i do tych wiadomosci potrzebuje css aby nie bylo na "sucho" wyswietlane tylko jakos ozdobione
b4rt3kk
A to w jakim celu?

  1. header('Content-Type: text/html; charset=utf-8');


Zapisz css w pliku z rozszerzeniem css i dołącz do nagłówka strony w zwykłym HTML, tak jak i kodowanie. Nie ma potrzeby robienia tego przez PHP. Tak będzie i poprawnie i optymalnie.

Raven1122
w celu ustawieniia polskich znakow dla komunikatow
b4rt3kk
Cytat(Raven1122 @ 7.01.2013, 17:51:56 ) *
w celu ustawieniia polskich znakow dla komunikatow


W tym celu daj nagłówek HTML.

  1. <!DOCTYPE html>
  2. <html lang="pl">
  3. <title>Tytul</title>
  4. <meta charset="utf-8" />
  5. <link rel="Stylesheet" type="text/css" href="styl.css" />
  6. </head>
Mgorka
Może lepiej zacznij używać smarty. Dość przyjemnie na tym się tworzy systemy szablonów
Raven1122
ja w was ludzie nie wierze haha.gif po co mam dodawac html do skryptu sprawdzajacego czy uzytkownik ma bana, czy paczka jezykowa istnieje i czy istnieje szablon jezeli spelnia wszystkie warunki to includuje caly szablon gdzie dopiero znajduje sie HTML. Potrzebuje tylko css do wystylowania klauzuli else jezeli okarze sie ze czegos brakuje
b4rt3kk
Cytat(Raven1122 @ 7.01.2013, 18:44:34 ) *
ja w was ludzie nie wierze haha.gif po co mam dodawac html do skryptu sprawdzajacego czy uzytkownik ma bana, czy paczka jezykowa istnieje i czy istnieje szablon jezeli spelnia wszystkie warunki to includuje caly szablon gdzie dopiero znajduje sie HTML. Potrzebuje tylko css do wystylowania klauzuli else jezeli okarze sie ze czegos brakuje


To po co poprzez php dodajesz do nagłówka kodowanie? Po co w kodzie dodajesz styl? Od tego właśnie masz HTML HEAD. Może być tak jak masz teraz, ale jeśli chcesz by było optymalnie dodaj normalny HEAD.
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.