Webboard

Pełna wersja: Pobranie nicku ze strony i jego sprawdzenie
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2 3
Witam czy istnieje jakiś sposób, żeby zobaczyć czy gracz jest zalogowany na forum, plus jaki posiada on nick? (z innej strony, np. głownej-nie forumowej). Chodzi tylko o sprawdzenie nicku...
Wersja oczywiście 1.8.5
Opisałeś to bardzo nie zrozumiale

Da się
aha to cześć...
Super to może jakaś porada, wskazówki? xd
Chciałbym, żeby forum w jakiś sposób odsyłało tylko login gracza jeśli jest zalogowany.
A druga strona by tylko pobierała ten nick :)

LikeLoveHate

ok to pobieranie mam, ale jak wyciągnąć ten nick z forum... zgrozo nie ogarniam funkcji preg_match_all xd nie dało by się to jakoś szybciej zrobić np. plik php w folderze z forum, żeby miał tylko zapisany nick zalogowanego? Szybciej załaduje w każdym razie...

LikeLoveHate

Jak jeden nick, to pół biedy, bo ID użytkownika możesz wpisać ręcznie. Jak więcej lub poprzez nick, to będziesz musiał napisać plugin lub utworzyć zapytanie do bazy w PHP, które zwróci listę/tabelę (bądź jedno) ID użytkowników i wrzucić wcześniej napisane wybieranie do pętli.
Dobra tak będzie łatwiej xd
to jak łaska prosiłbym o pomoc w ustawieniu pobierania nicku poprzez preg_match_all
powiedzmy, że z ./forum/usercp.php
nick jest w:
Kod:
<em id="nick">MrNygus</em>

Kod:
preg_match_all("co tu wykminić xd", $link, $wynik);

ehh próbuję to zrobić z bilbioteką simple html dom ale jak sprawdza to nie jestem zalogowany:
Kod PHP:
require('simple_html_dom.php');
    
$html file_get_html("./forum/portal.php");
    
$info['aa']  = $html->find(".thead",0)->innertext;
    echo 
$info['aa']; 

wynik:
Zaloguj się

chociaż jestem zalogowany...

LikeLoveHate

W preg_match_all() pierwszy argument, to wyrażenie regularne. Jeżeli w polach dodatkowych profilu masz np. kontakt GG umieszczony tak (HTML):
Kod:
<span class="gg">1234567890</span>

To wyrażenie regularne powinieneś dać takie:
Kod:
'<span class=\"gg\">(.+?)<\/span>'

Natomiast drugi parametr to link. A żeby wyświetliło Ci danego usera, to musisz podać jego ID, a nie nick. Jeżeli chcesz pobierać dane po nicku, to (po raz drugi piszę) "musisz napisać zapytanie do bazy".
ehh
dobra w usercp.php dodałem:

Kod:
<style>#nickgracza{display: none;}</style>
<div id="nickgracza">{$mybb->user['username']} aa</div>

powinien być tylko jeden wynik, ale nic niema nic!

Kod:
$zrodlo_strony = file_get_contents('./forum/usercp.php');
preg_match_all('[<div id=\"nickgracza\">(.+?)<\/div>]', $zrodlo_strony, $wynik);
echo "0".$wynik[0]."<br />";
echo "1".$wynik[1]."<br />";
echo "0.0".$wynik[0][0]."<br />";
echo "1.0".$wynik[1][0]."<br />";
echo "0.1".$wynik[0][1]."<br />";
echo "1.1".$wynik[1][1]."<br />";

wynik:
Kod:
0Array
1Array
0.0
1.0
0.1
1.1

LikeLoveHate

Sprawdź co siedzi w Array ->
Kod PHP:
print_r($wynik

No i usuń te nawiasy kwadratowe [] z wyrażenia regularnego.
Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '(' in /home/mrnygus/public_html/nick2.php on line 5
taki błąd jeśli usunę nawiasy

A z nawiasami wynik;
Array ( [0] => Array ( ) [1] => Array ( ) )

LikeLoveHate

A tak?
Kod PHP:
preg_match_all('/<div id=\"nickgracza\">(.*)<\/div>/U'$link$wynik); 
mybb dodało samoistnie kod...
<div id="nickgracza" original-title="">MrNygus ss</div>

Kod:
$zrodlo_strony = file_get_contents('./forum/usercp.php');
preg_match_all('/<div id=\"nickgracza\" original-title=\"\">(.*)<\/div>/U', $zrodlo_strony, $wynik);
print_r($wynik);
echo "<br/>";
echo "0".$wynik[0]."<br />";
echo "1".$wynik[1]."<br />";
echo "0.0".$wynik[0][0]."<br />";
echo "1.0".$wynik[1][0]."<br />";
echo "0.1".$wynik[0][1]."<br />";
echo "1.1".$wynik[1][1]."<br />";

wynik:
Kod:
Array ( [0] => Array ( ) [1] => Array ( ) )
0Array
1Array
0.0
1.0
0.1
1.1

LikeLoveHate

Wyszukaj usera na swoim forum, bo link do jego profilu na pewno nie wygląda to tak jak podałeś.
chodzi o profil użytkownika... ma pobrać jego nick z tego profilu... każdy użytkownik zalogowany ma ten sam adres:
http://got.realmc.pl/forum/usercp.php
z tej strony ma pobrać nick znajdujący się w:

<div id="nickgracza" original-title="">nick</div> (to jest widoczne tylko w kodzie)

zrobiłem specjalnie dla was konto testowe:
login: test
hasło: testtest
Stron: 1 2 3