Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Edycja w systemie newsowym, jak edytować... ?
camelx
post 1.05.2005, 20:44:50
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

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


Czy mogli byscie mi wytłumaczyć, jak mogę zrobić możliwość edycji newsa. Chodzi mi o to, jak zrobic cos takiego, że pojawia sie opcja "edytuj" przy newsie wysłanym przez danego usera questionmark.gif. Nie musi być to konkretny przykład, tylko napiszcie jak coś takiego można zrobić, na jakiej zasadzie to działa...


--------------------
windows nie jest wirusem... wirusy coś robią :)
Go to the top of the page
+Quote Post
mario
post 1.05.2005, 20:52:26
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 23.09.2003
Skąd: Siemianowice Śląskie

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


Najprościej to zastosować własny panel administracji treścią - szybko napiszesz własną procedurę edycji treści. Chyba, że masz coś w rodzaju logowania na stronie, wtedy wystarczy oprzeć to na sesjach, siebie dać jako ADMINa i udostępniasz sobie dzięki temu przycisk edytuj który nie robic nic innego jak właśnie edytujesz treść. W sumie to wychodzi na jedno - napisz własny panel administracji treścią smile.gif

Panel administracji treścią wystarczy oprzeć to na formularzu, polu TEXTAREA. Najpierw wyświetlamy sobie spis news'ów, dajemy przycisk EDYTUJ, pobieramy dane z bazy bądź pliku, edytujemy i zapisujemy do bazy lub pliku.


--------------------
W życiu piękne są tyko chwile....
Życie choć piękne tak krótkie jest....
Wystarczy chwila by zgasić je....
Go to the top of the page
+Quote Post
camelx
post 1.05.2005, 20:59:42
Post #3





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

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


Mam system logowania i rejestracji użytkowników, mam też 3-stopniowy system praw użytkowników (admin, mod, user). Admin i moderator mogą edytować wszystkie newsy (to już zrobiłem). Chodzi o to, żeby zalogowany user mógł edytować tylko swojego newsa (link "edytuj" tylko koło newsa zalogowanego usera). Wiecie jak to zrobić questionmark.gif

Ten post edytował camelx 1.05.2005, 21:00:06


--------------------
windows nie jest wirusem... wirusy coś robią :)
Go to the top of the page
+Quote Post
mario
post 1.05.2005, 21:16:21
Post #4





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 23.09.2003
Skąd: Siemianowice Śląskie

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


A to co innego. Sorki za złą odpowiedź. Proponuję zapisywanie w bazie IP, hosta i adres lokalny maszynki usera. Wtedy masz pewność że to ta sama osoba i możesz jej udostępnić funkcję edycji. Gdzieś w necie widziałem funkcję która "wyciągała" adres lokalny maszynki pracującej w sieci lokalnej, inaczej nie da się zidentyfikować danego usera gdyż wszyscy z danej sieci lokalnej widzeni są jako jeden i ten sam user.


--------------------
W życiu piękne są tyko chwile....
Życie choć piękne tak krótkie jest....
Wystarczy chwila by zgasić je....
Go to the top of the page
+Quote Post
camelx
post 1.05.2005, 21:24:23
Post #5





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

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


Ale niektórzy mają zmienne ip...
Ja wymyśliłem cos takiego: if($id == $user_id), gdzie "$id" to jest nr ID zalogowanego usera a "$user_id" to id zapisany w bazie w tabeli z newsami. Tabela z newsami wygląda tak: news_id | tresc | user_id. Jeśli user_id=2 to znaczy, że newsa dodał user o id=2.
Myslę, że to było by dobre rozwiązanie, tylko nie wiem co zrobić żeby "edytuj" pojawiało się tylko przy newsie danego usera...
Macie moze jeszcze jakieś pomysły questionmark.gif


--------------------
windows nie jest wirusem... wirusy coś robią :)
Go to the top of the page
+Quote Post
Ociu
post 2.05.2005, 07:42:43
Post #6





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




wrzucasz id newsmana do ciastka, potem:
  1. <?php
  2. $sql = mysql_query(&#092;"SELECT * FROM news\");
  3. while($r = mysql_fetch_array($sql))
  4. {
  5. echo 'news '. ($r['user_id'] == $_COOKIE['user_id']) ? &#092;"edytuj\": \"\";
  6. }
  7. ?>


Ten post edytował Ociu 2.05.2005, 07:43:21
Go to the top of the page
+Quote Post
camelx
post 2.05.2005, 13:03:11
Post #7





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

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


Załóżmy, że zrobiłem coś takiego
  1. <?php
  2. if($r['user_id'] == $_COOKIE['user_id']) $edit = 'edytuj';
  3. ?>
Ale coś takiego nie działa. Nie mogę użyć echo bo korzytsam z szablonów... Jak można to zrobić inaczej ?


--------------------
windows nie jest wirusem... wirusy coś robią :)
Go to the top of the page
+Quote Post
Ociu
post 2.05.2005, 14:16:57
Post #8





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




szablonow ? smarty ?
Go to the top of the page
+Quote Post
camelx
post 2.05.2005, 14:24:58
Post #9





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

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


Używam szablonów z których korzysta phpBB smile.gif
Da się zrobić jakoś to co wcześniej napisałeś w za pomocą amiennej questionmark.gif


--------------------
windows nie jest wirusem... wirusy coś robią :)
Go to the top of the page
+Quote Post
Ociu
post 2.05.2005, 14:33:57
Post #10





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




  1. <?php
  2. if($r['user_id'] == $_COOKIE['user_id']):
  3. $edit = 'edytuj';
  4. elseif:
  5. $edit = '';
  6. endif;
  7. ?>


Musisz Przynajmniej zaznaczyć, że uzywasz, że zmienna jest, bo tak to zmienna nie będzie istnieć

Ten post edytował Ociu 2.05.2005, 14:34:57
Go to the top of the page
+Quote Post
camelx
post 2.05.2005, 18:15:31
Post #11





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

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


Wszystko już działa!!! Dzięki Ociu, zrobiłem tak jak napisałeś i jest ok smile.gif


--------------------
windows nie jest wirusem... wirusy coś robią :)
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: 19.07.2025 - 16:20