Co jest zle ?? |
Co jest zle ?? |
13.08.2003, 09:17:26
Post
#1
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 4.08.2003 Ostrzeżenie: (0%) |
Chcialem przerobilem skrypcik do wyswietlania aktywnych urzytkownikow w sici, tak aby odczytywal on dane z mojego pliku ktory jest nie co inaczej zapisay. Tyle ze skrypt odczytuje Nazwy userow ale nie wyswietla kto jest aktywny. O to ten skrypt
[php:1:1ee205ec75] <? $wyswietlanie = "1"; $statoff[0]="<font color=#FF0000>Offline</font>"; $statoff[1]="<img src=off.jpg>"; $staton[0]="<font color=#05AD05>Online</font>"; $staton[1]="<img src=on.jpg>"; $file=fopen("dane.txt", "r"); while (!feof ($file)) { $linia = fgets($file, 1024); $ip=explode("||", $linia); $pol=fsockopen("$ip[3]", 139, $_, $_, 3); if($pol) $status=online; else $status=offline; echo("<tr><td>$ip[0]<td>"); if($status=="online") echo("$staton[$wyswietlanie]"); if($status=="offline") echo("$statoff[$wyswietlanie]"); } fclose($file); ?> [/php:1:1ee205ec75] Dane w pliku zapisane sa w postaci nazwa || wy || o || 192.168.0.6 Wiec potrzebuje odczyac nazwe i ip CZy moglby ktos podpowiedziec czemu to nie dziala ? |
|
|
13.08.2003, 10:11:47
Post
#2
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 10.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) |
Spróbój tak:
[php:1:34da1a1c36]<?php $wyswietlanie="0"; $statoff[0]="<font color=#FF0000>Offline</font>"; $statoff[1]="<img src=off.jpg>"; $staton[0]="<font color=#05AD05>Online</font>"; $staton[1]="<img src=on.jpg>"; $file=file("dane.txt"); foreach ($file as $row) { list($nick,$zm2,$zm3,$ip)=explode("||",trim($row)); $pol=fsockopen("$ip", 4444, $_, $_, 3); echo("$nick: "); if($pol) { echo("$staton[$wyswietlanie]<br />"); } else { echo("$statoff[$wyswietlanie]<br />"); } } ?>[/php:1:34da1a1c36] |
|
|
13.08.2003, 10:33:19
Post
#3
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 4.08.2003 Ostrzeżenie: (0%) |
Moze i lepiej wyglada ale nie dziala wpisy sie ukazuja ale nie jest sprawdzane ip znaczy wszyscy wedlug tego sa offlie a 2 osoby w realu sa online w czym ja
|
|
|
13.08.2003, 10:44:19
Post
#4
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 10.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) |
Nazwa i ip są czytane poprawnie. Problem tkwi gdzie indziej.
O ile dobrze kojarze funkcja fsockopen() nawiązuje połączenie z zadanym portem na wskazanym komputerze (ip), jednakże jeżeli stoi on za firewall'em lub ma dany port blokowany, to nic z tego. Pomimo tego, że jest w sieci ten skrypt go nie wykryje. |
|
|
13.08.2003, 10:47:24
Post
#5
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 4.08.2003 Ostrzeżenie: (0%) |
Cytat Nazwa i ip są czytane poprawnie. Problem tkwi gdzie indziej.
O ile dobrze kojarze funkcja fsockopen() nawiązuje połączenie z zadanym portem na wskazanym komputerze (ip), jednakże jeżeli stoi on za firewall'em lub ma dany port blokowany, to nic z tego. Pomimo tego, że jest w sieci ten skrypt go nie wykryje. Ej ja to wiem ale mam ten orginalny skrypt ktory byl sciagniety z forum i on dziala tylko ten moj po tych przerobkach nie dziala wiec problem stoi po stronie skryptu |
|
|
13.08.2003, 14:57:21
Post
#6
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 10.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) |
Działa, jeżeli dane w pliku zapisujesz:
Kod nazwa||wy||o||192.168.0.6
Wszystko psuło się przez te spacje (kórych u siebie nie mialem) |
|
|
13.08.2003, 14:59:39
Post
#7
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 4.08.2003 Ostrzeżenie: (0%) |
ej no pokasowalem spacje i nie dziala nadal wiec chyba to nie jest powod
|
|
|
13.08.2003, 15:14:16
Post
#8
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 10.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) |
Zobacz sam:
Działający przykład Plik z danymi wyglada tak: Kod Wirtualna Polska||wy||o||212.77.100.101
Nieznany||1||2||217.153.5.178 Localhost||wy||o||127.0.0.1 Cygnus Division||1||2||150.254.17.2 |
|
|
13.08.2003, 15:17:28
Post
#9
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 4.08.2003 Ostrzeżenie: (0%) |
Cytat Zobacz sam:
Działający przykład Plik z danymi wyglada tak: Kod Wirtualna Polska||wy||o||212.77.100.101 Nieznany||1||2||217.153.5.178 Localhost||wy||o||127.0.0.1 Cygnus Division||1||2||150.254.17.2 Ej no dobra ja ci wierze ale u mnie nie dziala a pozatym u mnie musi byc taka postac pliku jak przedstawilem. Pozatym nr ip sa dobrze odczytywane bo do blokady iptables dzialaja wiec blad jest gdzies w skrypcie |
|
|
13.08.2003, 15:23:26
Post
#10
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 10.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) |
Coż, może ktoś inny będzie w stanie Ci pomóc.
|
|
|
13.08.2003, 15:25:47
Post
#11
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 4.08.2003 Ostrzeżenie: (0%) |
No coz moze ktos bedzie mial inny pomysl ale mimo wszsytko dziekuje nitro tylko mi jeszcze powiedz czemu z odstepami nie chodzi a bez chodzi
|
|
|
14.08.2003, 07:09:20
Post
#12
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 10.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) |
Bez odstępów wygląda to tak:
Kod $pol=fsockopen("212.77.100.101", 80, $_, $_, 3);
Z odstępami: Kod $pol=fsockopen(" 212.77.100.101", 80, $_, $_, 3);
czyli adres IP jest poprzedzony spacją. Możesz co prawda zamienić linię: Kod list($nick,$zm2,$zm3,$ip)=explode("||",trim($row));
na: Kod list($nick,$zm2,$zm3,$ip)=explode("|| ",trim($row));
i wtedy także z tymi dodatkowymi spacjami działa, ale według mnie jest to już zbędne kombinowanie. |
|
|
14.08.2003, 08:05:52
Post
#13
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 4.08.2003 Ostrzeżenie: (0%) |
Dzieki nitro jedna musialo byc tak jak zes mowil :oops: Juz mi dziala dzieki wielkie
|
|
|
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 16:26 |