Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MSSQL][PHP]Rozwiązane, sd
RaitoPL
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 17.07.2012

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


Witam. Mam mały problem z ifami, pogubiłem się chyba ;o. Mianowicie: mój skrypt wygląda tak, jak podałem niżej. Na pewno po chwili zobaczycie błąd i mi pomożecie, za co będę wdzięczny i tradycyjnie postawię browarka. Chodzi o to, że sprawdzam, czy istnieje użytkownik, jeśli w GET wpisano profile&id=x, i to działa, tyle, że dodatkowo później sprawdzam, czy istnieje admin tym samym sposobem i niestety - komunikaty w przypadku nieznalezienia (nieważne czy) usera/admina się mieszają i wychodzi "Niestety. Taki użytkownik nie istnieje w bazie.Taki admin nie istnieje.". Jak to poprawić? Po prostu pewnie coś z kolejnością. Będę wdzięczny za pomoc.
  1. <?php
  2. //Łączenie z bazą.
  3. include_once 'db.php';
  4. //Jeśli w GET nic nie ma, pokazuje zbanowanych.
  5. if(!count($_GET) > 0){
  6. $nicks = mysql_query("SELECT * FROM black_users order by id desc");
  7. while($nicki = mysql_fetch_array($nicks)){
  8. echo "<a href='?profile&id=$nicki[id]'><b>$nicki[nick]</b></a><br>";
  9. }
  10. }
  11. //Sprawdzanie, czy ID istnieje.
  12. $zmienna = mysql_query("SELECT * FROM black_users where id ='$id'");
  13. $sprawdzajka = mysql_num_rows($zmienna);
  14. if ($sprawdzajka == 0)
  15. {
  16. echo "<b>Niestety. Taki użytkownik nie istnieje w bazie.</b>";
  17. //Jeśli w get wpisano profile, to pokaże info.
  18. }
  19. else{
  20. if(isset($_GET['profile']))
  21. {
  22. $query = mysql_query("SELECT * FROM black_users where id='$id'");
  23. $info = mysql_fetch_array($query);
  24. $admin = $info[zbanowal];
  25. $doadminid = mysql_query("SELECT * FROM admini where nick='$admin'");
  26. $adminid = $doadminid[id];
  27. Status: $info[status]<br>
  28. Zbanowany przez: <a href=?admin&id=$adminid>$info[zbanowal]</a><br>
  29. Kontakt Gadu-Gadu: $info[gg]<br>
  30. <b>Temat i <u>dowody</u></b>: $info[temat]<br>
  31. ";
  32. }
  33. }
  34. $zmienna1 = mysql_query("SELECT * FROM admini where id = '$id'");
  35. $sprawdzajka1 = mysql_num_rows($zmienna1);
  36. if ($sprawdzajka1 ==0)
  37. {
  38. echo "<b>Taki admin nie istnieje.</b>";
  39. }
  40. else{
  41. if(isset($_GET['admin']))
  42. {
  43. $query2 = mysql_query("SELECT * FROM admini where id='$id2'");
  44. $info2 = mysql_fetch_array($query2);
  45. Nick: $info2[nick]
  46. Gadu-Gadu: $info2[gg]
  47. Zbanował już <b>$info2[zbanowani]</b> oszustów!
  48. ";
  49. }
  50. }
  51. ?>


Ten post edytował RaitoPL 27.01.2013, 14:33:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
aras785
post
Post #2





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


Mały bałagan ale chyba wiem o co chodzi.
linia 37 i 38, masz zmienna $id1, a w zapytaniu dajesz: $id

Ten post edytował aras785 26.01.2013, 23:20:38
Go to the top of the page
+Quote Post
RaitoPL
post
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 17.07.2012

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


Niee, to nie to. Jak czytałem post, to znalazłem i zmieniłem, niestety - wciąż to samo ; f. Może coś z klamrami..
Go to the top of the page
+Quote Post
Wazniak96
post
Post #4





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


Po wyświetleniu, że user nie ustnieje zakącz działanie skryptu. (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
RaitoPL
post
Post #5





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 17.07.2012

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


Znaczy się, zamknąć cały skrypt (?>) ? To później będę musiał znowu includować połączenie i minę się z celem pisania tego w jednym pliku (IMG:style_emoticons/default/wink.gif) .
Go to the top of the page
+Quote Post
aras785
post
Post #6





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


Pomyśl o switch
Go to the top of the page
+Quote Post
Wazniak96
post
Post #7





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


niee.. chodzi mi o zakąńczenie przez die, w tym wypadku linijka 17.
  1. die("<b>Niestety. Taki użytkownik nie istnieje w bazie.</b>");

PS: Zastosowanie jedynie wtedy bd spełniało oczekiwanie gdy wyświetlenie txt jest ostatnią akcją. ;P

Ten post edytował Wazniak96 26.01.2013, 23:38:52
Go to the top of the page
+Quote Post
kristaps
post
Post #8





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Warunki wyglądają ok, bardziej bym stawiał, że zapytanie nic nie zwraca.
Go to the top of the page
+Quote Post
RaitoPL
post
Post #9





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 17.07.2012

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


Dałem to tak i teraz jak wchodzę w ?admin&id=x, to wyskakuje komunikat o braku użytkownika zbanowanego, a nie braku admina.
  1. <?php
  2. //Łączenie z bazą.
  3. include_once 'db.php';
  4. //Jeśli w GET nic nie ma, pokazuje zbanowanych.
  5. if(!count($_GET) > 0){
  6. $nicks = mysql_query("SELECT * FROM black_users order by id desc");
  7. while($nicki = mysql_fetch_array($nicks)){
  8. echo "<a href='?profile&id=$nicki[id]'><b>$nicki[nick]</b></a><br>";
  9. }
  10. }
  11. //Sprawdzanie, czy ID istnieje.
  12. $zmienna = mysql_query("SELECT * FROM black_users where id ='$id'");
  13. $sprawdzajka = mysql_num_rows($zmienna);
  14. if ($sprawdzajka == 0)
  15. {
  16. die( "<b>Niestety. Taki użytkownik nie istnieje w bazie.</b>");
  17. //Jeśli w get wpisano profile, to pokaże info.
  18. }
  19. else{
  20. if(isset($_GET['profile']))
  21. {
  22. $query = mysql_query("SELECT * FROM black_users where id='$id'");
  23. $info = mysql_fetch_array($query);
  24. $admin = $info[zbanowal];
  25. $doadminid = mysql_query("SELECT * FROM admini where nick='$admin'");
  26. $adminid = $doadminid[id];
  27. Status: $info[status]<br>
  28. Zbanowany przez: <a href=?admin&id=$adminid>$info[zbanowal]</a><br>
  29. Kontakt Gadu-Gadu: $info[gg]<br>
  30. <b>Temat i <u>dowody</u></b>: $info[temat]<br>
  31. ";
  32. }
  33. }
  34. $xzmienna = mysql_query("SELECT * FROM admini where id = '$xid'");
  35. $xsprawdzajka = mysql_num_rows($xzmienna);
  36. if ($xsprawdzajka ==0)
  37. {
  38. die( "<b>Taki admin nie istnieje.</b>");
  39. }
  40. else{
  41. if(isset($_GET['admin']))
  42. {
  43. $query = mysql_query("SELECT * FROM admini where id='$id'");
  44. $info = mysql_fetch_array($query);
  45. Nick: $info[nick]
  46. Gadu-Gadu: $info[gg]
  47. Zbanował już <b>$info[zbanowanych]</b> oszustów!
  48. ";
  49. }
  50. }
  51. ?>



@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Może dlatego, że daję tam
if{isset($_GET['x']), a w adresie jest jeszcze "&id"?

Ten post edytował RaitoPL 26.01.2013, 23:49:39
Go to the top of the page
+Quote Post
kristaps
post
Post #10





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Nadal wydaje mi się, że chodzi o puste zapytanie, lub coś z GETem. Ustaw go na sztywno w skrypcie i odpal, wtedy wyeliminujesz kwestię błędnych ifów - o ile są.
Go to the top of the page
+Quote Post
aras785
post
Post #11





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


Po każdym mysql_fetch zapodaj printa_r($wynik) i zobacz czy na bank wszystko z zapytaniami jest ok.
Go to the top of the page
+Quote Post
RaitoPL
post
Post #12





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 17.07.2012

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


Dałem tylko to do nowego pliku i działa jak ma działać.
  1. <?php
  2. include 'db.php';
  3. $xzmienna = mysql_query("SELECT * FROM admini where id = '$xid'");
  4. $xsprawdzajka = mysql_num_rows($xzmienna);
  5. if ($xsprawdzajka ==0)
  6. {
  7. die( "<b>Taki admin nie istnieje.</b>");
  8. }
  9. else{
  10. if(isset($_GET['admin']))
  11. {
  12. $query = mysql_query("SELECT * FROM admini where id='$id'");
  13. $info = mysql_fetch_array($query);
  14. Nick: $info[nick]
  15. Gadu-Gadu: $info[gg]
  16. Zbanował już <b>$info[zbanowanych]</b> oszustów!
  17. ";
  18. }
  19. }
  20. ?>

Więc nie wiem, co nie trybi ._.
Btw. nie działa mi coś, bo jak jest
  1. $admin = $info['zbanowal'];
  2. $doadminid = mysql_query("SELECT * FROM admini where nick='$admin'");
  3. $adminid = $doadminid[id];

to daję jeszcze
  1. echo "Zbanowany przez: <a href=?admin&id=$adminid>$info[zbanowal]</a><br>"

Ale po najechaniu/kliknięciu w link, nie dodaje ID, czyli coś się nie trybi tam.
Go to the top of the page
+Quote Post
kristaps
post
Post #13





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Zastosuj się do postów wyżej, będziesz wszystko wiedział. Nie mamy dostępu do bazy, sami tego nie sprawdzimy.
Go to the top of the page
+Quote Post
RaitoPL
post
Post #14





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 17.07.2012

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


Złota rada.. Stosowałem się. Nie przejdę na switch ze swoich powodów. Więc to jedno odpada. Dałem print_r i wszystko dobrze wyświetla, a mimo to, błąd występuje nadal.

Ten post edytował RaitoPL 27.01.2013, 00:02:20
Go to the top of the page
+Quote Post
aras785
post
Post #15





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


  1. if(isset($_GET['admin']) and !isset($_GET['profile']))
  2.  
  3. if(!isset($_GET['admin']) and isset($_GET['profile']))


Może to coś da
Go to the top of the page
+Quote Post
RaitoPL
post
Post #16





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 17.07.2012

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


Okej, problem rozwiązany (IMG:style_emoticons/default/wink.gif) .

Ten post edytował RaitoPL 27.01.2013, 14:32:51
Go to the top of the page
+Quote Post

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: 15.09.2025 - 02:11