Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wstawianie php do html'a
shaggard
post 4.08.2006, 14:13:39
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 3.08.2006

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


witam

Jestem noworodkiem jesli chodzi o php'a wiec prosze o wyrozumialosc.
Mam stronke w htmlu i mam plik2.php. ktory ma za zadanie sprawdzac aktywne kompy w sieci i wynik ma byc wyswietlany na stronie w postaci graficznej (drzewa) za pomoca 2 gifow (komp_on komp_off). w ktorym miejscu i jak umiescic ten skrypt w htmlu by po kazdym odswierzeniu strony uruchamial sie i jak rozwiazac sprawe gifow aby sie pojawialy te prawidlowe w zaleznosci od tego czy komp jest w sieci czy nie.

pozdrawiam
Go to the top of the page
+Quote Post
Athlan
post 4.08.2006, 14:28:49
Post #2





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


nie wiem ocb ale sie domyślam... chcesz sprawdzić czy komp w Twojej sieci jest online czy nie...

fsockopen" title="Zobacz w manualu php" target="_manual i jego ip ?

pozdrawiam smile.gif


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
shaggard
post 4.08.2006, 14:33:25
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 3.08.2006

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


dokladnie o to mi chodzi. cos takiego jak na tej stronce http://mieszka.net .
tylko wlasnie nie wiem jak to wrzucic do htmla na strone i tez co zrobic zeby pozniej odpowiednie gify na stronie sie ladowaly pokazujac prawidlowy stan kompa
pozdrawiam

Ten post edytował shaggard 4.08.2006, 14:37:40
Go to the top of the page
+Quote Post
Athlan
post 4.08.2006, 14:43:18
Post #4





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


no tak jak mówiłem, otwórz linka i poczytaj o tej funkcji smile.gif


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
eai
post 4.08.2006, 14:48:47
Post #5





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

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


Cytat
tylko wlasnie nie wiem jak to wrzucic do htmla na strone i tez co zrobic zeby pozniej odpowiednie gify na stronie sie ladowaly


1. Piszesz skrypt sprawdzający, wykorzystujesz funkcje która kolega Ci podał.
2. Wynik FALSE lub TRUE zwracasz w zmiennej $connected
3. Generujesz widok do html.

Przykładowo:
  1. <?php
  2.  
  3.  
  4.  if($connected) { //TRUE
  5.  echo '<img src="komp_on.gif">';
  6.  }
  7.  
  8.  else { //FALSE
  9.  echo '<img src="komp_off.gif">';
  10.  }
  11.  
  12. ?>
Go to the top of the page
+Quote Post
shaggard
post 4.08.2006, 19:01:32
Post #6





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 3.08.2006

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


OK wszystko rozumie. Dzieki chlopaki.
Jednak czytam o tej funkcji fsockopen, i sie pogubilem.
naprawde staram sie cos sklecic ale po prostu sie gubie i nie wiem od czego zaczac w ogole. sad.gif
Dopiero zaczalem przygode z php'em i niedawno kupilem sobie dopiero ksiazke, takze prosze o wyrozumialosc i cierpliwosc.
pozdrawiam

Ten post edytował shaggard 4.08.2006, 19:02:35
Go to the top of the page
+Quote Post
eai
post 4.08.2006, 19:17:46
Post #7





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

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


  1. <?php
  2.  
  3. $ip = '192.168.0.100'; //IP Komputera który chcesz sprawdzic.
  4. $fp = @fsockopen($ip, 80, $errno, $errstr, 30);
  5.  
  6. if (!$fp) {
  7. echo '<img src="komp_off.gif">';
  8. } 
  9. else 
  10. {
  11. echo '<img src="komp_on.gif">';
  12. }
  13.  
  14. ?>


Polecam Ci najpierw zapoznać się z jakimś kursem ogólnym o php.
Po pierwsze tworzysz sobie tablicę z userami sieci i ich IP.
Potem przechwytujesz tablice foreach() i kolejno podstawiasz kazdy IP do fsockopen i zapisujesz status do tej tablicy czy jest ON czy OFF. Potem przechwytujesz statusy i generujesz widok Html'a.

Polecam kurs: http://www.leon.w-wa.pl/texts/kurs/
Poczytaj tez o: array" title="Zobacz w manualu php" target="_manual foreach" title="Zobacz w manualu php" target="_manual

To by było na tyle. Życze powodzenia.

Ten post edytował eai 4.08.2006, 19:20:08
Go to the top of the page
+Quote Post
shaggard
post 5.08.2006, 13:49:07
Post #8





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 3.08.2006

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


dzieki

pozdrawiam

witam ponownie

mam cos takiego , wynik tego jest taki ze najpierw wyswietla mi liste wszystkich uzytkownikow a pod spodem dopiero ikony. Jak zrobic aby wyciagal automatycznie z tablicy wszystkich userow sprawdzajac po kolei, bo narazie musze wpisywac ip z reki i jak zrobic aby ikonki pozazywaly sie przy nazwie usera tzn uzytkownik i obok ikona a nie jak dotychczas.
  1. <?php
  2.  
  3. include ('cont.php');
  4.  
  5. $adres_ip = '10.0.0.2';
  6.  
  7. $fp = fsockopen($adres_ip, 8080, $errno, $errstr, 10);
  8.  
  9. if(!$fp) {
  10.  echo '<img src="./data/komp_off.gif">';
  11.  }
  12. if($fp) {
  13.  echo '<img src="./data/komp_on.gif">';
  14.  }
  15.  
  16. pozdrawiam
  17.  
  18.  
  19. ?>


plik cont.php tablica :
  1. <?php
  2. ?php
  3.  
  4. $tab = array(
  5. '10.0.0.2' => 'user1',
  6. '10.0.0.3' => 'user2',
  7. '10.0.0.4' => 'user3',
  8. '10.0.0.5' => 'user4',
  9. '10.0.0.6' => 'user5',
  10. );
  11.  
  12. foreach ($tab as $adres_ip) {
  13.  echo "$adres_ip<br>n";
  14. }
  15.  
  16. ?>
Go to the top of the page
+Quote Post
eai
post 5.08.2006, 14:18:53
Post #9





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

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


Dobrze kombinujesz. Wystarczy tylko teraz wstawic do foreach jest funkcje fsockopen i po sprawie smile.gif


  1. <?php
  2.  
  3. $tablica = array();
  4. $tablica['user1'] = '10.0.0.2';
  5. $tablica['user2'] = '10.0.0.3';
  6. $tablica['user3'] = '10.0.0.4';
  7. $tablica['user4'] = '10.0.0.5';
  8. $tablica['user5'] = '10.0.0.6';
  9.  
  10.  
  11. foreach ($tablica as $user => $adres_ip ) {
  12.  
  13. $fp = fsockopen($adres_ip, 8080, $errno, $errstr, 10);
  14.  
  15. echo 'Użytkownik: ' . $user . '<br>';
  16. echo 'Adres IP: ' . $adres_ip . '<br>';
  17.  
  18. if(!$fp) {
  19.  
  20.  echo '<img src="./data/komp_off.gif">';
  21.  
  22.  }
  23.  
  24. if($fp) {
  25.  
  26.  echo '<img src="./data/komp_on.gif">';
  27.  
  28.  }
  29.  
  30.  echo '<hr>';
  31.  
  32. }
  33.  
  34. ?>


Ten post edytował eai 5.08.2006, 14:20:59
Go to the top of the page
+Quote Post
shaggard
post 5.08.2006, 19:40:10
Post #10





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 3.08.2006

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


staram sie smile.gif Dzieki za pomoc.
Jak mozesz to zerknij na to http://netservis.no-ip.org/siec.php.
jak to mowia apetyt rosnie w miare jedzenia. i tak sie teraz zastanawiam jak zrobic zeby to bylo przedstawione na tym schemacie. Bo siedze juz ze 4 godziny nad tym i nic nie udalo mi sie wykombinowac. sad.gif

Aha tak na marginesie strasznie ladowanie tej podstronki jest spowolnione. Czyzby tyle czasu zajmowalo mu wykonanie tego skryptu??

pozdrawiam
Go to the top of the page
+Quote Post
MagnuM
post 5.08.2006, 20:56:53
Post #11





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Jelenia Góra

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


Cytat
jak to mowia apetyt rosnie w miare jedzenia. i tak sie teraz zastanawiam jak zrobic zeby to bylo przedstawione na tym schemacie. Bo siedze juz ze 4 godziny nad tym i nic nie udalo mi sie wykombinowac.

Musisz odpowiednio poustawiać ramki. Najprościej będzie, jeżeli w tej sieci znajduje się stała liczba odbiorców, zrobić te ramki ręcznie. Czyli robisz kod wyświetlający najpierw ten duży obrazek, później odpowiednio ustawiasz ramki pod mniejsze obrazki identyfikujące stan aktywności w sieci dla danego użytkownika. Mam nadzieje że potrafisz to zrobić sam?

Można też zrobić to dynamicznie, ale to troszkę więcej zachodu. Robiłem takie coś w swoim czasie i jest wykonalne (jak prawie wszystko), ale i tak jestem zdania, że w tym przypadku nie będzie to konieczne.


Cytat
Aha tak na marginesie strasznie ladowanie tej podstronki jest spowolnione. Czyzby tyle czasu zajmowalo mu wykonanie tego skryptu??

Ten skrypt w obecnej formie nie ma prawa generować takiego przeciążenia, które byłoby bardziej zauważalne niż wyświetlenie napisu 'Hello world!' w skrypcie początkującego programisty. guitar.gif Taki żarcik.

Ten post edytował MagnuM 5.08.2006, 20:57:14


--------------------
Go to the top of the page
+Quote Post
shaggard
post 5.08.2006, 21:21:54
Post #12





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 3.08.2006

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


Tak to teraz wyglada. Czyli tabela ze strony. Zreszta jak zapewne mogles odczytac po linku.
  1. <table border="0" cellpadding="0" cellspacing="0">
  2. <tr>
  3. <td colspan="6"><img src="./data/schemat.gif"></td>
  4. </tr>
  5. <tr align="center">
  6. <td width="73"><img src=""><br><font class="tekst">Router</font></td>
  7. <td width="73"><img src=""><br>
  8. <font class="tekst">Netservis</font></td>
  9. <td width="73"><img src="./data"><br>
  10. <font class="tekst">B.Raczy</font></td>
  11. <td width="73"><img src="./data/komp_on.gif"><br>
  12. <font class="tekst">T.Raczy</font></td>
  13. <td width="73"><img src="./"><br>
  14. <font class="tekst">Galina</font></td>
  15. <td width="73"><img src="./data/komp_off.gif"><br>
  16. <font class="tekst">Gosia</font></td>
  17. <td width="73"><img src="./data/komp_off.gif"><br>
  18. <font class="tekst">Dlink-900AP</font></td>
  19. </tr>
  20. <tr>
  21. <td colspan="6">&nbsp;</td>
  22. </tr>
  23. <tr align="center">
  24. <td width="73"><img src="./data/komp_on_wifi.gif"><br>
  25. <font class="tekst">Asmax</font></td>
  26. <td width="73"><img src="./data/komp_on.gif"><br><font class="tekst">Dlink-512</fo
  27. <td width="73"><img src="./data/komp_off.gif"><br>
  28. <font class="tekst">Tomek.W</font></td>
  29. <td width="73"><img src="./data/komp_off.gif"><br>
  30. <font class="tekst">Piotrek.W</font></td>
  31. <td width="73"><img src="./data/komp_off.gif"><br>
  32. <font class="tekst">Pawel.W</font></td>
  33. <td width="73"><img src="./data/komp_off.gif"><br>
  34. <font class="tekst">Ania.W</font></td>
  35. <td>&nbsp;</td>
  36. </tr>
  37. </tbody>


Probowalem tutaj cos kombinowac ale niestety nic mi nie wychodzilo
W sieci narazie jest stala liczba uzytkownikow. A zawsze chyba mozna z reki potem dodac jakby liczba ta sie zmienila. Szczerze to nie bardzo sie jeszcze orientuje. Moze jesli mozesz daj jakis przyklad tak zebym mogl sie oprzec na nim. Dopiero zaczynam przygode z programowaniem takze...sam wiesz.
pozdrawiam
Go to the top of the page
+Quote Post
MagnuM
post 5.08.2006, 21:35:45
Post #13





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Jelenia Góra

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


  1. <?php
  2. $iTrCountUser = 6; // ilość użytkowników na jeden znacznik <tr> czyli na jeden wiersz
  3.  
  4. echo '
  5. <table border="0" cellpadding="0" cellspacing="0">
  6. <tbody>
  7. <tr>
  8. <td colspan="'. $iTrCountUser .'">'; // ilość użytkowników na jeden znacznik <tr> czyli na jeden wiersz
  9. echo '
  10. <img src="./data/schemat.gif">
  11. </td>
  12. </tr>
  13. <tr align="center">';
  14. for($a = 1; $a <= $iTrCountUser; $a++)
  15. {
  16.  
  17. $sStatus = 'offline'; // tutaj dodasz sobie dynamicznie status użytkownika
  18. <td width="73">
  19. <img src="'. $status.'.jpg"><br><font class="tekst">'. $sUserName .'</font>
  20. </td>
  21. ';
  22. }
  23. </tr>
  24. </tbody>
  25. </table>
  26. ';
  27. ?>


PS. w tym miejscu parser też działa nieprawidłowo. Gdy nie używa się schematu funkcji (z nawiasami) dla instrukcji echo, a tekst znajduje się pomiędzy apostrofami, to znaki specjalne nie muszą być poprzedzane "\" ('wstecznym' ukośnikiem).

EDIT: Kolego popraw ramki w poprzendim poście bo się okno rozjeżdża ;p

Ten post edytował MagnuM 5.08.2006, 22:41:56


--------------------
Go to the top of the page
+Quote Post
shaggard
post 5.08.2006, 22:24:48
Post #14





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 3.08.2006

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


OK wielkie dzieki .
tylko o co tak dokladnie chodzi z tym dynamicznym dodawaniem statusu uzytkownika
  1. <?php
  2. $sStatus = 'offline'; // tutaj dodasz sobie dynamicznie status użytkownika
  3. <td width="73">
  4. <img src="'. $status.'.jpg"><br><font class="tekst">'. $sUserName .'</font>
  5. </td>
  6. ';
  7. ?>

Ten fragment kodu jak rozumie dotyczy jednego uzytkownika. czyli trzeba powielic go tyle razy ilu jest uzytkownikow. Zgadza sie?

pozdrawiam
Go to the top of the page
+Quote Post
MagnuM
post 5.08.2006, 22:41:41
Post #15





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Jelenia Góra

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


Ten fragment kodu jest powielany przez php za pomocą pętli for (w tym przypadku).

Musisz poprostu przenieść ten kod, który miałeś do tego tutaj (w obręb pęti for).

Prościej będzie na zasadzie tej pętli którą miałeś. Możesz więc zastąpić pętlę for pętlą foreach.

  1. <?php
  2. $tablica['user1'] = '10.0.0.2';
  3. $tablica['user2'] = '10.0.0.3';
  4. $tablica['user3'] = '10.0.0.4';
  5. $tablica['user4'] = '10.0.0.5';
  6. $tablica['user5'] = '10.0.0.6';
  7.  
  8. foreach ($tablica as $user => $adres_ip )
  9. {
  10. $fp = fsockopen($adres_ip, 8080, $errno, $errstr, 10);
  11.  
  12. echo '<td width="73">';
  13.  
  14. if(!$fp) 
  15. {
  16. echo '<img src="./data/komp_off.gif">';
  17. } else
  18. {
  19. echo '<img src="./data/komp_on.gif">';
  20. }
  21.  
  22. echo '<br><font class="tekst">'. $sUserName .'</font></td>';
  23.  
  24. }
  25. ?>


Gwoli objaśnienia. Wszytsko jest jak było. Tylko do tego co napisałem dodajesz na początku tę tablicę z ip i zamieniasz pętlę for na pętlę foreach.


--------------------
Go to the top of the page
+Quote Post
shaggard
post 7.08.2006, 18:18:21
Post #16





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 3.08.2006

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


witam

  1. <?php
  2. $fp = fsockopen($adres_ip, 8080, $errno, $errstr, 10);
  3. ?>


czy da rade w tej funcji okreslic zakres portow lub okreslic kilka portow? czy jest taka opcja by sparwdzal siec np na 3 portach?

pozdrawiam
Go to the top of the page
+Quote Post
Athlan
post 8.08.2006, 11:16:49
Post #17





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


http://www.strefaphp.net/index.php?page=ar...aner%20port%F3w

:?:


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
free
post 8.08.2006, 11:28:55
Post #18





Grupa: Zarejestrowani
Postów: 269
Pomógł: 0
Dołączył: 6.02.2006

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


By uzyskac taki efekt jak na stronie http://netservis.no-ip.org/siec.php to kod php calej strony musi byc na lokalnym serwerze czy u niezaleznego zewnetrznego dostawcy typu home.pl, cal.pl itp?
Go to the top of the page
+Quote Post
Athlan
post 8.08.2006, 14:38:23
Post #19





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


oczywiście że na lokalnym... jak inaczej sobie to wyobrażasz?
pozdro smile.gif


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
shaggard
post 9.08.2006, 11:56:35
Post #20





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 3.08.2006

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


witam

Jakiej funkcji najlepiej uzyc by zliczal mi liczbe komputerow aktualnie bedacych w sieci. Np "aktualnie jest 3 z 12 w sieci" Wydaje mi sie ze count z tym ze ona zlicza wszystkie kompy z tablicy.
a probowalem cos takiego
$suma = count ($fp)
gdzie fp to zmienna dla funkcji fsockopen to caly czas otrzymywalem 1, ale wydaje mi sie ze chyba nie tedy droga.

pozdrawiam
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: 6.07.2025 - 18:28