Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Koncepcja panelu administracyjnego na sesji
Forum PHP.pl > Forum > Przedszkole
Adriannn
Witam, mam taki problem

mam panel administracyjny na sesji, oparty na klasie templatowej takiej cos na zasadzie smartow. I ten panel sklada sie z jednego pliku. jesli sesja = 1 wyswietla narzedzia do zarzadzania newsami.

No i teraz mam problem bo jak chcialbym dodac zarzadzanie artykulami to mi sie wszystko psuje.

Czy mógłby ktos napisać jak zrobić panel aby był w miarę wygodny? Probowalem oprzec to na include ale mi zbyt duzą ilosc nadpisywalo akcje (np. 2 razy wyswietlalo te same newsy gdyz na dole mi includowalo opcje do podpinania się pod smart a nie moglem z zadnego pliku wykasowć bo to by sie wiazalo z wykasowaniem opcji dla danej strony) jak również mialbym problem z obrobieniem tego w html.

Chcialbym aby po lewo bylo menu a po prawo np. edytowac newsy itp.


Wystarczy ze ktos napisze jakos schematycznie - w dosc prosty sposob - na czym to oprzeć



z gory dziekuje
pozdrawiam
Mlodycompany
jak ja bym to robil to by to wygladalo tak

<table>
<tr>
<td><?php include('menu.php')?></td>
<td><?php include('sys.php')?></td>
</tr>
</table>

W menu.php umieszczasz menu, a w sys.php jakis skrypt ktory pokazuje strone
D487B7
No jak tak zincluduje to jak napisalem wyzej nadpisze mi 2 razy to samo + b. ciezka obrobka

jak bym chcial zrobic tak zeby nie nadpisywalo musial bym wywalic sesje z plikow ktore maja byc includowane, co skutkuje wejsciem do panelu dla kazdego... :/
DeDmAn
// zalozylem sobie konto nwm...

To koncepcja panelu w 1 pliku. plik admin.php

  1. <?php
  2.  
  3. require_once "cTemplate.php";
  4. require_once "db_inteface.php";
  5.  
  6. $page = new cTemplate;
  7. $dbase = new db_interface("kpz", "root", "root", "localhost");
  8.  
  9. if (isset($_POST['haslo'])&&isset($_POST['login']))
  10. {
  11. if ($_POST['haslo'] === "haslo1"&&$_POST['login'] === "haslo")
  12. {
  13. $_SESSION['zalogowany'] = 1;
  14. $_SESSION['czas'] = time();
  15. }
  16. else
  17. {
  18. $login_form = new cTemplate;
  19. $login_form->assign['msg'] = "podales bledne haslo!<br>sprobuj ponownie";
  20. $page->assign['main'] = $login_form->parse("templates/login.html");
  21. echo $page->parse("templates/index.html");
  22. exit;
  23. }
  24. }
  25.  
  26. if (isset($_SESSION['zalogowany'])&&isset($_SESSION['czas'])&&($_SESSION['zalogowany']===1))
  27. {
  28. if (time()-$_SESSION['czas'] < 1800)
  29. {
  30. $_SESSION['czas'] = time();
  31. $page->assign['main'] = "jestes zalogowany<br><br>";
  32.  
  33.  
  34. if(!isset($_GET['action']))
  35. {
  36. $_GET['action'] = "";
  37. }
  38.  
  39. switch ($_GET['action'])
  40. {
  41. case "nowy_news":
  42. $news_form = new cTemplate;
  43. $page ->assign['main'] .= 
  44.  
  45. $news_form->parse("templates/news_form.html");
  46. break;
  47.  
  48. case "usun_newsa":
  49. if(isset($_GET['id']))
  50. {
  51.  
  52.  
  53. $dbase->query("
  54.  
  55.  
  56. DELETE FROM newsy
  57.  
  58.  
  59. where id = ".$_GET['id'].";
  60.  
  61.  
  62. ");
  63.  
  64.  
  65.  
  66. $page->assign['main'] 
  67.  
  68. .= "<br>Usunięto newsa.<br><br>";
  69.  
  70. $page->assign['main'] .= "<a 
  71.  
  72. href=\"?action=nowy_news\">Dodaj aktualnosc</a><br><br>";
  73.  
  74. $result = $dbase->get_query("
  75.  
  76.  
  77. SELECT * FROM newsy
  78.  
  79.  
  80. ORDER BY id DESC
  81.  
  82.  
  83. LIMIT 0, 20
  84.  
  85.  
  86.  
  87.  
  88.  
  89. ");
  90.  
  91.  
  92.  
  93. if ($result)
  94. {
  95. $news = new cTemplate;
  96. echo '<div class="newsAktu"></div>';
  97. foreach ($result as $record)
  98. {
  99. $news->assign['tytul'] = "<a 
  100.  
  101. target=\"_blank\" href=\"index.php?action=pokaz&id=".$record['id']."\">".$record['tytul']."</a>";
  102. $news->assign['data'] = 
  103.  
  104. $record['data'];
  105. $news->assign['usun'] = "<a 
  106.  
  107. href=\"?action=usun_news&id=".$record['id']."\">Usun</a>";
  108. $news->assign['edytuj'] = "<a 
  109.  
  110.  href=\"?action=edytuj_news&id=".$record['id']."\">Edytuj</a>";
  111.  
  112.  
  113. $page->assign['main'] .= 
  114.  
  115. $news->parse("templates/headadmin.html");
  116.  
  117. }
  118. }
  119. else  $page->assign['main'] .= "brak 
  120.  
  121. news'ow";
  122.  
  123.  
  124.  
  125. }
  126. else  $page->assign['main'] .= "<br>Nie podano 
  127.  
  128. zadnego newsa<br>";
  129.  
  130.  
  131. break;
  132.  
  133. case "usun_news":
  134. if(isset($_GET['id']))
  135. {
  136.  
  137.  
  138.  
  139.  
  140.  
  141. $result = $dbase->get_query("
  142.  
  143.  
  144. SELECT * FROM newsy
  145.  
  146.  
  147. where id = ".$_GET['id'].";
  148.  
  149.  
  150. ");
  151.  
  152. if 
  153.  
  154. ($result)
  155. {
  156.  
  157.  
  158. $news = new cTemplate;
  159.  
  160.  
  161.  
  162. $news->assign['tytul'] = $result[0]['tytul'];
  163.  
  164.  
  165. $news->assign['data'] = $result[0]['data'];
  166.  
  167.  
  168. $news->assign['tresc'] = $result[0]['tresc'];
  169.  
  170.  
  171.  
  172. $news->assign['opcje'] = "Czy na pewno chcesz usunać tego newsa?<br>";
  173.  
  174.  
  175. $news->assign['opcje'] .= "<a href=\"?action=usun_newsa&amp;id=".$result[0]['id']."\">TAK</a> |";
  176.  
  177.  
  178. $news->assign['opcje'] .= " <a href=\"admin.php\">NIE</a> ";
  179.  
  180.  
  181.  
  182. $page->assign['main'] .= $news->parse("templates/usunnews.html");
  183.  
  184.  
  185.  
  186.  
  187.  
  188. }
  189.  
  190. }
  191. else  $page->assign['main'] .= "<br>Nie podano 
  192.  
  193. zadnego newsa<br>";
  194.  
  195.  
  196. break;
  197. ?>


dalszy ciag...
  1. <?php
  2. case "modyfikuj":
  3. if(isset($_GET['id']))
  4. {
  5. $result = 
  6.  
  7. $dbase->get_query("
  8. SELECT * FROM 
  9.  
  10. newsy
  11. where id = 
  12.  
  13. ".$_GET['id'].";
  14. ");
  15.  
  16. if ($result)
  17. {
  18.  
  19.  
  20.  
  21.  
  22. if 
  23.  
  24. (isset($_POST['tytul'])&&isset($_POST['tresc']))
  25. {
  26.  
  27.  
  28. $dbase->query("
  29.  
  30.  
  31. UPDATE newsy
  32.  
  33.  
  34. SET tytul = '".addslashes(strip_tags($_POST['tytul']))."',
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41. tresc = '".addslashes(strip_tags($_POST['tresc']))."',
  42.  
  43.  
  44. data = '".$result[0]['data']."'
  45.  
  46.  
  47. where id =".$result[0]['id'].";
  48.  
  49.  
  50. ");
  51.  
  52.  
  53.  
  54. $page->assign['main'] 
  55.  
  56. .= "<br>Zmodyfikowano newsa.<br><br>";
  57. }
  58. }
  59. else $page->assign['main'] .= 
  60.  
  61. "<br>Nie znaleziono newsa.<br><br>";
  62.  
  63.  
  64. }
  65. else $page->assign['main'] .= "Nie podano 
  66.  
  67. newsa.";
  68.  
  69.  
  70. $result = $dbase->get_query("
  71.  
  72.  
  73. SELECT * FROM newsy
  74.  
  75.  
  76. ORDER BY id DESC
  77.  
  78.  
  79. LIMIT 0, 20
  80.  
  81.  
  82.  
  83.  
  84.  
  85. ");
  86.  
  87.  
  88.  
  89. if ($result)
  90. {
  91. $news = new cTemplate;
  92. echo '<div class="newsAktu"></div>';
  93. foreach ($result as $record)
  94. {
  95. $news->assign['tytul'] = "<a 
  96.  
  97. target=\"_blank\" href=\"index.php?action=pokaz&id=".$record['id']."\">".$record['tytul']."</a>";
  98. $news->assign['data'] = 
  99.  
  100. $record['data'];
  101. $news->assign['usun'] = "<a 
  102.  
  103. href=\"?action=usun_news&id=".$record['id']."\">Usun</a>";
  104. $news->assign['edytuj'] = "<a 
  105.  
  106.  href=\"?action=edytuj_news&id=".$record['id']."\">Edytuj</a>";
  107.  
  108.  
  109. $page->assign['main'] .= 
  110.  
  111. $news->parse("templates/headadmin.html");
  112.  
  113. }
  114. }
  115. else  $page->assign['main'] .= "brak 
  116.  
  117. news'ow";
  118.  
  119.  
  120. break;
  121.  
  122. case "edytuj_news":
  123. if(isset($_GET['id']))
  124. {
  125.  
  126. $result = $dbase->get_query("
  127.  
  128.  
  129. SELECT * FROM newsy
  130.  
  131.  
  132. where id = ".$_GET['id'].";
  133. ");
  134.  
  135. if($result)
  136. {
  137. $news_form = new cTemplate;
  138.  
  139. $news_form->assign['tytul'] = 
  140.  
  141. $result[0]['tytul'];
  142. $news_form->assign['tresc'] = 
  143.  
  144. $result[0]['tresc'];
  145. $news_form->assign['id'] = 
  146.  
  147. $result[0]['id'];
  148.  
  149. $page->assign['main'] = 
  150.  
  151. $news_form->parse('templates/edit_news_form.html');
  152.  
  153.  
  154. }
  155. else $page->assign['main'] .= "Nie 
  156.  
  157. odnaleziono newsa.";
  158.  
  159. }
  160. else $page->assign['main'] .= "Nie podano newsa.";
  161.  
  162. break;
  163.  
  164. case "dodaj_news":
  165.  
  166. if (isset($_POST['tytul'])&&isset($_POST['tresc']))
  167. {
  168. $dbase->query("
  169.  
  170.  
  171. INSERT INTO newsy (tytul, tresc, data)
  172.  
  173.  
  174. VALUES 
  175.  
  176. ('".addslashes(strip_tags($_POST['tytul']))."','".addslashes(strip_tags($_POST['tresc']))."',now());
  177.  
  178.  
  179. ");
  180.  
  181.  
  182.  
  183. $page->assign['main'] .= "<br>Dodano nowego 
  184.  
  185. newsa.<br><br>";
  186. $page->assign['main'] .= "<a 
  187.  
  188. href=\"?action=nowy_news\">Dodaj aktualnosc</a><br><br>";
  189.  
  190.  
  191. $result = 
  192.  
  193. $dbase->get_query("
  194.  
  195.  
  196. SELECT * FROM newsy
  197.  
  198.  
  199. ORDER BY id DESC
  200.  
  201.  
  202. LIMIT 0, 20
  203.  
  204.  
  205. ");
  206.  
  207.  
  208.  
  209. if ($result)
  210. {
  211. $news = new cTemplate;
  212. echo '<div class="newsAktu"></div>';
  213. foreach ($result as $record)
  214. {
  215. $news->assign['tytul'] = "<a 
  216.  
  217. target=\"_blank\" href=\"index.php?action=pokaz&id=".$record['id']."\">".$record['tytul']."</a>";
  218. $news->assign['data'] = 
  219.  
  220. $record['data'];
  221. $news->assign['usun'] = "<a 
  222.  
  223. target=\"_blank\" href=\"index.php?action=usun_news&id=".$record['id']."\">Usun</a>";
  224.  $news->assign['edytuj'] = "<a
  225.  
  226. href=\"?action=edytuj_news&id=".$record['id']."\">Edytuj</a>";
  227.  
  228.  
  229. $page->assign['main'] .= 
  230.  
  231. $news->parse("templates/headadmin.html");
  232.  
  233. }
  234. }
  235. else  $page->assign['main'] .= "brak news'ow";
  236.  
  237. }
  238. else  $page->assign['main'] .= "<br>Brak 
  239.  
  240. danych<br><br>";
  241. break;
  242.  
  243.  
  244.  
  245. default:
  246. $page->assign['main'] .= "<a 
  247.  
  248. href=\"?action=nowy_news\">Dodaj aktualnosc</a><br><br>";
  249.  
  250. $result = $dbase->get_query("
  251.  
  252.  
  253. SELECT * FROM newsy
  254.  
  255.  
  256. ORDER BY id DESC
  257.  
  258.  
  259. LIMIT 0, 20
  260.  
  261.  
  262.  
  263.  
  264.  
  265. ");
  266.  
  267.  
  268.  
  269. if ($result)
  270. {
  271. $news = new cTemplate;
  272. echo '<div class="newsAktu"></div>';
  273. foreach ($result as $record)
  274. {
  275. $news->assign['tytul'] = "<a 
  276.  
  277. target=\"_blank\" href=\"index.php?action=pokaz&id=".$record['id']."\">".$record['tytul']."</a>";
  278. $news->assign['data'] = 
  279.  
  280. $record['data'];
  281. $news->assign['usun'] = "<a 
  282.  
  283. href=\"?action=usun_news&id=".$record['id']."\">Usun</a>";
  284. $news->assign['edytuj'] = "<a 
  285.  
  286.  href=\"?action=edytuj_news&id=".$record['id']."\">Edytuj</a>";
  287.  
  288.  
  289. $page->assign['main'] .= 
  290.  
  291. $news->parse("templates/headadmin.html");
  292.  
  293. }
  294. }
  295. else  $page->assign['main'] .= "brak 
  296.  
  297. news'ow";
  298.  
  299.  
  300.  
  301. break;
  302. }
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311. }
  312. else
  313. {
  314. $login_form = new cTemplate;
  315. $login_form->assign['msg'] = "przekroczono czas bezczynnosci<br>zaloguj sie ponownie";
  316. $page->assign['main'] = $login_form->parse("templates/login.html");
  317.  
  318. }
  319. }
  320. else
  321. {
  322. $login_form = new cTemplate;
  323. $login_form->assign['msg'] = "podaj haslo";
  324. $page->assign['main'] = $login_form->parse("templates/login.html");
  325. }
  326. echo $page->parse("templates/index.html");
  327.  
  328.  
  329.  
  330. ?>




jak rozbil bym to na 2 pliki (index i news) to by mi nadpisalo echo $page->parse("templates/index.html"); jak wykasowal bym z index.php nie wyswietlo
by logowania, jak z news, to nie wyswietlolo by mi newsow itp.
a nie moge np. tylko sroda wsadzic do news bo wtedy nie bedzie w sesji i mi sie kazdy bedzie mogl wlamac (tak mi sie wydaje choc nie probowalem no ale raczej tak bedzie )

ma ktos jakis pomysł...?

chociaz moze posboje tak... bo jak bedzie oddielny include bez hasel do bazy ktore beda w glownym pliku to chyba wlamywacz nic nie zrobi?questionmark.gifquestionmark.gif?
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.