Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Biała strona podczas wyboru
daw22
post 29.09.2007, 12:32:35
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 1.09.2007

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


Witam!
Jak wiadomo jestem początkującym, staram się dużo czytać, lecz nie mogę rozgryść do końca tego. Aby zrobić listę, a następnie wybrać jakiś rekord i go wyświetlić. Tak jak lista userów, wyświetla się cała jak naciśniemy na nick pokazują się dokładniejsze dane na nowej stronie.
Opierałem się na skryptach z innego forum
list.php
  1. <?
  2. include('includes/list2');
  3. if(isset($_GET['action']) && $_GET['action']=='all' OR $_GET['action'] == '')
  4. {
  5. all();
  6. }
  7.  
  8. if(isset($_GET['action']) && $_GET['action']=='pokaz' && is_numeric($_GET['nr']))
  9. {
  10. pokaz();
  11. }
  12. ?>

a następnie mam kolejny plik z zawartymi funkacjami
list2.php
  1. <?
  2. function all()
  3. {
  4. $connect_mysql = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die (mysql_error());
  5. mysql_select_db($mysql_db) or die(mysql_error());
  6. $query="SELECT * FROM servers";
  7. $result= @mysql_query($query);
  8. echo '<table align="center" border="0">';
  9. while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
  10. {
  11. echo "<tr>
  12. <td width=\"100\" align=\"center\"><a href=\"index.php?id=list&action=pokaz&nr={$row['server_id']}\">{$row['nazwa']}</a></td>
  13. </tr>";
  14.  
  15. }
  16. echo '</table>';
  17. }
  18. function pokaz()
  19. {
  20. $connect_mysql = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die (mysql_error());
  21. mysql_select_db($mysql_db) or die(mysql_error());
  22. $query="SELECT * FROM servers WHERE server_id='{$_GET['nr']}'";
  23. $result= @mysql_query($query);
  24. $row = mysql_fetch_array($result, MYSQL_ASSOC);
  25. echo '
  26. Nazwa: '.$row['nazwa'].'<br />
  27. IP: '.$row['ip'].'<br />
  28. ';
  29. }
  30. ?>

Wie może ktoś dlaczego jak wpiszę: index.php?id=list&action=pokaz&nr=1
nie wyświetla się ten server ; (
Tylko biała strona, dodam, że wszystko w bazie danych się znajduje..
Może ktoś doradzić/poprawić lub napisać prościej abym otrzymał to co chciałbym uzyskać z tego skryptu?
Z góry dziękuję!
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
c3zi
post 29.09.2007, 13:03:12
Post #2





Grupa: Zarejestrowani
Postów: 266
Pomógł: 20
Dołączył: 15.11.2006
Skąd: Koszalin

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


Sprawdź najpierw, w który warunek "wchodzi".


--------------------
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Go to the top of the page
+Quote Post
daw22
post 30.09.2007, 10:18:37
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 1.09.2007

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


hmm... nie rozumiem gdzie mam błąd..

odświeżam,
nadal nie mogę sobie z tym poradzić ;/
Go to the top of the page
+Quote Post
c3zi
post 30.09.2007, 10:32:33
Post #4





Grupa: Zarejestrowani
Postów: 266
Pomógł: 20
Dołączył: 15.11.2006
Skąd: Koszalin

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


To moze zacznij od usuniecia @ sprzed funkcji mysql. Ten znaczek powoduje, iz nie wypisuje tobie bledow.


--------------------
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Go to the top of the page
+Quote Post
daw22
post 30.09.2007, 11:41:47
Post #5





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 1.09.2007

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


nawet jak usunę ten znaczek pojawia się tylko pusta strona
Go to the top of the page
+Quote Post
NetJaro
post 30.09.2007, 15:33:40
Post #6





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

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


A źródło strony?

A zobaczy, czy zadziałają tak zbudowane te funkcje:

  1. <?
  2. function all()
  3. {
  4. $connect_mysql = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die (mysql_error());
  5. mysql_select_db($mysql_db) or die(mysql_error());
  6. $query="SELECT * FROM servers";
  7. $result= mysql_query($query);
  8. $return = '<table align="center" border="0">';
  9. while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
  10. {
  11. $return .= echo "<tr>
  12. <td width=\"100\" align=\"center\"><a href=\"index.php?id=list&action=pokaz&nr={$row['server_id']}\">{$row['nazwa']}</a></td>
  13. </tr>";
  14.  
  15. }
  16. $return .= '</table>';
  17. return $return;
  18. }
  19. function pokaz()
  20. {
  21. $connect_mysql = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die (mysql_error());
  22. mysql_select_db($mysql_db) or die(mysql_error());
  23. $query="SELECT * FROM servers WHERE server_id='{$_GET['nr']}'";
  24. $result= mysql_query($query);
  25. $row = mysql_fetch_array($result, MYSQL_ASSOC);
  26. echo '
  27. Nazwa: '.$row['nazwa'].'<br />
  28. IP: '.$row['ip'].'<br />
  29. ';
  30. }
  31. ?>

A jeżeli pojawi się jakiś błąd - wklej go.
Jeżeli źrodło strony jest puste - usuń warunki if i wklej tylko te funkcje do kodu, bez warunków. Wtedy musi coś się pojawić..
Go to the top of the page
+Quote Post
daw22
post 30.09.2007, 17:24:29
Post #7





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 1.09.2007

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


źródło strony jest puste..
a jeżeli wywalę if'y też się nic nie wyświetla :/ i oczywiście źródło strony jest puste..
Go to the top of the page
+Quote Post
Istalacar
post 30.09.2007, 18:20:59
Post #8





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

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


A wywołujesz cokolwiek?
Sprawdź może czy na pewno wysyłasz to na serwer, być może jest jakiś błąd przy wysyłaniu(?).
Spróbuj może w pierwszym kodzie zamiast include użyć funkcji require.
Poza tym sprawdź czy nie masz w jakiś sposób wyłączonego wyświetlania błędów.
Go to the top of the page
+Quote Post
daw22
post 30.09.2007, 18:37:13
Post #9





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 1.09.2007

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


nadal nic ;/
cały czas pusta strona i w źródle strony też nic nie ma..
Go to the top of the page
+Quote Post
Istalacar
post 30.09.2007, 18:43:31
Post #10





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

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


Jest to dla mnie zbyt dziwne, użyj najprostszego echo w skrypcie, gdziekolwiek w list.php, a potem także na wszelki wypadek w list2.php
Go to the top of the page
+Quote Post
atomek4
post 30.09.2007, 18:58:55
Post #11





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

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


A ta linia nie powinna przypadkiem tak wyglądać:

  1. <?php
  2. include('includes/list2.php');
  3. ?>


Spróbuj może też wywołać jedną z tych funkcji z pliku list2.php w jakimś nowym czystym pliku, oczywiście dodając w pasku adresu prawidłową zmienną ID.

Ten post edytował atomek4 30.09.2007, 19:01:57
Go to the top of the page
+Quote Post
NetJaro
post 30.09.2007, 19:01:46
Post #12





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

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


Gdzie masz serwer? Localhost czy gdzieś wykupiłeś?

@atomek4, słuszna uwaga ale czemu nie było o tym błędu..?
Go to the top of the page
+Quote Post
atomek4
post 30.09.2007, 19:06:48
Post #13





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

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


@NetJaro: wiesz co, sam się nad tym zastanawiam, może kolega ma coś zmienione w raportowaniu błędów. Bo include() generuje tylko warning.

Ten post edytował atomek4 30.09.2007, 19:07:06
Go to the top of the page
+Quote Post
daw22
post 30.09.2007, 19:31:18
Post #14





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 1.09.2007

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


server livenet.pl
a co do tego include, że tam .php brakowało to wcześniej zmieniłem, ale nie chciałem edytować bo posypał by się post..
all standardowe ustawienia.. i wiem, że błędy się pokazują bo testowałem na innych skryptach, nie wiem dlaczego to się tak zachowuje..
Go to the top of the page
+Quote Post
atomek4
post 30.09.2007, 20:02:51
Post #15





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

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


Spróbuj jeszcze to co tam ci wyżej pisałem. Utwórz w tym swoim katalogu nowy plik.php i wrzuć do niego coś takiego:

  1. <?php
  2. function pokaz()
  3. {
  4. $connect_mysql = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die (mysql_error());
  5. mysql_select_db($mysql_db) or die(mysql_error());
  6. $query="SELECT * FROM servers WHERE server_id=1";
  7. $result= @mysql_query($query);
  8. $row = mysql_fetch_array($result, MYSQL_ASSOC);
  9. echo '
  10. Nazwa: '.$row['nazwa'].'<br />
  11. IP: '.$row['ip'].'<br />
  12. ';
  13. }
  14.  
  15. pokaz();
  16. ?>


O ile id=1 istnieje w bazie, jeśli nie wstaw takie jakie jest na 100%. Spróbuj, może przynajmniej uda nam się coś wykluczyć.

Po drugie masz plik list1.php i list2.php, potem przy sposobie wywołania piszesz index.php?itd... To chyba tylko niedopatrzenie?

Ten post edytował atomek4 30.09.2007, 20:03:28
Go to the top of the page
+Quote Post
daw22
post 30.09.2007, 20:09:18
Post #16





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 1.09.2007

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


doszedłem..
nie wiem czemu ale jak dalismy w funkcji, żeby się połączył z bazą danych to tak naprawdę się nie łączył, a jak połączenie wywaliłem za bazę danych to nagle się wyświetliło..
Ale dzieki, że pomagaliście ; ))
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.07.2025 - 02:22