Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP] Lista rozwijana, jak dodać dynamiczną zmianę
-kubek3898-
post
Post #1





Goście







Obecnie tworzę Panel administracyjny dla mojego małego skryptu. Problem w tym, że chcę, by zawierał on listę rozwijaną np. gdy jestem, na stronie głównej panelu:

Panel administracyjny -> Kokpit

, lub gdy przeglądam wszystkie konta użytkowników:

Panel administracyjny -> Wszystkie konta

Mam nadzieję, że wiecie o co chodzi. Przejdźmy jednak do sedna. Jak zrobić, by druga część (gdyż pierwsza czyli 'Panel administracyjny', jest wciąż taka sama) zmieniała się dynamicznie wraz ze zmianą strony? Przykładowo header.php, który dołącza wszystkie pliki css, js itp. wygląda tak:

  1. // Wcześniejszy kod
  2.  
  3. <div class="breadcrumbs_container">
  4. <article class="breadcrumbs"><a href="index.php">Panel administracyjny</a> <div class="breadcrumb_divider"></div> <a href="index.php" class="current">TUTAJ CHCĘ, ŻEBY TREŚĆ SIĘ DYNAMICZNIE ZMIENIAŁA</a></article>
  5. </div>


Mam jedną swoją teorię, która może i działa ale nie jest zbyt optymalna (dołączanie pliku ze zmienną i jej zawartością).

Mam nadzieję, że wiecie o co chodzi i mi pomożecie, pozdrawiam.
Go to the top of the page
+Quote Post
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Odpowiedź już masz w kodzie. breadcrumbs
Go to the top of the page
+Quote Post
-kubek3898-
post
Post #3





Goście







Tak tylko, że tam pojawia mi się adres czyli np. Panel admina -> blabla/admin/skrypt/blabla, a ja chcę: Panel admina -> Licencja
Go to the top of the page
+Quote Post
!*!
post
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


To podmień link na nazwę.
Go to the top of the page
+Quote Post
-kubek3898-
post
Post #5





Goście







No ale... jak? Zmienną $_SERVER? Czy po prostu zrobić coś takiego jak:

$blabla = "Licencja";

, a w klasie:

$this->breadcrumbs .= "$blabla";

Sorry, za moją głupotę, ale klas jeszcze bardzo nie ogarniam, a bardzo mi zależy na tej liście nawigacyjnej.

Pozdrawiam.
Go to the top of the page
+Quote Post
!*!
post
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


To już zależy od Ciebie. Może to być zmienna, w końcu skądś musisz brać informacje że tu i teraz jest do pokazania licencja. Choć można zrobić to jeszcze inaczej.

  1. $breadcrumbs = null;
  2. switch($_GET['page'])
  3. {
  4. case 'strona':
  5. $breadcrumbs = 'strona';
  6. break;
  7. case 'licencja'
  8. $breadcrumbs = 'Licencja';
  9. break;
  10. }
  11. if(isset($breadcrumbs))
  12. {
  13. echo 'Panel >'.$breadcrumbs;
  14. }
Go to the top of the page
+Quote Post
-kubek3898-
post
Post #7





Goście







W takim wypadku mam kolejne pytanie (IMG:style_emoticons/default/smile.gif) . Jak przemieszczać się pomiędzy poszczególnymi stronami metodą $_GET? Bo jeśli bym to zrozumiał, to już sobie bez problemu poradził.

Żeby było bez wątpliwości o co mi chodzi:

localhost/admin/license.php - NIE
localhost/admin/index.php?page=license - TAK



Go to the top of the page
+Quote Post
!*!
post
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Tak jak wyżej, tylko prócz okruchów dodajesz np.
  1. include_once 'strona.php';
przed break.
Go to the top of the page
+Quote Post
-kubek3898-
post
Post #9





Goście







Dobra w dużej części (jakieś 3/4) uporałem się z problemem (IMG:style_emoticons/default/wink.gif) . W zasadzie już zrobiłem tą listę nawigacyjną, oraz dodałem $_GET['page']. Teraz mam inny problem.

Część pliku admin_header.php dołączający arkusze stylów, pliki .js itp. itd oraz mający instrukcję switch() wygląda tak:

  1. <?php
  2.  
  3.  
  4. require "../core.php"; // Tym plikiem robię połączenie z bazą
  5.  
  6. $breadcrumbs = '';
  7.  
  8. switch($_GET['page'])
  9. {
  10. case 'license':
  11. {
  12. $breadcrumbs = 'Licencja';
  13. require_once "license.php";
  14. break;
  15. }
  16. }


A sam plik license.php wygląda tak:

  1. <?php
  2.  
  3. //require "admin_header.php"; // Zakomentowałem, ponieważ robię się tak jakby pętla...
  4.  
  5. $licencja_do_kiedy = 1559833422; // Taka prowizorka...
  6. $licencja = time();
  7.  
  8. ?>
  9.  
  10. <section id="main" class="column">
  11. <h4 class="alert_info">Licencja wygasa: <?php if($licencja >= $licencja_do_kiedy) echo "Licencja wygasła"; else echo date("d.m.Y, H:i", $licencja_do_kiedy) ?></h4>
  12. </section>
  13. </body>
  14. </html>


Problem w tym, że gdy kliknę napis Licencja z poziomu index.php, to faktycznie przenosi, wszystko OK, ale cały styl idzie w las i wygląda to bardzo pokracznie... Mam swoją teorię, ponieważ include() i require() w miejscu, którym są użyte wklejają tak jakby dany plik i to wszystko psuje. Czy mógłby ktoś (a raczej tylko Pan !*!, bo tylko on był chętny pomóc) podpowiedzieć co zrobić, by styl się nie rokraczał. Jeśli potrzeba zapodam wszystkie pliki skryptu.

Go to the top of the page
+Quote Post
!*!
post
Post #10





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


link do stylu css ustaw w index.php, wtedy wszystko co ładujesz w nim obejmie ten styl.
Go to the top of the page
+Quote Post
-kubek3898-
post
Post #11





Goście







Dzięki za odpowiedź.

Zrobiłem tak:

  1. <?php
  2.  
  3. $breadcrumbs = '';
  4.  
  5. switch($_GET['page'])
  6. {
  7. case 'index':
  8. {
  9. $breadcrumbs = 'Kokpit';
  10. //require_once "index.php";
  11. break;
  12. }
  13. case 'add_cash':
  14. {
  15. $breadcrumbs = 'Dodaj wpłatę';
  16. require_once "add_cash.php";
  17. break;
  18. }
  19. case 'edit_cash':
  20. {
  21. $breadcrumbs = 'Edytuj wpłatę';
  22. require_once "edit_cash.php";
  23. break;
  24. }
  25. case 'statistics':
  26. {
  27. $breadcrumbs = 'Statystyki';
  28. require_once "statistics.php";
  29. break;
  30. }
  31. case 'add_user':
  32. {
  33. $breadcrumbs = 'Dodaj nowego użytkownika';
  34. require_once "add_user.php";
  35. break;
  36. }
  37. case 'list_users':
  38. {
  39. $breadcrumbs = 'Lista użytkowników';
  40. require_once "list_users.php";
  41. break;
  42. }
  43. case 'profile':
  44. {
  45. $breadcrumbs = 'Twój profil';
  46. require_once "profile.php";
  47. break;
  48. }
  49. case 'settings':
  50. {
  51. $breadcrumbs = 'Ustawienia';
  52. require_once "settings.php";
  53. break;
  54. }
  55. case 'security':
  56. {
  57. $breadcrumbs = 'Bezpieczeństwo';
  58. require_once "security.php";
  59. break;
  60. }
  61. case 'license':
  62. {
  63. $breadcrumbs = 'Licencja';
  64. require_once "license.php";
  65. break;
  66. }
  67. case 'logout':
  68. {
  69. $breadcrumbs = 'Wyloguj';
  70. require_once "logout.php";
  71. break;
  72. }
  73. case 'visit':
  74. {
  75. $breadcrumbs = 'Odwiedziny';
  76. require_once "visit.php";
  77. break;
  78. }
  79. case 'settlement':
  80. {
  81. $breadcrumbs = 'Rozliczenia';
  82. require_once "settlement.php";
  83. break;
  84. }
  85. case 'logs':
  86. {
  87. $breadcrumbs = 'Logowania';
  88. require_once "logs.php";
  89. break;
  90. }
  91. }


dołączając powyższy kod na sam koniec pliku index.php.

I można powiedzieć, że prawie działa! Styl się nie rozsypuje (admin_header.php całkowicie usunąłem), lista działa. No może prawie... jak umieszczę kod na samym końcu to wtedy zmienna $breadcrumbs, nie jest odczytywana i nic się w liście nie pojawia. Jak dam na sam początek, to działa, ale styl się sypie. Teraz moje pytanie. Czy da się, zrobić tak, by zmienna $breadcrumbs przyjmowała wartość na końcu kodu, ale można ją było wywołać na początku?

Ten post edytował kubek3898 5.02.2013, 17:52:35
Go to the top of the page
+Quote Post
!*!
post
Post #12





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


index.php

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <link rel='stylesheet' href='/css/style.css'/>
  6.  
  7. <?php
  8.  
  9. switch(){ //...


I nie ma się co sypać.
Go to the top of the page
+Quote Post
-kubek3898-
post
Post #13





Goście







Sypie się! Sam zobacz (IMG:style_emoticons/default/biggrin.gif)

Tak wygląda rozsypany (dodałem kod właśnie po arkuszu styli):

http://img843.imageshack.us/img843/6834/nieng.png

a tak wygląda poprawnie (lecz $breadcrumbs nie działa):

http://img716.imageshack.us/img716/7669/taks.png

Go to the top of the page
+Quote Post
!*!
post
Post #14





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Ciekawy design, co to jest za panel, jakiś gotowiec?
Pokaż jeszcze jak to dodałeś, oraz co znajduje się w tych plikach które includujesz? Może masz w nich jakiś plik css lub jakiś div nie jest domykany?
Go to the top of the page
+Quote Post
-kubek3898-
post
Post #15





Goście







Gotowiec panelu administracyjnego, był czysty HTML, przerabiam go pod PHP (http://medialoot.com/item/html5-admin-template/).

Tak wygląda index.php:

  1. <?php
  2.  
  3.  
  4. require "../core.php";
  5.  
  6. ?>
  7.  
  8. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  9. <html xmlns="http://www.w3.org/1999/xhtml">
  10.  
  11. <head>
  12. <script type="text/javascript" src="../js/jquery-1.9.0.min.js"></script>
  13. <script type="text/javascript" src="../js/hideshow.js"></script>
  14. <script type="text/javascript" src="../js/jquery.tablesorter.min.js"></script>
  15. <script type="text/javascript" src="../js/jquery.equalHeight.js"></script>
  16. <script type="text/javascript">
  17. $(document).ready(function()
  18. {
  19. $(".tablesorter").tablesorter();
  20. }
  21. );
  22. $(document).ready(function() {
  23.  
  24. //When page loads...
  25. $(".tab_content").hide(); //Hide all content
  26. $("ul.tabs li:first").addClass("active").show(); //Activate first tab
  27. $(".tab_content:first").show(); //Show first tab content
  28.  
  29. //On Click Event
  30. $("ul.tabs li").click(function() {
  31.  
  32. $("ul.tabs li").removeClass("active"); //Remove any "active" class
  33. $(this).addClass("active"); //Add "active" class to selected tab
  34. $(".tab_content").hide(); //Hide all tab content
  35.  
  36. var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
  37. $(activeTab).fadeIn(); //Fade in the active ID content
  38. return false;
  39. });
  40.  
  41. });
  42. </script>
  43. <script type="text/javascript">
  44. $(function(){
  45. $('.column').equalHeight();
  46. });
  47. </script>
  48.  
  49. <link rel="shortcut icon" href="" />
  50. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  51. <meta name="description" content="ESS - Elektroniczny dziennik składek" />
  52. <meta name="keywords" content="ESS, kubek3898" />
  53. <meta name="author" content="kubek3898" />
  54. <title>ESS - Panel administracyjny</title>
  55.  
  56. <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" />
  57. <!--[if lt IE 9]>
  58. <link rel="stylesheet" href="../css/ie.css" type="text/css" media="screen" />
  59. <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
  60. <![endif]-->
  61. </head>
  62. <body>
  63.  
  64. <header id="header">
  65. <hgroup>
  66. <h1 class="site_title"><a href="index.php">ESS</a></h1>
  67. <h2 class="section_title"><?php if(isset($breadcrumbs)) echo $breadcrumbs; ?></h2><div class="btn_view_site"><a href="../index.php">Strona główna</a></div>
  68. </hgroup>
  69. </header> <!-- end of header bar -->
  70.  
  71. <section id="secondary_bar">
  72. <div class="user">
  73. <p>Admin (<a href="#">X Wiadomości</a>)</p>
  74. <!-- <a class="logout_user" href="#" title="Logout">Logout</a> -->
  75. </div>
  76. <div class="breadcrumbs_container">
  77. <article class="breadcrumbs"><a href="?page=index">Panel administracyjny</a> <div class="breadcrumb_divider"></div> <a href="?page=<?php echo $breadcrumbs; ?>" class="current"><?php if(isset($breadcrumbs)) echo $breadcrumbs; ?>
  78. </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="Szukaj" onfocus="if(!this._haschanged){this.value=''};this._haschanged=true;">
  85. </form>
  86. <hr/>
  87. <h3>System składek</h3>
  88. <ul class="toggle">
  89. <li class="icn_new_article"><a href="?page=add_cash">Dodaj wpłatę</a></li>
  90. <li class="icn_edit_article"><a href="?page=edit_cash">Edytuj / usuń wpłatę</a></li>
  91. <li class="icn_categories"><a href="?page=statistics">Statystyki wpłat</a></li>
  92. </ul>
  93. <h3>Użytkownicy</h3>
  94. <ul class="toggle">
  95. <li class="icn_add_user"><a href="?page=add_user">Dodaj nowego użytkownika</a></li>
  96. <li class="icn_view_users"><a href="?page=list_users">Lista użytkowników</a></li>
  97. <li class="icn_profile"><a href="?page=profile">Twój profil</a></li>
  98. </ul>
  99. <h3>Admin</h3>
  100. <ul class="toggle">
  101. <li class="icn_settings"><a href="?page=settings">Ustawienia</a></li>
  102. <li class="icn_security"><a href="?page=security">Bezpieczeństwo</a></li>
  103. <li class="icn_tags"><a href="?page=license">Licencja</a></li>
  104. <li class="icn_jump_back"><a href="?page=logout">Wyloguj</a></li>
  105. </ul>
  106. <h3>Statystyki i logowania</h3>
  107. <ul class="toggle">
  108. <li class="icn_photo"><a href="?page=visit">Odwiedziny</a></li>
  109. <li class="icn_folder"><a href="?page=settlement">Rozliczenia</a></li>
  110. <li class="icn_video"><a href="?page=logs">Logowania</a></li>
  111. </ul>
  112.  
  113. <footer>
  114. <hr />
  115. <p><strong>ESS - Elektroniczny dziennik składek ver. 0.0.1 &copy; kubek3898</strong></p>
  116. </footer>
  117. </aside><!-- end of sidebar -->
  118. <?php
  119.  
  120. $breadcrumbs = '';
  121.  
  122. switch($_GET['page'])
  123. {
  124. case 'index':
  125. {
  126. $breadcrumbs = 'Kokpit';
  127. //require_once "index.php";
  128. break;
  129. }
  130. case 'add_cash':
  131. {
  132. $breadcrumbs = 'Dodaj wpłatę';
  133. require_once "add_cash.php";
  134. break;
  135. }
  136. case 'edit_cash':
  137. {
  138. $breadcrumbs = 'Edytuj wpłatę';
  139. require_once "edit_cash.php";
  140. break;
  141. }
  142. case 'statistics':
  143. {
  144. $breadcrumbs = 'Statystyki';
  145. require_once "statistics.php";
  146. break;
  147. }
  148. case 'add_user':
  149. {
  150. $breadcrumbs = 'Dodaj nowego użytkownika';
  151. require_once "add_user.php";
  152. break;
  153. }
  154. case 'list_users':
  155. {
  156. $breadcrumbs = 'Lista użytkowników';
  157. require_once "list_users.php";
  158. break;
  159. }
  160. case 'profile':
  161. {
  162. $breadcrumbs = 'Twój profil';
  163. require_once "profile.php";
  164. break;
  165. }
  166. case 'settings':
  167. {
  168. $breadcrumbs = 'Ustawienia';
  169. require_once "settings.php";
  170. break;
  171. }
  172. case 'security':
  173. {
  174. $breadcrumbs = 'Bezpieczeństwo';
  175. require_once "security.php";
  176. break;
  177. }
  178. case 'license':
  179. {
  180. $breadcrumbs = 'Licencja';
  181. require_once "license.php";
  182. break;
  183. }
  184. case 'logout':
  185. {
  186. $breadcrumbs = 'Wyloguj';
  187. require_once "logout.php";
  188. break;
  189. }
  190. case 'visit':
  191. {
  192. $breadcrumbs = 'Odwiedziny';
  193. require_once "visit.php";
  194. break;
  195. }
  196. case 'settlement':
  197. {
  198. $breadcrumbs = 'Rozliczenia';
  199. require_once "settlement.php";
  200. break;
  201. }
  202. case 'logs':
  203. {
  204. $breadcrumbs = 'Logowania';
  205. require_once "logs.php";
  206. break;
  207. }
  208. }
  209.  
  210. ?>


Tak wygląda core.php

  1. <?php
  2.  
  3.  
  4. require_once "config.php"; // Wiem nie opłaca się dla włączania 1 pliku, ale później tutaj będzie dalszy kod...
  5.  
  6. ?>


oraz config.php

  1. <?php
  2.  
  3. $db['host'] = '127.0.0.1';
  4. $db['user'] = 'root';
  5. $db['pass'] = '';
  6. $db['select'] = 'test';
  7.  
  8. $db['connect'] = mysql_connect($db['host'], $db['user'], $db['pass'])
  9. or die('Połączenie z bazą danych nie powiodło się. Sprawdź plik <strong>config.cfg</strong>');
  10.  
  11. mysql_select_db($db['select'], $db['connect'])
  12. or die('Wybór bazy danych nie powiódł się. Sprawdź plik <strong>config.cfg</strong>');
  13.  
  14. @mysql_query("SET NAMES utf8", $db['connect']);
  15. @mysql_query("SET CHARACTER SET utf8", $db['connect']);
  16. @mysql_query("SET collation_connection = utf8_general_ci", $db['connect']);
  17. @mysql_query("set character_set_connection=utf8", $db['connect']);
  18. @mysql_query("set character_set_client=utf8", $db['connect']);
  19. @mysql_query("set character_set_database=utf8", $db['connect']);
  20. @mysql_query("set character_set_results=utf8", $db['connect']);
  21. @mysql_query("set character_set_server=utf8", $db['connect']);
  22. @mysql_query("set collation_database=utf8_general_ci", $db['connect']);
  23. @mysql_query("set collation_server=utf8_general_ci", $db['connect']);
  24.  
  25. ?>


No i przykładowy plik logs.php:

  1. <?php
  2. /*
  3. $row = mysql_fetch_assoc(mysql_query("SELECT * FROM logs", $db['connect']));
  4.  
  5. $_SESSION['id'] = $row['id'];
  6. $_SESSION['ip'] = $row['ip'];
  7. $_SESSION['login'] = $row['login'];
  8. $_SESSION['data'] = date("d.m.Y, H:i", $row['data']);
  9. $_SESSION['udane'] = $row['udane'];
  10. */
  11. ?>
  12.  
  13. <section id="main" class="column">
  14.  
  15. <h4 class="alert_info">Poniżej znajdują się logi panelu administracyjnego, rejestrujące każdą akcję administracyjną.</h4>
  16.  
  17. <article class="module width_full">
  18. </article>
  19. <div class="clear"></div>
  20. </div>
  21. </article><!-- end of stats article -->
  22.  
  23. <article class="module width_3_quarter">
  24. <header><h3 class="tabs_involved">Logowania</h3>
  25. </header>
  26.  
  27. <div class="tab_container">
  28. <div id="tab1" class="tab_content">
  29. <table class="tablesorter" cellspacing="0">
  30. <thead>
  31. <tr>
  32. <th>ID</th>
  33. <th>IP</th>
  34. <th>Login</th>
  35. <th>Data</th>
  36. <th>Udane</th>
  37. <th>Akcje</th>
  38. </tr>
  39. </thead>
  40. <tbody>
  41. <tr>
  42. <td><?php echo $_SESSION['id'] ?></td>
  43. <td><?php echo $_SESSION['ip'] ?></td>
  44. <td><?php echo $_SESSION['login'] ?></td>
  45. <td><?php echo $_SESSION['data']; ?></td>
  46. <td><?php echo $_SESSION['udane'] ?></td>
  47. <td><input type="image" src="../images/icn_edit.png" title="Edit"><input type="image" src="../images/icn_trash.png" title="Trash"></td>
  48. </tr>
  49. </tbody>
  50. </table>
  51. </div><!-- end of #tab1 -->
  52. </div><!-- end of .tab_container -->
  53. </article><!-- end of content manager article -->




@refresh...

Proszę o pomoc, utknąłem w tym miejscu ;D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 07:35