Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z dołączaniem pliku przez include()
Forum PHP.pl > Forum > Przedszkole
kubek3898
Witam, mam taki plik o nazwie header_acp.php:

  1. <?php
  2.  
  3.  
  4. error_reporting(E_ALL); // poziom raportowania, <a href="http://pl.php.net/manual/pl/function.error-reporting.php" target="_blank">http://pl.php.net/manual/pl/function.error-reporting.php</a>
  5. ini_set('display_errors', 1);
  6.  
  7. include('../kernel.php');
  8.  
  9. ?>
  10.  
  11. <!doctype html>
  12. <html lang="en">
  13.  
  14. <head>
  15. <meta charset="utf-8"/>
  16. <title>ddddd</title>
  17.  
  18. <link rel="stylesheet" href="../css/acp_style.css" type="text/css" media="screen" />
  19. <!--[if lt IE 9]>
  20. <link rel="stylesheet" href="../style/acp_style_ie.css" type="text/css" media="screen" />
  21. <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
  22. <![endif]-->
  23. <script src="../function/js/jquery-1.9.1.min.js" type="text/javascript"></script>
  24. <script src="../function/js/hideshow.js" type="text/javascript"></script>
  25. <script src="../function/js/jquery.tablesorter.min.js" type="text/javascript"></script>
  26. <script type="text/javascript" src="../function/js/jquery.equalHeight.js"></script>
  27. <script type="text/javascript">
  28. $(document).ready(function()
  29. {
  30. $(".tablesorter").tablesorter();
  31. }
  32. );
  33. $(document).ready(function() {
  34.  
  35. //When page loads...
  36. $(".tab_content").hide(); //Hide all content
  37. $("ul.tabs li:first").addClass("active").show(); //Activate first tab
  38. $(".tab_content:first").show(); //Show first tab content
  39.  
  40. //On Click Event
  41. $("ul.tabs li").click(function() {
  42.  
  43. $("ul.tabs li").removeClass("active"); //Remove any "active" class
  44. $(this).addClass("active"); //Add "active" class to selected tab
  45. $(".tab_content").hide(); //Hide all tab content
  46.  
  47. var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
  48. $(activeTab).fadeIn(); //Fade in the active ID content
  49. return false;
  50. });
  51.  
  52. });
  53. </script>
  54. <script type="text/javascript">
  55. $(function(){
  56. $('.column').equalHeight();
  57. });
  58. </script>
  59.  
  60. </head>
  61.  
  62.  
  63. <body>
  64.  
  65. <header id="header">
  66. <hgroup>
  67. <h1 class="site_title"><a href="index.html">Website Admin</a></h1>
  68. <h2 class="section_title">Dashboard</h2><div class="btn_view_site"><a href="http://www.medialoot.com">View Site</a></div>
  69. </hgroup>
  70. </header> <!-- end of header bar -->
  71.  
  72. <section id="secondary_bar">
  73. <div class="user">
  74. <p>John Doe (<a href="#">3 Messages</a>)</p>
  75. <!-- <a class="logout_user" href="#" title="Logout">Logout</a> -->
  76. </div>
  77. <div class="breadcrumbs_container">
  78. <article class="breadcrumbs"><a href="index.html">Website Admin</a> <div class="breadcrumb_divider"></div> <a class="current">Dashboard</a></article>
  79. </div>
  80. </section><!-- end of secondary bar -->
  81.  
  82. <aside id="sidebar" class="column">
  83. <form class="quick_search">
  84. <input type="text" value="Quick Search" onfocus="if(!this._haschanged){this.value=''};this._haschanged=true;">
  85. </form>
  86. <hr/>
  87. <h3>Content</h3>
  88. <ul class="toggle">
  89. <li class="icn_new_article"><a href="#">New Article</a></li>
  90. <li class="icn_edit_article"><a href="#">Edit Articles</a></li>
  91. <li class="icn_categories"><a href="#">Categories</a></li>
  92. <li class="icn_tags"><a href="#">Tags</a></li>
  93. </ul>
  94. <h3>Users</h3>
  95. <ul class="toggle">
  96. <li class="icn_add_user"><a href="#">Add New User</a></li>
  97. <li class="icn_view_users"><a href="#">View Users</a></li>
  98. <li class="icn_profile"><a href="#">Your Profile</a></li>
  99. </ul>
  100. <h3>Media</h3>
  101. <ul class="toggle">
  102. <li class="icn_folder"><a href="#">File Manager</a></li>
  103. <li class="icn_photo"><a href="#">Gallery</a></li>
  104. <li class="icn_audio"><a href="#">Audio</a></li>
  105. <li class="icn_video"><a href="#">Video</a></li>
  106. </ul>
  107. <h3>Admin</h3>
  108. <ul class="toggle">
  109. <li class="icn_settings"><a href="#">Options</a></li>
  110. <li class="icn_security"><a href="#">Security</a></li>
  111. <li class="icn_jump_back"><a href="#">Logout</a></li>
  112. </ul>
  113.  
  114. <footer>
  115. <hr />
  116. <p><strong>Copyright &copy; 2011 Website Admin</strong></p>
  117. <p>Theme by <a href="http://www.medialoot.com">MediaLoot</a></p>
  118. </footer>
  119. </aside><!-- end of sidebar -->


Teraz po dołączeniu treści do strony wygląda to tak:

http://speedy.sh/9h677/zle.bmp

a powinna wyglądać tak:

http://www.medialoot.com/preview/admin-template/

Plik kernel.php, łączący się z bazą i wyciągający dane z niej:

  1. <?php
  2.  
  3.  
  4. require_once 'config.php';
  5.  
  6. /* Tabele aplikacji w bazie */
  7. $ms_users = 'ms_users'; // Tabela z użytkownikami aplikacji
  8. $ms_settings = 'ms_settings'; // Tabela z ustawieniami aplikacji
  9. $ms_top_menu = 'ms_top_menu'; // Tabela z górnym menu aplikacji
  10. /* Tabele aplikacji w bazie */
  11.  
  12. $ms_settings_query = mysql_fetch_assoc(mysql_query("SELECT * FROM $ms_settings", $sql['connect'])); // Pobieramy dane z bazy danych
  13. $status_shop = $ms_settings_query['status_shop']; // Aplikacja włączona (1) lub wyłączona (0)
  14. $reason_off_shop = $ms_settings_query['reason_off_shop']; // Powód wyłączenia aplikacji
  15. $name_shop = $ms_settings_query['name_shop']; // Nazwa aplikacji
  16. $acp_name_shop = $ms_settings_query['acp_name_shop']; // Nazwa aplikacji panelu administracyjnego
  17. $footer_shop = $ms_settings_query['footer_shop']; // Stopka aplikacji
  18. $status_register = $ms_settings_query['status_register']; // Rejestracja włączona (1) lub wyłączona (0)
  19. $status_password = $ms_settings_query['status_password']; // Odzyskiwanie hasła włączone (1) lub wyłączone (0)
  20. $name_jquery = $ms_settings_query['name_jquery']; // Adres do biblioteki jQuery
  21. $name_favicon = $ms_settings_query['name_favicon']; // Adres do ikony aplikacji
  22. $name_css = $ms_settings_query['name_css']; // Adres do arkuszu stylów
  23. $acp_name_css = $ms_settings_query['acp_name_css']; // Adres do arkuszu stylów panelu administracyjnego
  24. $acp_name_css_ie = $ms_settings_query['acp_name_css_ie']; // Adres do arkuszu stylów panelu administracyjnego w przypadku IE
  25. $password_shop = $ms_settings_query['password_shop']; // Hasło aplikacji
  26.  
  27. define('iUSER', $_SESSION['logged']); // Przypisujemy stałą do sesji
  28.  
  29. /* Pobieramy ID użytkownika i jego login z sesji */
  30. $user_id = $_SESSION['id'];
  31. $user = $_SESSION['login'];
  32. /* Pobieramy ID użytkownika i jego login z sesji */
  33. $ms_users_query = mysql_fetch_assoc(mysql_query("SELECT * FROM `ms_users` WHERE `login`='" .$user. "'", $sql['connect'])); // Pobieramy dane z bazy danych
  34. $email_user = $ms_users_query['email']; // E - Mail użytkownika
  35. $gg_user = $ms_users_query['gg']; // Gadu - Gadu użytkownika
  36. $cash_user = $ms_users_query['cash']; // Stan portfela użytkownika
  37. $ban_user = $ms_users_query['ban']; // Ban nałożony na użytkownika (1) lub nie (0)
  38. $reason_ban = $ms_users_query['reason_ban']; // Powód bana
  39. $group_user = $ms_users_query['group']; // Grupa użytkownika (0 - zwykły użytkownik, 1 - administrator, 2 - konto Demo, 3 - właściciel
  40.  
  41. /* Górne menu aplikacji */
  42. $sql = "SELECT * FROM `$ms_top_menu` ORDER BY `id` ASC";
  43. $query = mysql_query($sql);
  44. /* Górne menu aplikacji */
  45.  
  46. ?>


O dziwo, gdy zakomentuję 'include('kernel.php');', wszystko gra!

W czym jest problem?


Michael2318
CTRL + U i lecisz po kolei z kodem html. Znajdź różnicę i od razu prościej znaleźć błąd.
kubek3898
Błąd leży po stronie PHP nie HTML.
Michael2318
Napisałeś że objawia się to w wyglądzie, za co odpowiada HTML. Mając tę róznicę w kodzie, łatwiej wyłapać błąd od strony PHP.
kubek3898
Jak już jesteśmy tacy dokładni to za wygląd odpowiada CSS nie HTML...

Wracając do tematu ja wiem gdzie leży błąd (plik kernel.php) tylko nie wiem jak go rozwiązać.
Michael2318
Chciałbym zobaczyć tą 'wyglądową' stronę bez użycia html wink.gif
Pokaż plik, gdzie includujesz ten kernel.php.
kubek3898
Nie powiedziałem, że strona może wyglądać bez HTML'a tylko że:

HTML - zawartość
CSS - wygląd
PHP - logika

to tak drogą wyjaśnienia wink.gif

Co do prośby o plik - przeczytałeś w ogóle mój pierwszy post? Bo widać nie, a dałem tam kod.
Michael2318
Sprawdzałeś czy ten kernel.php w ogóle cokolwiek zwraca (jakieś treści błędów itp.)?
Spróbuj przerzucić z niego linię 3 i 5 do pliku header_acp.php.
kubek3898
Nie mogę w taki sposób tego zrobić, ponieważ pliku kernel.php używają też inne pliki, w innych katalogach, a gdy zabiorę require_once 'config.php', to plik nie robi połączenia z bazą.

Teraz zauważyłem też to, że w pliku kernel.php na 100 % nie ma błędu, ponieważ nawet gdy wyrzuciłem z niego całą zawartość problem nadal jest.

Wychodzi na to, że problem robi się przy samym włączaniu pliku.

Czy ktoś ma jakiś pomysł? Pozdrawiam.
fiszol
Kodowanie w którymś z plików (header_acp.php / kernel.php lub tych które on includuje) ma UTF-8 BOM. Ustaw UTF-8 bez BOM.
kubek3898
We wszystkich plikach na 100 % jest kodowanie UTF - 8 (bez BOM)

@refresh

Przepraszam, że tak szybko odświeżam, ale zależy mi na rozwiązaniu problemu.

@refresh
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.