Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Sprawdzanie autentyczności danych na innej stronie.
--gothan--
post 9.03.2011, 18:27:50
Post #1





Goście







Witam.

Interesuje mnie czy bez użycia crona dało by radę zrobić coś w tym stylu.

-Przy wypełnieniu formularza wygeneruje kod który sobie dodaje do bazy w celu sprawdzenia czy na prawdę jest to ten użytkownik. Wygenerowany kod należy wstawić w specjalnie miejsce na stronie (innej stronie) w przeważnie opisie, lub w jakiś dodatkowej informacji. I tu właśnie teraz ta część której nie wiem jak wykonać. W jaki sposób sprawdzić czy użytkownik np. test wkleił ten kod do swojego opisu?
Go to the top of the page
+Quote Post
smietek
post 9.03.2011, 19:01:12
Post #2





Grupa: Zarejestrowani
Postów: 306
Pomógł: 32
Dołączył: 20.01.2008

Ostrzeżenie: (20%)
X----


Można to zrobić chociażby za pomocą file(), ale jeśli strona wymaga logowania, to musisz wtedy użyć cUrla.


--------------------
Go to the top of the page
+Quote Post
--gothan--
post 9.03.2011, 19:16:33
Post #3





Goście







Sprawdziłem funkcję w manualu mimo tego, że każda linia jest opisana mam kilka wątpliwości dlaczego tak. Mógłby mi ktoś lepiej objaśnić?

  1. <?php
  2. // Pobierz plik do tablicy. W tym przykładzie poprzez HTTP pobierzemy
  3. // źródło HTML z URL
  4. $lines = file('http://www.example.com/');
  5. // Za pomocą pętli przeglądamy naszą tablicę i pokazujemy źródło strony w postaci
  6. // źródła HTML oraz numery linii.
  7. foreach ($lines as $line_num => $line) {
  8. echo "Linia #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
  9. }
  10.  
  11. // Kolejny przyklad pozwala pobrać stronę i umieścić ją w łańcuchu znaków Zobacz także file_get_contents().
  12. $html = implode ('', file ('http://www.example.com/'));
  13. ?>

Go to the top of the page
+Quote Post
--gothan--
post 9.03.2011, 19:42:26
Post #4





Goście







Trochę błędów wyrzucało to trochę z edytowałem:

  1. <?php
  2. $lines = @file('www.example.com/');
  3. foreach ($lines as $line_num => $line) {
  4. echo "Linia #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
  5. }
  6. $html = @implode ('', file ('www.example.com/'));
  7. ?>


Tutaj nie mam pojęcia co zrobić?
Warning: Invalid argument supplied for foreach() in xxxxx on line 3



Go to the top of the page
+Quote Post
greycoffey
post 9.03.2011, 21:59:47
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Tak. Błędy usuwa się używając @. Mądrze postępujesz...
Go to the top of the page
+Quote Post
--gothan--
post 9.03.2011, 22:07:42
Post #6





Goście







A jak inaczej?
Go to the top of the page
+Quote Post
gorden
post 9.03.2011, 22:09:18
Post #7





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


Operator @ tylko tłumi błędy, ale one nadal występują ohmy.gif

Foreach nie może wystartować. Najprawdopodobniej zmienna $lines jest pusta, czyli coś źle zrobiłeś, lub po prostu twój hosting nie udostępnia Ci tej funkcji.
Go to the top of the page
+Quote Post
--gothan--
post 10.03.2011, 16:10:08
Post #8





Goście







Rozumie.

Przeczytałem gdzieś, że do tego celu lepiej jest użyć cURL-a. Znalazłem na wikipedii taki kod i oczywiście próbowałem dostosować do moich potrzeb.

  1. <?php
  2. <form action=index.php mathod=post>
  3. <input type=text name=name />
  4. <input type=submit name=submit value=Sprawdz />
  5. </form>
  6. ";
  7. if(isset($_POST['submit'])){
  8.  
  9. $hand = curl_init();
  10.  
  11. curl_setopt($hand, CURLOPT_URL, 'http://www.strona.pl/');
  12. curl_setopt($hand, CURLOPT_POST, 1);
  13. curl_setopt($hand, CURLOPT_POSTFIELDS, 'user-$_POST[\'name\']');
  14. curl_exec($hand);
  15. curl_close($hand);
  16. $td = preg_metch('/td style="word-wrap:break-word">(.*?)<td>/is');
  17. echo $td;
  18. }
  19. ?>


Potrzebuje pobrać taki fragment:
<tr><td style="word-wrap:break-word">W wyscigu po level nie ma zwyciezcow haha.gifD</td></tr>
razem z <tr></tr> ponieważ jeśli będzie bez to pojawi się taka sama komórka z stylem.
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: 15.06.2025 - 23:57