TheMarcQ Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 ostatnio próbuję nauczyć się php i mam czasem problemy z pisanymi przeze mnie programami i zamiast tworzyć coraz to kolejne tematy będę opisywał problemy tutaj. Więc teraz mam tak: Skrypt który pobierze treść tytułu poprzedniej strony Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Lepiej napisz co chcesz osiągnąć, a nie jak chcesz to osiągnąć, Twoje rozwiązania mogą być po prostu złe. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 6 Czerwca 2010 Autor Udostępnij Opublikowano 6 Czerwca 2010 tyle że ja tego nie mam, nie wiem jak to napisać Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 <?php try { explain(); } catch( Exception $e ) { exit_forum(); } ?> Próbuj. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 6 Czerwca 2010 Autor Udostępnij Opublikowano 6 Czerwca 2010 sory, ale nie skapowałem kodu :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Tymon szaleje z jakimiś kodami. @topic Skoro nie chcesz powiedzieć o co chodzi. Zakładam, że chodzi o <title></title>. Ponieważ PHP nie ma dostępu do DOMu, tytuł ten musi być powiązany z php: <?php $title = "Tytuł"; ?> <html> <head> <title><?php echo $title; ?></title> Żeby ta zmienna była dostępna w następnych stronach, najlepiej zastosujmy sesje. <?php $_SESSION['title'] = $title; ?> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Następnie w kolejnych podstronach otwieramy sobie naszą sesje: <?php $title=$_SESSION['title']; echo "<title>$title</title>"; ?> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 No to chyba oczywiste, dlatego nie pisałem. Nie rób z niego idioty. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Może trochę przesadziłem ale zapewniam wszystko w dobrych intencjach. Mógł na przykład nie wiedzieć. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 6 Czerwca 2010 Autor Udostępnij Opublikowano 6 Czerwca 2010 nie chodzi o to @piczer dobrze myślałeś o <title></title> tyle że sesje tu nie pasują, bo strona z której pobierany jest nagłówek nie znajduje się w moim serwisie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Tymon szaleje z jakimiś kodami.Zwykła obsługa wyjątków. To musisz posłać zapytanie HTTP i pobrać dokument, spreparować. <?php $url = 'http://strona.pl/index.php'; if( preg_match( '/^http:\/\/(.+?)\/(.*?)$/i', $url, $match ) ) { if( $handle = @fsockopen( $match[1], 80 , $en, $es, 3 ) ) { $header = "GET /$match[2] HTTP/1.1\r\n"; $header .= "Host: $match[1]\r\n"; $header .= "Connection: close\r\n"; $header .= "\r\n"; fwrite( $handle, $header ); $content = ''; while( !feof( $handle ) ) { $content .= fread( $handle, 512 ); if( preg_match( '/<title>(.+?)<\/title>/i', $content, $match ) ) { echo $match[1]; // title break; } } fclose( $handle ); } else echo 'Nie mozna polaczyc'; } else echo 'Niepoprawny URL'; ?> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Zwykła obsługa wyjątków. Za kogo ty mnie masz? Chodzi mi o to, że komunikacja kodem zamiast językiem ojczystym jest nienormalna. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Nie obraź się, ale wklejając takie "kody", wykazujesz się co najmiej zapałem gimnazjalisty. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Za kogo ty mnie masz?Za laika.Chodzi mi o to, że komunikacja kodem zamiast językiem ojczystym jest nienormalna.Kwestia zboczenia. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Jaka kurde kwestia zobaczenia? Próbujesz pokazać jaki to Ty jesteś fajny? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Za laika. To najpierw poobserwuj bardziej, a nie oceniasz pochopnie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Piczer, staram się. Z całym szacunkiem dla Ciebie, ale od dłuższego czasu nie widzę byś czymś zaświecił po za wpisem na Twoim blogu mówiącym o bezpieczeństwie, przyznaję, że choć rozwiązanie jest ok i spełnia zadanie, to nie należy do najlepszych. Kofel, oczywiście. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 6 Czerwca 2010 Autor Udostępnij Opublikowano 6 Czerwca 2010 po sprawdzeniu twojego kodu tymon, wyskakuje: (.+?)<\/title>/i', $content, $match ) ) { echo $match[1]; // title break; } } fclose( $handle ); } else echo 'Nie mozna polaczyc'; } else echo 'Niepoprawny URL'; ?> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Nie jestem ekspertem od bezpieczeństwa, ba powiem, że nawet wiem o nim bardzo niewiele. Z całym szacunkiem dla Ciebie, ale od dłuższego czasu nie widzę byś czymś zaświecił Bo nie było się jak wykazać, taki poziom w tym dziale. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Bo nie było się jak wykazać, taki poziom w tym dziale.Więc nie rozumiem po cholerę się ograniczasz i tu jeszcze przesiadujesz. TheMarcQ, nie wiem co masz dokładnie w pliku, ale u mnie to co Ci tu podałem działa nie najgorzej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Piczer, staram się. Z całym szacunkiem dla Ciebie, ale od dłuższego czasu nie widzę byś czymś zaświecił po za wpisem na Twoim blogu mówiącym o bezpieczeństwie, przyznaję, że choć rozwiązanie jest ok i spełnia zadanie, to nie należy do najlepszych. Ty też w życiu nigdy niczym nie zaświeciłeś. Piczera znam od dłuższego czasu, współpracowałem z nim... wiem na co go stać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Więc nie rozumiem po cholerę się ograniczasz i tu jeszcze przesiadujesz. Vice versa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Ty też w życiu nigdy niczym nie zaświeciłeś.Ogólnik.Piczera znam od dłuższego czasu, współpracowałem z nim... wiem na co go stać.Cieszy mnie to, nie zmienia to jednak mojego zdania na jego temat. Osobiście mam też gdzieś co on myśli o tym co ja myślę o nim i co myślicie o mnie. Vice versa.Your point. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 6 Czerwca 2010 Autor Udostępnij Opublikowano 6 Czerwca 2010 wy chyba urządziliście sobie mi tutaj jakąś dyskusję nie na temat a tak wogole jak podejrzałem w firefoxie źródło było wyświetlone tak że do momentu: if( preg_match( '/<title> jest wszystko dobrze a potem od (.+?)<\/title>/i', $content, $match ) kod zaczyna czytać jako zwykły html macie: http://mare.cba.pl/polej/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 Zwykła obsługa wyjątków. To musisz posłać zapytanie HTTP i pobrać dokument, spreparować. <?php $url = 'http://strona.pl/index.php'; if( preg_match( '/^http:\/\/(.+?)\/(.*?)$/i', $url, $match ) ) { if( $handle = @fsockopen( $match[1], 80 , $en, $es, 3 ) ) { $header = "GET /$match[2] HTTP/1.1\r\n"; $header .= "Host: $match[1]\r\n"; $header .= "Connection: close\r\n"; $header .= "\r\n"; fwrite( $handle, $header ); $content = ''; while( !feof( $handle ) ) { $content .= fread( $handle, 512 ); if( preg_match( '/<title>(.+?)<\/title>/i', $content, $match ) ) { echo $match[1]; // title break; } } fclose( $handle ); } else echo 'Nie mozna polaczyc'; } else echo 'Niepoprawny URL'; ?> PO cho asz tyle kodu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 6 Czerwca 2010 Autor Udostępnij Opublikowano 6 Czerwca 2010 to może prościej: wystarczy mi jak w zmiennej będzie zapisywany URL ostatnio odwiedzonej strony(poprzedniej w historii)((żeby było wiedzieć skąd "przybył" na stronę)) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 6 Czerwca 2010 Udostępnij Opublikowano 6 Czerwca 2010 A co, miałem użyć cURL? Niech się chłopak uczy obsługi gniazd i budowy protokołu HTTP. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 6 Czerwca 2010 Administratorzy Udostępnij Opublikowano 6 Czerwca 2010 to może prościej: wystarczy mi jak w zmiennej będzie zapisywany URL ostatnio odwiedzonej strony(poprzedniej w historii)((żeby było wiedzieć skąd "przybył" na stronę)) $_SERVER['HTTP_REFERER']; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 7 Czerwca 2010 Udostępnij Opublikowano 7 Czerwca 2010 A co, miałem użyć cURL? Niech się chłopak uczy obsługi gniazd i budowy protokołu HTTP. :) zawsze można użyć file_get_contents :sp_ike: (wiem, nie ma kontroli, oraz można sobie przepełnić pamięć) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 7 Czerwca 2010 Udostępnij Opublikowano 7 Czerwca 2010 można sobie przepełnić pamięćWiesz, u mnie to samo. Np. w sytuacji gdy brakuje tagu title w dokumencie, a jest on dość... duży. Rozwiązanie:<?php function title( $url ) { if( !preg_match( '/^http:\/\/(.+?)\/(.*?)$/i', $url, $match ) ) return false; if( !( $handle = @fsockopen( $match[1], 80 , $null, $null, 3 ) ) ) return false; fwrite( $handle, "GET /$match[2] HTTP/1.1\r\n" . "Host: $match[1]\r\n" . "Connection: close\r\n" . "\r\n" ); $title = false; $buffer = ''; while( !feof( $handle ) ) { if( $title === false ) { $buffer .= fread( $handle, 8 ); if( strlen( $buffer ) > 16 ) $buffer = substr( $buffer, strlen( $buffer ) - 16 ); if( ( $position = strpos( $buffer, '<title>' ) ) !== false ) $title = substr( $buffer, $position + 7 ); } if( $title !== false ) { $title .= fread( $handle, 8 ); if( ( $position = strpos( $title, '</title>' ) ) !== false ) { $title = substr( $title, 0, $position ); break; } } } fclose( $handle ); return $title; } var_dump( title( 'http://site.pl/' ) ); ?> Tak, kombinuje. :) TheMarcQ, proszę, masz to w funkcji. EDIT Poprawka, był błąd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się