Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> CMS - błędy
jacked
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 6.06.2011

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


Cześć, kupiłem książkę "jak stworzyć własny CMS" Łukasza Sosny. Z ciekawości, chciałem sprawdzić, jaki system przygotuję, za pomocą książki. Więc zainstalowałem go na lokalnym serwerze. I mam pewien problem. Mianowicie błędy w php, nie wiem co jest nie tak, poprawnie uzupełniłem plik konfiguracyjny do połączenia z bazą danych, zaimportowałem plik z poleceniami mySQL, tworzą one po porostu odpowiednie tabele i rekordy.
Tot lista błędów:


To jest plik silnik.php:
  1. <?php
  2.  
  3.  
  4. session_register('uzy_id');
  5. session_register('uzy_nazwa');
  6. session_register('uzy_email');
  7. session_register('uzy_szablon');
  8. session_register('uzy_jezyk');
  9. session_register('uzy_czy_admin');
  10. session_register('uzy_zalogowany');
  11.  
  12. require('./konfiguracja.php');
  13.  
  14. if($BazaDanych == 'mysql')
  15. {
  16. include('./silnik/sterownik_mysql.php');
  17. }
  18.  
  19. $Polaczenie = PolaczZBaza($HostZBaza,$LoginUzytkownika,$HasloUzytkownika);
  20.  
  21. if($Polaczenie == FALSE)
  22. {
  23. echo 'Połączenie z bazą danych nie powiodło się';
  24. exit();
  25. }
  26.  
  27. $WybieranieBazy = WybierzBazeDanych($NazwaBazyDanych);
  28.  
  29. if($WybieranieBazy == FALSE)
  30. {
  31. echo 'Wybieranie bazy danych nie powiodło się';
  32. exit();
  33. }
  34.  
  35. function PokazBlad($Wiadomosc,$Plik,$Linia,$ZapytanieSQL)
  36. {
  37. echo 'Błąd bazy danych';
  38. echo '<br />';
  39. echo 'W pliku: '.$Plik;
  40. echo '<br />';
  41. echo 'W linii: '.$Linia;
  42. echo '<br />';
  43. echo 'W zapytaniu: '.$ZapytanieSQL;
  44. echo '<br />';
  45. echo 'Informacje od bazy danych:';
  46. echo PokazBladBazyDanych();
  47. }
  48.  
  49. if($BazaDanych == 'mysql')
  50. {
  51. $ZapytanieKonfiguracja = 'SELECT konfig_nazwa,konfig_wartosc FROM '.$PrefixTabelek.'konfig';
  52. }
  53.  
  54. if(!WykonajZapytanie($ZapytanieKonfiguracja))
  55. {
  56. PokazBlad('Błąd w zapytaniu',__FILE__,__LINE__,$ZapytanieKonfiguracja);
  57. }
  58.  
  59. $Wynik = PobierzWynik();
  60. $IleWynikow = PobierzIlosc();
  61.  
  62. for($i=0;$i<$IleWynikow;$i++)
  63. {
  64. $KluczWyniku = $Wynik[$i]['konfig_nazwa'];
  65. $KonfiguracjaWitryny[$KluczWyniku] = $Wynik[$i]['konfig_wartosc'];
  66. }
  67.  
  68. if(empty($_SESSION['uzy_id']))
  69. {
  70. $_SESSION['uzy_id'] = '';
  71. $_SESSION['uzy_nazwa'] = '';
  72. $_SESSION['uzy_email'] = '';
  73. $_SESSION['uzy_szablon'] = $KonfiguracjaWitryny['dt'];
  74. $_SESSION['uzy_jezyk'] = $KonfiguracjaWitryny['dl'];
  75. $_SESSION['uzy_czy_admin'] = '';
  76. $_SESSION['uzy_zalogowany'] = '';
  77. }
  78.  
  79. if($KonfiguracjaWitryny['blip'] == 'tak')
  80. {
  81. if($BazaDanych == 'mysql')
  82. {
  83. $ZapytanieIP = 'SELECT ip_numer FROM '.$PrefixTabelek.'banujip';
  84. }
  85.  
  86. if(!WykonajZapytanie($ZapytanieIP))
  87. {
  88. PokazBlad('Błąd w zapytaniu',__FILE__,__LINE__,$ZapytanieIP);
  89. }
  90.  
  91. $Wynik = PobierzWynik();
  92. $IleWynikow = PobierzIlosc();
  93.  
  94. for($i=0;$i<$IleWynikow;$i++)
  95. {
  96. if($Wynik[$i]['ip_numer'] == $_SERVER['REMOTE_ADDR'])
  97. {
  98. include('./strony_html/'.addslashes($_SESSION['uzy_jezyk']).'/zbanowany_ip.html');
  99. exit();
  100. }
  101. }
  102. }
  103.  
  104. if(!include('./jezyki/'.addslashes($_SESSION['uzy_jezyk']).'/jezyk.php'))
  105. {
  106. echo 'Nie mogłem włączyć tego języka: '.addslashes($_SESSION['uzy_jezyk']);
  107. exit();
  108. }
  109.  
  110.  
  111. function DrukujSzablonStrony()
  112. {
  113. global $CMSModul;
  114. global $StronaTytul;
  115. global $SlowaKuczowe;
  116. global $OpisStrony;
  117.  
  118. if(!include('./szablony/'.addslashes($_SESSION['uzy_szablon']).'/szablon.php'))
  119. {
  120. echo 'Nie mogłem włączyć tego szabonu: '.addslashes($_SESSION['uzy_szablon']);
  121. exit();
  122. }
  123. }
  124.  
  125.  
  126. function DrukujNaglowek($StronaTytul,$SlowaKluczowe,$OpisStrony)
  127. {
  128. global $KonfiguracjaWitryny;
  129. global $JezykStrony;
  130. echo '<?xml version="1.0" encoding="'.$JezykStrony['kodowanie'].'"?>';
  131.  
  132. echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"';
  133. echo ' "http://localhost/dtd/xhtml11.dtd">';
  134. echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="'.$JezykStrony['jezyk'].'">';
  135. echo '<head>';
  136. echo '<meta http-equiv="Content-Type" content="text/html; charset='.$JezykStrony['kodowanie'].'" />';
  137. echo '<meta http-equiv="Content-language" content="'.$JezykStrony['jezyk_okresl'].'" />';
  138. echo '<meta name="copyright" content="LinuxMag.pl PRO CMS" />';
  139. echo '<meta name="description" content="'.$OpisStrony.'" />';
  140. echo '<meta name="keywords" content="'.$SlowaKluczowe.'" />';
  141. echo '<meta name="robots" content="all" />';
  142. echo '<meta name="rating" content="general" />';
  143. echo '<meta name="resource-type" content="document" />';
  144. echo '<meta name="generator" content="LinuxMag.pl PRO CMS" /> ';
  145. echo '<link rel="stylesheet" type="text/css" href="szablony/'.addslashes($_SESSION['uzy_szablon']).'/style.css" />';
  146. echo '<title>'.$StronaTytul.''.$KonfiguracjaWitryny['nazwa'].'</title>';
  147. echo '</head>';
  148. echo '<body>';
  149.  
  150. echo '<table class="tabela_logo">';
  151. echo '<tr>';
  152. echo '<td class="komorka_logo"></td>';
  153. echo '</tr>';
  154. echo '</table>';
  155. }
  156.  
  157. function DrukujSciezke()
  158. {
  159. global $URIDlaModulu;
  160. echo $URIDlaModulu;
  161. }
  162.  
  163. function DrukujLeweMenu()
  164. {
  165.  
  166. global $BazaDanych;
  167. global $PrefixTabelek;
  168.  
  169. if($BazaDanych == 'mysql')
  170. {
  171. $ZapytanieBlok = 'SELECT * FROM '.$PrefixTabelek.'bloki
  172. WHERE
  173. blok_strona = "l" AND
  174. blok_aktywny = "t"
  175. ORDER BY
  176. blok_pozycja ASC';
  177. }
  178.  
  179. if(!WykonajZapytanie($ZapytanieBlok))
  180. {
  181. PokazBlad('Błąd w zapytaniu',__FILE__,__LINE__,$ZapytanieBlok);
  182. }
  183.  
  184. $Wynik = PobierzWynik();
  185. $IleWynikow = PobierzIlosc();
  186.  
  187. echo '<table class="l_menu" cellpadding="0" cellspacing="0">';
  188.  
  189. for($i=0;$i<$IleWynikow;$i++)
  190. {
  191. echo '<tr>';
  192. echo '<td class="l_1">'.stripslashes($Wynik[$i]['blok_pokaz']).'</td>';
  193. echo '</tr>';
  194. echo '<tr>';
  195. echo '<td class="l_2">';
  196. include('./bloki/'.$Wynik[$i]['blok_nazwa'].'/'.$Wynik[$i]['blok_nazwa'].'.php');
  197. echo '</td>';
  198. echo '</tr>';
  199. echo '<tr>';
  200. echo '<td class="l_3"></td>';
  201. echo '</tr>';
  202. }
  203.  
  204. echo '</table>';
  205.  
  206. }
  207.  
  208. function DrukujPraweMenu()
  209. {
  210. global $BazaDanych;
  211. global $PrefixTabelek;
  212.  
  213. if($BazaDanych == 'mysql')
  214. {
  215. $ZapytanieBlok = 'SELECT * FROM '.$PrefixTabelek.'bloki
  216. WHERE
  217. blok_strona = "p" AND
  218. blok_aktywny = "t"
  219. ORDER BY
  220. blok_pozycja ASC';
  221. }
  222.  
  223. if(!WykonajZapytanie($ZapytanieBlok))
  224. {
  225. PokazBlad('Błąd w zapytaniu',__FILE__,__LINE__,$ZapytanieBlok);
  226. }
  227.  
  228. $Wynik = PobierzWynik();
  229. $IleWynikow = PobierzIlosc();
  230.  
  231. echo '<table class="p_menu" cellpadding="0" cellspacing="0">';
  232.  
  233. for($i=0;$i<$IleWynikow;$i++)
  234. {
  235. echo '<tr>';
  236. echo '<td class="p_1">'.stripslashes($Wynik[$i]['blok_pokaz']).'</td>';
  237. echo '</tr>';
  238. echo '<tr>';
  239. echo '<td class="p_2">';
  240. include('./bloki/'.$Wynik[$i]['blok_nazwa'].'/'.$Wynik[$i]['blok_nazwa'].'.php');
  241. echo '</td>';
  242. echo '</tr>';
  243. echo '<tr>';
  244. echo '<td class="p_3"></td>';
  245. echo '</tr>';
  246. }
  247.  
  248. echo '</table>';
  249. }
  250.  
  251. function DrukujStopke()
  252. {
  253. echo '<div class="stopka">';
  254. echo 'Copyright &copy; 2006 <a href="http://linuxmag.pl">LinuxMag.pl PRO CMS</a>';
  255. echo '</div>';
  256. echo '</body>';
  257. echo '</html>';
  258. }
  259.  
  260. function DrukujBlad($TrescInformacji)
  261. {
  262. global $JezykStrony;
  263.  
  264. echo '<div class="niepoprawnie">';
  265. echo $TrescInformacji;
  266. echo '<br />';
  267. echo $JezykStrony['wroc_blad'];
  268. echo '</div>';
  269. }
  270.  
  271. function DrukujPoprawne($TrescInformacji)
  272. {
  273. global $JezykStrony;
  274.  
  275. echo '<div class="poprawnie">';
  276. echo $TrescInformacji;
  277. echo '<br />';
  278. echo $JezykStrony['porawnie_idz_dalej'];
  279. echo '</div>';
  280. }
  281.  
  282. function PokazOknoLogowania()
  283. {
  284. global $JezykAdmin;
  285. ?>
  286. <form method="post" action="zaloguj.php">
  287. <table>
  288. <tr>
  289. <td><?php echo $JezykAdmin['nazwa_konta']; ?></td><td><input type="text" name="login_konta"></td>
  290. </tr>
  291. <tr>
  292. <td><?php echo $JezykAdmin['haso_dostepu']; ?></td><td><input type="password" name="haslo_konta"></td>
  293. </tr>
  294. <tr>
  295. <td></td><td>
  296. <input type="hidden" name="logowanie" value="tak">
  297. <input type="submit" value="<?php echo $JezykAdmin['zaloguj_mnie']; ?>"></td>
  298. </tr>
  299. </table>
  300. </form>
  301. <?php
  302. }
  303.  
  304. ?>

A to plik sterownik_mysql.php:
  1. <?php
  2.  
  3. function PolaczZBaza($HostZBaza,$LoginUzytkownika,$HasloUzytkownika)
  4. {
  5. if(mysql_connect($HostZBaza,$LoginUzytkownika,$HasloUzytkownika))
  6. {
  7. return TRUE;
  8. }
  9. else
  10. {
  11. return FALSE;
  12. }
  13. }
  14.  
  15. function WybierzBazeDanych($NazwaBazyDanych)
  16. {
  17. if(mysql_select_db($NazwaBazyDanych))
  18. {
  19. return TRUE;
  20. }
  21. else
  22. {
  23. return FALSE;
  24. }
  25. }
  26.  
  27. function WykonajZapytanie($ZapytanieDoBazy)
  28. {
  29. global $WynikZapytania;
  30.  
  31. $WynikZapytania = mysql_query($ZapytanieDoBazy);
  32.  
  33. if($WynikZapytania)
  34. {
  35. return TRUE;
  36. }
  37. else
  38. {
  39. return FALSE;
  40. }
  41. }
  42.  
  43. function PokazBladBazyDanych()
  44. {
  45.  
  46. $Blad['text'] = mysql_error();
  47. $Blad['number'] = mysql_errno();
  48.  
  49. $InformacjaOBledzie = 'Nazwa: '.$Blad['text'].' Numer: '.$Blad['number'];
  50.  
  51. return $InformacjaOBledzie;
  52. }
  53.  
  54. function PobierzWynik()
  55. {
  56.  
  57. global $WynikZapytania;
  58.  
  59. while($wiersz = mysql_fetch_array($WynikZapytania,MYSQL_ASSOC))
  60. {
  61. $RezultatZapytania[] = $wiersz;
  62. }
  63.  
  64. return $RezultatZapytania;
  65. }
  66.  
  67. function PobierzIlosc()
  68. {
  69. global $WynikZapytania;
  70.  
  71. $IloscRekordow = mysql_num_rows($WynikZapytania);
  72.  
  73. return $IloscRekordow;
  74. }
  75.  
  76. ?>


Strasznie mnie to zniechęca - będę pisał taki CMS, a potem okaże się że on nie działa, są jakieś błędy, proszę o pomoc smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kod zawiera bardzo wiele staroci, które są już zalecane, by ich nie używać. System Cię o tym informuje. Oczywiście możesz wyłączyć wyświetlanie tych błędów ale niestety kod widać że jest stary. Dodatkowo autor tego kodu generuje inne błędy, których nie powinno być. Osobiście polecałbym ci olać tę książkę. No chyba, że specjalnie ją kupiłeś to już z niej korzystaj

edit: luknąłem jeszcze na kod i nie, nie korzystaj z niej nawet jeśli specjalnie ją kupiłeś. Tylko wyrobisz sobie złe nawyki.
Powód edycji: [nospor]:


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kadlub
post
Post #3





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


a co do błędu to zamiast tak

require('./konfiguracja.php');

powinno być chyba tak

require('../konfiguracja.php');
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@kadlub przecież tam żaden błąd nie wskazuje na to co ty pokazałeś.
poza tym ./ jest jak najbardziej poprawne, gdy bierzesz dane z tego samego katalogu


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kadlub
post
Post #5





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


faktycznie coś mi się pomyliło
Go to the top of the page
+Quote Post
jacked
post
Post #6





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 6.06.2011

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


Okej, No wiadomo że ksiażki nie moha być aktualne zawsze - zwłaszcza jesli chodzi o informaryke gdzie wszysto stale się rozwija. Więc... co innego mi zaproponujesz zeby nauczyć się tworzyć tego rodzaju systemy CMS? Taki wlasny CMS to niezwykle przydatna rzecz.
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Najpierw naucz się podstaw - php + mysql. Masa kursów do tego w necie.
Potem się pomyśli smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


Ja Ci zaproponuje przeczytanie tego tematu:)
Temat: linkiKursy dla poczatkujacych


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
Fixus
post
Post #9





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


Cytat(jacked @ 17.06.2011, 17:41:05 ) *
Okej, No wiadomo że ksiażki nie moha być aktualne zawsze - zwłaszcza jesli chodzi o informaryke gdzie wszysto stale się rozwija. Więc... co innego mi zaproponujesz zeby nauczyć się tworzyć tego rodzaju systemy CMS? Taki wlasny CMS to niezwykle przydatna rzecz.


Własny CMS to wcale nie taka super rzecz. Raz, że to wymyślanie koła na nowo, a dwa, że masz wiele CMS`ów klasy Enterpreise lub masz też CMF`y

Naucz się po prostu programować smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 00:01