Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] System news'ów.
Cly
post 13.04.2011, 22:13:10
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 12.04.2011

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


Witam serdecznie.
Niedawno zaczęłam zabawę z php oraz mysql i niestety, nadal posiadam w tych zakresach duże braki, które mam zamiar stopniowo nadrabiać. W każdym razie, tym razem postanowiłam za pomocą poradnika ze strony http://it-maniak.pl/prosty-system-newsow-w...e-takie-trudne/ stworzyć system news’ów. Jakoś nie chciałam korzystać z cute news, czy czegoś podobnego. Wolałam sama przeczytać, co, jak, gdzie i po co. Niestety, idąc zgodnie z zaleceniami autora tutka, nie udało mi się osiągnąć zamierzonego celu. W utworzonych plikach pojawia się błąd, który widnieje przy wpisaniu ścieżki do przeglądarki. No, oprócz w dodaj.php, tam mniej więcej wszystko działa. Przeszukałam parę stron, jednak nie znalazłam rozwiązania problemu. Oczywiście, stworzyłam bazę danych za pośrednictwem phpMyAdmin. Czy ktoś mógłby mi powiedzieć, co robię źle?

Z góry dziękuję za pomoc. smile.gif
Go to the top of the page
+Quote Post
mit2
post 13.04.2011, 22:17:48
Post #2





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


pokaz jaki masz kod to zobaczymy co masz zle
Go to the top of the page
+Quote Post
cim
post 13.04.2011, 22:18:55
Post #3





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


Witam,

Cytat(Cly @ 13.04.2011, 23:13:10 ) *
W utworzonych plikach pojawia się błąd, który widnieje przy wpisaniu ścieżki do przeglądarki.

pokaż jaki to błąd.

Pozdrawiam


--------------------
errare humanum est
Go to the top of the page
+Quote Post
ciekawskiii
post 13.04.2011, 22:19:06
Post #4





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


to pokaz te bledy, kawalki kodu gdzie masz te bledy, skad mamy wiedziec co robisz zle? wacko.gif


--------------------
Go to the top of the page
+Quote Post
Cly
post 13.04.2011, 23:23:38
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 12.04.2011

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


Podałam tamtą stronę dlatego, że widnieje tam cały kod, ale mogę również tutaj wkleić.

  1. <?php
  2. include("skrot.php");
  3. $naz .= '<li><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a>Autor:
  4. '.$rekord[3].' - '.$rekord[2].'<p>'.substr($rekord[4], 0,
  5. 150).''.$kr.'</p></li>';
  6. echo '<ul>'.$naz.'</ul>';
  7. ?>

Powinny pojawić się nowe posty (5), a skoro ich jeszcze nie napisałam, to chyba pusta strona, tak?
Błędy:
Notice: Undefined variable: rekord in C:\xampp\htdocs\news\skrot.php on line 2

Notice: Undefined variable: rekord in C:\xampp\htdocs\news\skrot.php on line 2

Notice: Undefined variable: rekord in C:\xampp\htdocs\news\nowe.php on line 3

Notice: Undefined variable: rekord in C:\xampp\htdocs\news\nowe.php on line 3

Notice: Undefined variable: rekord in C:\xampp\htdocs\news\nowe.php on line 4

Notice: Undefined variable: rekord in C:\xampp\htdocs\news\nowe.php on line 4

Notice: Undefined variable: rekord in C:\xampp\htdocs\news\nowe.php on line 4

Notice: Undefined variable: naz in C:\xampp\htdocs\news\nowe.php on line 5

  1. <?php
  2. include("polacz.php");
  3. $query = mysql_query("select * from news order by id");
  4. while($rekord = mysql_fetch_array($query))
  5. {
  6. $naz .= '<li><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'</li>';
  7. }
  8. echo '<ul>'.$naz.'</ul>';
  9. ?>
Tu jest archiwum, czyli również, jak nie ma postów, to powinna być pusta strona, a wyświetla się błąd: Notice: Undefined variable: naz in C:\xampp\htdocs\news\archiwum.php on line 6

Zawartość skrot.php (Służy do skracania posta na stronie, jak jest więcej niż 150 znaków, to stawia wielokropek):

  1. <?php
  2. if (substr($rekord[4], 0, 150)<$rekord[4]) // 1
  3. {
  4. $kr = '...'; //
  5. }
  6. else
  7. {
  8. $kr = '';
  9. }
  10. ?>
Go to the top of the page
+Quote Post
ciekawskiii
post 13.04.2011, 23:48:02
Post #6





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


to sa komunikaty nie bledy, wyswietlaja sie bo nie masz zadnego warunku i zmienne sa puste.
Zrob tak
  1. if(mysql_num_rows($query)>0){
  2. //Tu petla while i wyswietlanie wynikow
  3. }else{
  4. echo 'brak postow';
  5. }


--------------------
Go to the top of the page
+Quote Post
nospor
post 14.04.2011, 07:13:14
Post #7





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




Cytat
to sa komunikaty nie bledy
To są błędy. Jak ktoś używa zmiennej, która nie istnieje, to to jest właśnie błąd. Niestety php uznaje to za błąd najmniejszej wagi.


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

"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
ciekawskiii
post 14.04.2011, 09:18:59
Post #8





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


no fakt, jest to tez blad ale wlasnie mniejszej wagi wiec mozna uznac to za informacje/komunikat.
Myslalem, ze ma fatal errora


--------------------
Go to the top of the page
+Quote Post
nospor
post 14.04.2011, 09:35:42
Post #9





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




Cytat
ale wlasnie mniejszej wagi wiec mozna uznac to za informacje/komunikat.
Nie ucz złych nawyków. To jest błąd. Nie żadna informacja czy komunikat - błąd. Potem nauczy się jeden z drugim olewać takie "informacje" a potem płacze bo nagle się okazuje że na stronie wyskakuje 300 "informacji" i wśród nich nie można znaleźć takiej która odpowiada za aktualny problem z jakim stanął user.

http://nospor.pl/notice-wyswietlac-czy-nie.html
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
ciekawskiii
post 14.04.2011, 10:29:22
Post #10





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


1.nie ucze zlych nawykow bo przeciez nie kaze nikomu tego olewac.
2.jak to zwykle w takich przypadkach bywa, ta dyskusja nie ma sensu.
Dla jednego to jest blad, dla drugiego komunikat a dla trzeciego informacja.
Notice znaczy informacja,
error znaczy blad i tego sie trzymam


--------------------
Go to the top of the page
+Quote Post
nospor
post 14.04.2011, 11:44:37
Post #11





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




a warning znaczy ostrzeżenie... smile.gif

A error_reporting() służa do ustawiania poziomu raportowania błędów E_ALL łapie też błędy NOTICE. (w nazwie error_reporting zauważ masz słowo klucz "error" wink.gif )
Tak więc ERROR, WARNING, NOTICE to wszystko to błędy a nazwy mają tylko sugerować poziom ich ważności wg. autorów php. Patrzenie na sztywno że coś ma w nazwie error a coś nie i na tej podstawie określanie czy coś jest błędem a coś nie to chyba nie tędy droga. A już tym bardziej przyjmowanie NOTICE jako notatki/informacji. error to też informacja na dobrą sprawę 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
Cly
post 14.04.2011, 18:23:17
Post #12





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 12.04.2011

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


Teraz wyświetla „brak postow”, kiedy w przeglądarkę wpiszę ścieżkę do archiwum.php, jednak nadal w nowe.php pojawiają się te komunikaty/błędy/informacje. Kod do tego pliku zamieściłam we wcześniejszym poście, jako pierwszy. Niestety nie mam pomysłu, co może być źle.
Go to the top of the page
+Quote Post
Pitter
post 14.04.2011, 19:00:14
Post #13





Grupa: Zarejestrowani
Postów: 75
Pomógł: 8
Dołączył: 9.08.2008

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


archiwum.php
  1. <?php
  2. include("polacz.php");
  3. $query = mysql_query("select * from news order by id");
  4. while($rekord = mysql_fetch_array($query))
  5. {
  6. $naz .= '<li><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'</li>';
  7. }
  8. else
  9. {
  10. $naz = '<li>brak postów</li>';
  11. }
  12. echo '<ul>'.$naz.'</ul>';
  13. ?>

plik nowe.php

  1. <?php
  2. include("polacz.php"); // 1
  3.  
  4. $query = mysql_query("select * from news order by id desc limit 0,5"); // 2
  5. while($rekord = mysql_fetch_array($query))
  6. {
  7. $naz .= '<li><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'</li>'; // 3
  8. }
  9. else
  10. {
  11. $naz = '<li>brak postów.</li>';
  12. }
  13. include("skrot.php"); // musi być tutaj ponieważ skrót.php pracuje na $rekord która musi istniec
  14. echo '<ul>'.$naz.'</ul>'; // 4
  15. ?>


Ten post edytował Pitter 14.04.2011, 19:12:35
Go to the top of the page
+Quote Post
Cly
post 14.04.2011, 20:02:31
Post #14





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 12.04.2011

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


Niestety teraz, kiedy otwieram archiwum.php pokazuje się:
Parse error: syntax error, unexpected T_ELSE in C:\xampp\htdocs\news\archiwum.php on line 8
natomiast gdy wpisuję w pasek przeglądarki nowe.php, wyświetla:
Parse error: syntax error, unexpected T_ELSE in C:\xampp\htdocs\news\nowe.php on line 9 .
Go to the top of the page
+Quote Post
Pitter
post 15.04.2011, 20:18:50
Post #15





Grupa: Zarejestrowani
Postów: 75
Pomógł: 8
Dołączył: 9.08.2008

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


spróbuj tak
  1. <?php
  2. include("polacz.php"); // 1
  3. $naz = 'brak postów';
  4. $query = mysql_query("select * from news order by id desc limit 0,5"); // 2
  5. while($rekord = mysql_fetch_array($query))
  6. {
  7. $naz .= '<li><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'</li>'; // 3
  8. }
  9.  
  10. include("skrot.php"); // musi być tutaj ponieważ skrót.php pracuje na $rekord która musi istniec
  11. echo '<ul>'.$naz.'</ul>'; // 4
  12. ?>
Go to the top of the page
+Quote Post
Cly
post 18.04.2011, 15:28:55
Post #16





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 12.04.2011

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


W nowe.php wyświetla się "brak postów", czyli teraz jest tam w porządku, natomiast w archiwum.php nadal coś nie gra i wyświetla ten sam komunikat, co wcześniej, czyli:
Parse error: syntax error, unexpected T_ELSE in C:\xampp\htdocs\news\archiwum.php on line 8 .
Go to the top of the page
+Quote Post
ciekawskiii
post 18.04.2011, 19:07:02
Post #17





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


pomieszalas gdzies klamry { } policz, posprawdzaj


--------------------
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 Wersja Lo-Fi Aktualny czas: 13.06.2025 - 01:41