[MySQL][PHP]Prywatne wiadomości - > skrzynka odbiorcza |
[MySQL][PHP]Prywatne wiadomości - > skrzynka odbiorcza |
18.02.2015, 21:45:58
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 3.04.2013 Ostrzeżenie: (0%) |
Cześć, mam pewien problem z którym nie mogę sobie poradzić . Mianowicie chodzi o prywatne wiadmości "skrzynka odbiorcza" nie wyświetla mi się treść wiadomości po naciśnięciu na temat -> przenosi do strona.pl/odbiorcza.php?co=8 - > 8 to id wiadomości lecz niestety nić sie nie wyświetla. Drugą sprawą jest to, że nie kasuje mi się rekord po naciśnięciu usuń
|
|
|
18.02.2015, 22:14:45
Post
#2
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
stosuj ' ' w zapytaniu przekazując argument do pola oraz przede wszystkim - budując zapytanie zmienne PHP wyrzucaj poza to zapytanie stosując konkatenację (czyli łączenie ciągu ze zmienną poprzez kropkę) np:
co do usuwania - możliwe, że to ten sam problem z wrzucaniem zmiennej php w ciąg zapytania. pzdr |
|
|
18.02.2015, 22:18:06
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Co ma piernik do wiatraka?
Problem masz w zapytaniu sprawdzającym czy są wiadomości. Sprawdzasz wiad_id=$id a powinieneś wiad_id=$co |
|
|
18.02.2015, 22:25:28
Post
#4
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 3.04.2013 Ostrzeżenie: (0%) |
Dalej nic to samo
zmieniony kod:
|
|
|
18.02.2015, 22:27:27
Post
#5
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
przy wartościach liczbowych niewiele ma ten piernik do wiatraka, ale jak będzie pobierał czy wrzucał inne dane to już może się wysypać, jak trafi na spację ; )
deklarujesz $id a korzystasz z $co : $id=intval($_GET["id"]); //zamieniamy zmienną na liczbe, zapobiega to atakom typu sql injection if(mysqli_num_rows($db->query("select wiad_od from wiadomosci where wiad_id='".$co."' and wiad_czyj=0 and wiad_od=".$user['id']))){ $db->query("delete from wiadomosci where wiad_id='".$co."'"); Ten post edytował freewalker 18.02.2015, 22:28:16 |
|
|
18.02.2015, 22:33:02
Post
#6
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 3.04.2013 Ostrzeżenie: (0%) |
Może jakieś pomysły jeszcze?
|
|
|
18.02.2015, 22:36:22
Post
#7
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
Może jakieś pomysły jeszcze? a zmieniłeś wszystko na powyższe? Ogólnie radziłbym jeszcze trochę zmienić logikę if, bo masz if(id)elseif(co). Zrób tak, żeby ID przekazywać zawsze w zmiennej id a to, co chcesz wykonać to np w zmiennej opt (opcja), tak aby link wyglądał: odbiorcza.php?opt=pokaz&id=".$rekord["wiad_id"]." //wyswietlanie wiadomosci odbiorcza.php?opt=usun&id=".$rekord["wiad_id"]." //usuwanie wiadomosci następnie sprawdzaj co wciśnięto w ten sposób: $id=(int)$_GET['id']; if($_GET['opt']=="pokaz") { akcje dla opcji pokaz } elseif($_GET['opt']=="usun") { akcje dla opcji usun } Ten post edytował freewalker 18.02.2015, 22:41:15 |
|
|
18.02.2015, 22:37:30
Post
#8
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 3.04.2013 Ostrzeżenie: (0%) |
Tak u góry w poście wkleiłem zmieniony kod
|
|
|
18.02.2015, 22:43:09
Post
#9
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
Tak u góry w poście wkleiłem zmieniony kod we wklejonym poście dalej masz błąd w kodzie: if($_GET["id"]){ $id=intval($_GET["id"]); //zamieniamy zmienną na liczbe, zapobiega to atakom typu sql injection if(mysqli_num_rows($db->query("select wiad_od from wiadomosci where wiad_id='".$co."' and wiad_czyj=0 and wiad_od=".$user['id']))){ $db->query("delete from wiadomosci where wiad_id='".$co."'"); //sprawdzamy czy wiadomość którą użytkownik chce usunąć faktycznie zależy do niego echo "Usunięto wiadomość!<br>"; } gdzie masz zmienną $co, skoro ID przypisujesz do zmiennej $id aaa spoko...na samej górze.... skąd miałem widzieć Ten post edytował freewalker 18.02.2015, 22:43:49 |
|
|
20.02.2015, 06:47:13
Post
#10
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 3.04.2013 Ostrzeżenie: (0%) |
Niestety dalej nic...
|
|
|
20.02.2015, 11:04:05
Post
#11
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Twój kod zemścił się na tobie za ten bałagan.
Weź to przeformatuj jak człowiek do czytelnej wersji a potem wstaw jeszcze raz kod. |
|
|
20.02.2015, 19:19:06
Post
#12
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 3.04.2013 Ostrzeżenie: (0%) |
Zrobiłem tak jak poradziłeś wszystko działa jak należy
Dopiero raczkuje w MYSQL/PHP dlatego też wygląda to tak a nie innaczej. |
|
|
20.02.2015, 19:37:55
Post
#13
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Problemy w 80% przypadków wynikają z niechlujstwa i niekonsekwencji.
Formatuj i porządkuj kod a zobaczysz że wiele problemów samo się rozwiąże |
|
|
Wersja Lo-Fi | Aktualny czas: 29.05.2024 - 08:59 |