Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Forum + logowanie
Forum PHP.pl > Forum > Przedszkole
stypkalukasz
Witam wsztstkich.
Mam prosty skrypt FORUM.
Narzie jest zorbiony tak że każdy użytkownk może wpisywać wątki. Chciałbym aby tylko osoby zalogowane mogły
(miały dostęp) pisać wiadomości. Poniżej umieszczam skrypt:

  1. <?php
  2. include ('funkcje_dolacz.php');
  3.  
  4. $tytul = $HTTP_POST_VARS['tytul'];
  5. $umieszczajacy = $HTTP_POST_VARS['umieszczajacy'];
  6. $wiadomosc = $HTTP_POST_VARS['wiadomosc'];
  7.  
  8. if(isset($HTTP_GET_VARS['przodek']))
  9.  $przodek = $HTTP_GET_VARS['przodek'];
  10. else
  11. $przodek = $HTTP_POST_VARS['przodek'];
  12.  
  13.  
  14. if(!$obszar)
  15. $obszar = 1;
  16.  
  17. if(!$blad)
  18. { 
  19. if(!$przodek)
  20. {
  21. $przodek = 0;
  22. if(!$tytul) 
  23. $tytul = '';
  24. }
  25. else
  26. {
  27. // pobierz nazwę artykułu
  28. $tytul = pobierz_tytul_artykulu($przodek);
  29.  
  30. // dołączenie Re:
  31. if(strstr($tytul, 'Re: ') == false )
  32. $tytul = 'Re: '.$tytul;
  33.  
  34. // upewnienie się, że tytuł będzie ciągle pasował do bazy danych
  35. $tytul = substr($tytul, 0, 20);
  36.  
  37. // przygotowanie wcięcia oryginalnej wiadomości
  38. $wiadomosc = dodaj_znaki(pobierz_tekst_artykulu($przodek));
  39. }
  40. }
  41. tworz_naglowek_html($tytul);
  42.  
  43. wyswietl_nowy_artykul_form($przodek, $obszar, $tytul, $wiadomosc, $umieszczajacy);
  44.  
  45. if($blad)
  46. {
  47.  echo 'Wiadomość nie mogła zostać wysłana. Proszę upewnić się, że wypełnione są 
  48.  wszystkie pola formularza i spróbować ponownie.';
  49. }
  50.  
  51. tworz_stopke_html();
  52. ?>


Zakładam że w tym pliku przed przystąpieniem do pisania wiadomości powinno być jakieś okno logowania. Po zalogowaniu przekierowywało by użytkownika do tej strony i dopiero możnaby było pisać nowe wątki.
Może miałby ktoś chwilę czasu zerknąć na to?
in5ane
Jeżeli żeś napisał cały (nawet mały) skrypt forum to masz problem ze zrobieniem pisania wiadomości?

Coś kręcisz kolego.
stypkalukasz
Po pierwsze skrypt miałem gotowy. Zmodyfikowalem go jedynie na swoje potrzeby tj. zrobiłem bazę dnanych i w kodzie kilku zmian musiałem dokonać.
A po drugie to nie chodzi mi o to że nie wiem jak zrobić pisanie odpowiedzi na FORUM tylko nie wiem jak zrobić aby "goście" nie mogli pisać na FORUM tylko zalogowani użytkownicy.
Trzeba chyba gdzieś dodać logowanie tylko nie wiem jak to zrobić i tego właśnie chciałem się dowiedzieć.
in5ane
A czy w ogóle kolego jest tam rejestracja?
stypkalukasz
Wiedziałem że czegoś zapomniałem:). Nic nie ma. Tylko skrypcik FORUM.
Trzeba dorobić rejestrację, logowanie i wylogowywanie (chyba to wszystko). Nie mam pojecia jak się do tego zabrać.
Może ktoś pomoże?
drPayton
forum.php.pl Szukaj "rejestracja" #1
forum.php.pl Szukaj "rejestracja" #2
etc
HINT:
"Szukaj" na górnej belce forum... Rejestracja/logowanie to chyba najpopularniejszy temat na wszelkich forach dotyczących php...
stypkalukasz
Witam ponownie.
Znalazłem dosyć ciekawy skrypt LOGOWANIA.
Poniżej wkleiłem część która odpowiada za wyświetlanie strony dostępnej tylko po zalogowaniu.

  1. <table border=1 width=100%>
  2. <tr><th align=center>
  3. ..:: Link2 ::..
  4. </th></tr>
  5. </table>
  6.  
  7. <p>
  8.  
  9. <?
  10. if(!auth())
  11. {
  12. print "<p class=error align=center>*** Brak dostępu ***</p>";
  13. }
  14. else
  15. {
  16. print "A to zawartość pliku <b>link2.php</b> do którego dostęp następuje tylko po uprzednim zalogowaniu się :-)";
  17. }
  18. ?>


Chdzi mi o to aby ktoś mi pomógł zrobić tak żeby zamiast:
"print "A to zawartość pliku <b>link2.php</b> do którego dostęp następuje tylko po uprzednim zalogowaniu się :-)";"

była jakaś strona dostępna tylko po zalogowaniu np.: www.xxx.pl.
drPayton
  1. <?php
  2. if(!auth())
  3. {
  4. print "<p class=error align=center>*** Brak dostępu ***</p>";
  5. }
  6. else
  7. {
  8. //print "A to zawartość pliku <b>link2.php</b> do którego dostęp następuje tylko po uprzednim zalogowaniu się :-)";
  9. header("Location: h t t p ://www.xxx.pl");
  10. } 
  11. ?>

(Oczywiście usuń spacje między literami http)
Jeżeli ma kierować na adres na tym samym serwerze wystarczy podać ścieżkę do pliku, jeżeli na zewnętrznym - potrzebny jest protokół (tu: http).
Dobrze by było, by w pliku który ma być dostępny jedynie po zalogowaniu sprawdzać, czy użyszkodnik jest zalogowany.
hondek
Ja bym proponowal Panu odwiedzic http://php.net i poczytac o session_start albo ciastaczkach "cookies" smile.gif Napewno rozjasni ci to wiele na temat logowania winksmiley.jpg
stypkalukasz
A jak zrobić aby ta strona wyświetlała się w nowym oknie?

Wpisuję:
  1. <?php
  2. header("Location: <a href=\"http://localhost/logowanie_php/linki.html"&#092;" target=\"_blank\">http://localhost/logowanie_php/linki.html"</a> target="_blank");
  3. ?>

ale nic z tego nie wychodzi...sad.gif
stypkalukasz
Może jednak ktoś pomoże..?
drPayton
Musisz najpierw otworzyć nowe okno (np js'owym window.open) z tą samą zawartością i redirecta headerem zrobić w tym nowym oknie, np masz plik.php
  1. <?php
  2. if(isset($_GET['redirect'])) {
  3. header("Location adres/plik");
  4. }
  5. (...)
  6. echo '<a href="plik.php?redirect" target="_blank">Przekieruj</a>'
  7. (...)
  8. ?>

Inna sprawa to to, że otwieranie czegokolwiek w nowym oknie (za wyjątkiem powiększonych zdjęć etc) to kiepski pomysł...
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.