Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobierane dane tylko do konkretnego ID
myxoske
post 5.10.2016, 21:02:57
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.10.2016

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


Witam,

Stworzyłem proste polecenie, które ma za zadanie pobierać tytuł zgodny z ID i wyświetlać go na stronie.
Wszystko działało pięknie dopóki nie przekroczyłem ID 120, wszystkie ID powyżej nie wyświetlają już tytułu:

  1. $tytul_strony = ("/wiadomosci/$id");
  2. if($tytul_strony==$link)
  3. {
  4. $message = mysql_query("select title from messenger where id='".$_GET['id']."'");
  5. $show = mysql_fetch_array($message);
  6. $title = $show['title'];
  7. $title = "Wiadomość: $title";
  8. mysql_query("UPDATE messenger SET viewed='1' WHERE id='".$_GET['id']."'");
  9. }





Wie ktoś co może być przyczyną problemu?

Pozdrawiam
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 07:30:35
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


Korzystanie z mysql w php w takiej jest przestarzałe. Umieszczanie $_GET bezpośrednio w zapytaniu jest niebezpieczne. Czy wiersz w tabeli o id 5555 istnieje?


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
myxoske
post 6.10.2016, 07:43:18
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.10.2016

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


Wiersz istnieje i jeśli dla przykładu jego ID zmienie na wartość poniżej 120 - wyświetla się prawidłowo. Co do pozostałych wskazówek na pewno się zastosuje i poprawię kod.
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 08:10:49
Post #4





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


Próbowałeś zdumpować i zobaczyć czy odpowiednie wyniki zwraca $message, $show ?
(var_dump)


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
myxoske
post 6.10.2016, 08:42:09
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.10.2016

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


Również przy użyciu var_dump nie zwraca żadnych wyników (przy ID powyżej 120). Natomiast po zmianie ID na niższe zwraca prawidłowo

  1. var_dump($show, $message);
  2. // i wynik
  3. array(2) { [0]=> string(11) "sacascsacas" ["title"]=> string(11) "sacascsacas" } resource(11) of type (mysql result)
Go to the top of the page
+Quote Post
Turson
post 6.10.2016, 08:45:43
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Jaki jest typ pola `id`?
Go to the top of the page
+Quote Post
maly_swd
post 6.10.2016, 08:58:05
Post #7





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


  1. $message = mysql_query("select title from messenger where id=".((int)$_GET['id']));
  2.  


Ten post edytował maly_swd 6.10.2016, 08:58:27


--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post
myxoske
post 6.10.2016, 09:27:20
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.10.2016

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


Typ pola to int(10)

Cytat
  1. var_dump($show, $message);
  2. // i wynik
  3. array(2) { [0]=> string(11) "sacascsacas" ["title"]=> string(11) "sacascsacas" } resource(11) of type (mysql result)


Niestety w dalszym ciągu to samo
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 09:36:18
Post #9





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


Raportowanie i wyświetlanie błędów masz włączone?
Na dobrą sprawę powinno się wyświetlać samo "Wiadomość: " blink.gif

ps. jak wygląda kod wyświetlający zmienną z tytułem

Ten post edytował emstawicki 6.10.2016, 09:38:19


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
myxoske
post 6.10.2016, 11:06:09
Post #10





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.10.2016

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


Cytat(emstawicki @ 6.10.2016, 10:36:18 ) *
Raportowanie i wyświetlanie błędów masz włączone?


  1. Notice: Undefined variable: title in /var/www/wiadomosci.php on line 182


Tylko, że tak jak wcześniej po zmianie ID w bazie komunikat się nie wyświetla

Cytat(emstawicki @ 6.10.2016, 10:36:18 ) *
Na dobrą sprawę powinno się wyświetlać samo "Wiadomość: " blink.gif
ps. jak wygląda kod wyświetlający zmienną z tytułem


  1. <div class="here-sub">
  2. <i class="fa fa-home mr5" aria-hidden="true"></i> <a href="/" class="red link">Strona główna</a> ? <a href="/wiadomosci" class='red link'>Wiadomości</a> ? <?php echo $title ?>
  3. </div>


Ten post edytował myxoske 6.10.2016, 11:06:44
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 11:11:36
Post #11





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


Linia 182 to jest
  1. $title = "Wiadomość: $title";

questionmark.gif
Ma to znacznie smile.gif


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
myxoske
post 6.10.2016, 11:25:00
Post #12





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.10.2016

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


Nawet jak zmienię na:

  1. $tytul = $show['title'];
  2. $wyswietl = "Wiadomość: $tytul";
  3. // Wyświetla się
  4. Notice: Undefined variable: wyswietl in /var/www/wiadomosci.php on line 182


I jak poprzednio po zmianie ID na niższe wyświetla prawidłowo

Ten post edytował myxoske 6.10.2016, 11:25:32
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 12:08:05
Post #13





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


Ponawiam pytanie o linię 182...


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
myxoske
post 6.10.2016, 12:21:44
Post #14





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.10.2016

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


Cytat(emstawicki @ 6.10.2016, 13:08:05 ) *
Ponawiam pytanie o linię 182...


Linijka 182

  1. 182 <i class="fa fa-home mr5" aria-hidden="true"></i> <a href="/" class="red link">Strona główna</a> ť <a href="/wiadomosci" class='red link'>Wiadomości</a> ť <?php echo $title; ?>


Nie wiem dlaczego ale powyżej ID 120
  1. $tytul_strony = ("/wiadomosci/$id");
  2. if($tytul_strony==$link)
  3. //zwraca że nie jest to prawda więc nie definiuje zmiennej $title
  4. // Pytanie tylko dlaczego


Ten post edytował myxoske 6.10.2016, 12:23:46
Go to the top of the page
+Quote Post
nansss93
post 6.10.2016, 12:28:57
Post #15





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 27.10.2015

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


A jak wygląda zmienna
  1. $link
?
Go to the top of the page
+Quote Post
myxoske
post 6.10.2016, 12:34:02
Post #16





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.10.2016

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


Cytat(nansss93 @ 6.10.2016, 13:28:57 ) *
A jak wygląda zmienna
  1. $link
?


  1. //Zmienna $link
  2. $link = $_SERVER['REQUEST_URI'];
Go to the top of the page
+Quote Post
viking
post 6.10.2016, 12:36:54
Post #17





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Wyechuj sobie obie zmienne i porównaj.


--------------------
Go to the top of the page
+Quote Post
myxoske
post 6.10.2016, 12:42:39
Post #18





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.10.2016

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


Cytat(viking @ 6.10.2016, 13:36:54 ) *
Wyechuj sobie obie zmienne i porównaj.


Zarówno w ID poniżej jak i powyżej 120 zwraca prawidłowo obie zmienne
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 12:46:02
Post #19





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


Czyli jesteś pewien że warunek:
  1. if($tytul_strony==$link)

jest spełniony?


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
viking
post 6.10.2016, 12:54:22
Post #20





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Cytat(myxoske @ 6.10.2016, 13:42:39 ) *
//zwraca że nie jest to prawda
Zarówno w ID poniżej jak i powyżej 120 zwraca prawidłowo obie zmienne


Czary mary? Skoro zwraca false to druga część twojej wypowiedzi nie może być prawdą wink.gif


--------------------
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: 18.04.2024 - 18:41