Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z prywatnymi wiadomosciami
stiw
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 31.07.2006

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


Witam, na swojej stronie uzylem skryptu Z TEJ STRONY do stworzenia prywatnych wiadomosci.

No i mam pewien problem :/ Wysylanie wiadomosci dziala ok, wiadomosci odczytac moge tylko te ktore wysle sam do siebie, kasowac tez moge tylko swoje wiadomosci (nadawczej tylko te ktore do siebie wyslalem, te ktore wyslalem do innego uzytkownika juz nie moge usunac)
(IMG:style_emoticons/default/sad.gif)
Jak wysle jakas wiadomosc do drugiego uzytkownika to nie moge jej podgladnac w skrzynce nadawczej, a ten drugi nie moze jej odczytac w odbiorczej chociaz widnieje u niego na liscie , nie moze zobaczyc jej tresci .

Nie wiem za bardzo o co w tym chodzi bo zielony w tym jestem, takze prosilbym o wszelkie wskazowki, pozdrawiam.

Ten post edytował stiw 17.01.2011, 21:47:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Zobaczę, co się dzieje. U mnie odbiorcza działa, więc potem podeślę kod.

To kody, które działają u mnie poprawnie:
odbiorcza.php
  1. <?
  2. require "sesje.php";
  3. require "naglowek.php";
  4.  
  5. if($_GET["id"]) {
  6. $id=intval($_GET["id"]); //zamieniamy zmienną na liczbe, zapobiega to atakom typu sql injection
  7. if(mysql_num_rows(mysql_query("select wiad_od from wiadomosci where wiad_id=$id and wiad_czyj=0 and wiad_do=".$_SESSION["zalogowany"]))) {
  8. mysql_query("delete from wiadomosci where wiad_id=$id"); //sprawdzamy czy wiadomość którą użytkownik chce usunąć faktycznie ależy do niego
  9. echo "Usunięto wiadomość!<br>";
  10. }
  11. } else if($_GET["co"]) {
  12. $co=intval($_GET["co"]); //zamieniamy zmienną na liczbe, zapobiega to atakom typu sql injection
  13. if(mysql_num_rows(mysql_query("select wiad_od from wiadomosci where wiad_id=$co and wiad_czyj=0 and wiad_do=".$_SESSION["zalogowany"]))) {
  14. mysql_query("update wiadomosci set wiad_przeczytane=1 where wiad_id=$co"); //po raz kolejny zostaje sprawdzony warunek,
  15. $wynik=mysql_query("select * from wiadomosci where wiad_id=$co and wiad_czyj=0"); //który również sprawdza właściciela wiadomości
  16. $rekord=mysql_fetch_array($wynik);
  17. $nadawca =mysql_fetch_array(mysql_query("select user_login from users where user_id=".$rekord["wiad_od"]));
  18. echo "<br><br><table><tr><td>Nadawca: ".$nadawca["user_login"]."</td><td>Data: ".date("d/m/Y H:i", strtotime($rekord["wiad_data"]))."</td><td><a href='odbiorcza.php?id=".$rekord["wiad_id"]."'>usuń</a></td></tr>";
  19. echo "<tr><td colspan=3>".$rekord["wiad_temat"]."</td></tr>";
  20. echo "<tr><td colspan=3>".$rekord["wiad_tresc"]."</td></tr>";
  21. echo "</table>";
  22. }
  23. } else {
  24. $wynik=mysql_query("select * from wiadomosci where wiad_do=".$_SESSION["zalogowany"]." and wiad_czyj=0 order by wiad_data");
  25. echo "<table><tr><td>Nadawca</td><td>Temat</td><td>Data</td><td>&nbsp;</td></tr>";
  26. if(!mysql_num_rows($wynik))echo "<tr><td colspan=4 style='text-align:center'>Nie masz żadnych wiadomości!</td></tr>";
  27. else while($rekord=mysql_fetch_array($wynik)) {
  28. $nadawca=mysql_fetch_array(mysql_query("select user_login from users where user_id=".$rekord["wiad_od"]));
  29. $kw1="";
  30. $kw2="";
  31. if(!$rekord["wiad_przeczytane"]) {
  32. $kw1="<b>";
  33. $kw2="</b>";
  34. }
  35. echo "<tr><td>".$nadawca["user_login"]."</td><td><a href='odbiorcza.php?co=".$rekord["wiad_id"]."'>$kw1".$rekord["wiad_temat"]."$kw2</td><td>".date("d/m/Y H:i", strtotime($rekord["wiad_data"]))."</td><td><a href='odbiorcza.php?id=".$rekord["wiad_id"]."'>usuń</a></td></tr>";
  36. }
  37. echo "</table>";
  38. }
  39. require "stopka.php";
  40. ?>

nadawcza.php
  1. <?
  2. require "sesje.php";
  3. require "naglowek.php";
  4.  
  5. if($_GET["id"]) {
  6. $id=intval($_GET["id"]);//zamieniamy zmienną na liczbe, zapobiega to atakom typu sql injection
  7. if(mysql_num_rows(mysql_query("select wiad_do from wiadomosci where wiad_id=$id and wiad_czyj=1 and wiad_od=".$_SESSION["zalogowany"]))) {
  8. mysql_query("delete from wiadomosci where wiad_id=$id"); //sprawdzamy czy wiadomość którą użytkownik chce usunąć faktycznie ależy do niego
  9. echo "Usunięto wiadomość!<br>";
  10. }
  11. } else if($_GET["co"]) {
  12. $co=intval($_GET["co"]); //zamieniamy zmienną na liczbe, zapobiega to atakom typu sql injection
  13. if(mysql_num_rows(mysql_query("select wiad_do from wiadomosci where wiad_id=$co and wiad_czyj=1 and wiad_od=".$_SESSION["zalogowany"]))) {
  14. $wynik=mysql_query("select * from wiadomosci where wiad_id=$co and wiad_czyj=1"); //po raz kolejny sprawdzamy czy wiadomość należy do użytkownika
  15. $rekord=mysql_fetch_array($wynik);
  16. $odbiorca=mysql_fetch_array(mysql_query("select user_login from users where user_id=".$rekord["wiad_do"]));
  17. echo "<br><br><table border=1><tr><td>Odbiorca: ".$odbiorca["user_login"]."</td><td>Data: ".date("d/m/Y H:i", strtotime($rekord["wiad_data"]))."</td><td><a href='odbiorcza.php?id=".$rekord["wiad_id"]."'>usuń</a></td></tr>";
  18. echo "<tr><td colspan=3>Temat: ".$rekord["wiad_temat"]."</td></tr>";
  19. echo "<tr><td colspan=3>".$rekord["wiad_tresc"]."</td></tr>";
  20. echo "</table>";
  21. }
  22. } else {
  23. $wynik=mysql_query("select * from wiadomosci where wiad_od=".$_SESSION["zalogowany"]." and wiad_czyj=1 order by wiad_data ");
  24. echo "<table><tr><td>Odbiorca</td><td>Temat</td><td>Data</td><td>&nbsp;</td></tr>";
  25. if(!mysql_num_rows($wynik))echo "<tr><td colspan=4 style='text-align:center'>Nie masz żadnych wiadomości!</td></tr>";
  26. else while($rekord=mysql_fetch_array($wynik)) {
  27. $odbiorca=mysql_fetch_array(mysql_query("select user_login from users where user_id=".$rekord["wiad_do"]));
  28. echo "<tr><td>".$odbiorca["user_login"]."</td><td><a href='nadawcza.php?co=".$rekord["wiad_id"]."'>".$rekord["wiad_temat"]."</td><td>".date("d/m/Y H:i", strtotime($rekord["wiad_data"]))."</td><td><a href='nadawcza.php?id=".$rekord["wiad_id"]."'>usuń</a></td></tr>";
  29. }
  30. echo "</table>";
  31. }
  32. require "stopka.php";
  33.  
  34. ?>
Go to the top of the page
+Quote Post

Posty w temacie
- stiw   [PHP] Problem z prywatnymi wiadomosciami   17.01.2011, 21:47:24
- - Kshyhoo   Testowałem kiedyś (jakieś 3 miesiące temu) ten skr...   17.01.2011, 21:53:16
- - stiw   Skrypt jest pobrany z archiwum, nie jest kopiowany...   17.01.2011, 21:55:06
- - Kshyhoo   No to problem leży u Ciebie. Jedynym mankamentem r...   17.01.2011, 21:58:58
- - stiw   Kurcze no nie wiem co jest nie tak . Jedyne co zmi...   17.01.2011, 22:16:39
- - Kshyhoo   Spróbuj zmienić w skrypcie odbiorczej z wiad_czyj=...   17.01.2011, 22:28:40
- - stiw   Zmienilem pierwotne wiad_czyj=1 w nadawczej na 0, ...   18.01.2011, 08:56:16
- - Kshyhoo   Coś mi świta, że na początku miałem jakiś problem,...   18.01.2011, 09:25:10
- - stiw   uzytkownicy to login : 1 haslo : 1 , oraz taki uzy...   18.01.2011, 09:37:13
- - Kshyhoo   Założyłem sobie konto Widzę tylko siebie, mogę wy...   18.01.2011, 09:40:14
- - stiw   Hm, jak widzisz tylko siebie ? Jak sie chce wyslac...   18.01.2011, 09:42:35
- - Kshyhoo   Teraz widzę teraz usera 1 i 2, widzę wiadomość od ...   18.01.2011, 09:43:50
- - stiw   O rety to ja juz nie wiem co jest zle :/ Czy to mo...   18.01.2011, 09:46:11
- - Kshyhoo   Raczej nie, to sprawa warunków, tak jak napisałem ...   18.01.2011, 09:48:57
- - stiw   Ok dzieki Mam nadzieje ze Ci sie uda dojsc co i j...   18.01.2011, 09:52:05
- - Kshyhoo   U mnie: 1. Skrzynka odbiorcza działa dobrze: - p...   18.01.2011, 10:22:17
- - stiw   Ok, teraz nadawcza juz dziala tzn moze zobaczyc wi...   18.01.2011, 10:28:58
- - Kshyhoo   Zobaczę, co się dzieje. U mnie odbiorcza działa, w...   18.01.2011, 13:14:57
- - stiw   Ok, nadawcza dziala juz calkowicie poprawnie, moge...   18.01.2011, 13:22:16
- - Kshyhoo   Nie wiedzieć czemu, widzę tylko kilka znaków w tyt...   18.01.2011, 13:35:01
- - stiw   No własnie wykłada sie przy polskich znakach nie w...   18.01.2011, 13:39:51
- - Kshyhoo   A dlaczego masz aż 3 tabele? A baza jedna? Struktu...   18.01.2011, 13:56:46
- - stiw   Są 3 tabele DANE_DZIEKANATU (ID, IMIE, NAZWISKO, L...   18.01.2011, 14:03:01
- - Kshyhoo   Generalnie: [SQL] pobierz, plaintext (SELECT i...   18.01.2011, 14:47:07
- - stiw   Ok dzieki Ale zalezy mi tylko na wyciagnieciu ID ...   18.01.2011, 15:12:24
- - Kshyhoo   Jaki edytor, jaki błąd? Jeżeli chcesz bez nazwisk,...   18.01.2011, 15:32:13
- - stiw   Wielkie dzieki Kshyhoo Dziala elegancko , jestes ...   18.01.2011, 15:55:17


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: 4.10.2025 - 04:53