Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] System news'ów.
Cly
post
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. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
mit2
post
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
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
Go to the top of the page
+Quote Post
ciekawskiii
post
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? (IMG:style_emoticons/default/wacko.gif)
Go to the top of the page
+Quote Post
Cly
post
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
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
Post #7





Grupa: Moderatorzy
Postów: 36 561
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.
Go to the top of the page
+Quote Post
ciekawskiii
post
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
Post #9





Grupa: Moderatorzy
Postów: 36 561
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]:
Go to the top of the page
+Quote Post
ciekawskiii
post
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
Post #11





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




a warning znaczy ostrzeżenie... (IMG:style_emoticons/default/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" (IMG:style_emoticons/default/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ę (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Cly
post
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
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
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
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
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
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 06:17