PHP-Script.hu
Kiemelt hirdetés:
2018. október 20. 14:43 szombat, ma Vendel névnap van


grafika


Videóbázis


Listázás:  Idő szerint:
Webprogramozás arr PHP info PHP - HTML lapból adatkinyerés
(#1) vadkommondor 2018.07.13. 14:27

vadkommondor
vadkommondor
Kezdő

Sziasztok!

Van egy céges oldal, ami adatbázisból lekérdezés segítségével előállít egy táblázatot. Namármost, az oldalra bejelentkezés szükséges, felhasználói név/id/jelszó formában. Ezeket az adatokat tárolja a rendszer valami süti formában, mivel többet nem kell beírni a gép kikapcsolását követően sem.
Tehát, lekérdezük a táblázatot, amihez némi idő szükségeltetik nyilván. Ez egy zárt rendszer, ehhez csak külsőleg tudok csatlakozni.
Csináltam egy oldalt, ami próbál kapcsolódni az oldalhoz, curl_setopt segítségével beállítok pár paramétert, pl hogy várja meg, míg összeállítja az oldalt, átadom a felhasználónevet-idt-jelszót, és ezután elindítom a lekérdezést. Amikor ez megvan, akkor szeretném ezt majd egy domdocumentben feldolgozni, hogy kinyerjem a cellák tartalmát.
Most jön a kérdés...
Nem tudom, hogy helyesen adtam e meg neki az autentikációs adatokat beállító részt, továbbá hogyan adom át mindezt helyesen az exec-nek?

Íme a kód:

1
2
3
4
5
6
7
8
 
  private $loginData = array(
    'customer_id' => '*****',
    'person_id' => '*******',
    'username' => '*******',
    'password' => '*******'
    );
 


nyilván itt a *-ok helyett a valódi adatok vannak.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
   $urlIn = $this->url->sourceUrl();
   echo($urlIn);
   $ch = curl_init($urlIn);
   echo("</br>curl_init is " . ($ch ? "OK" : "failed") . "</br></br>rn");
   curl_setopt($ch, CURLOPT_HEADER, false);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($ch, CURLOPT_POST, true);
   curl_setopt($ch, CURLOPT_POSTFIELDS, $this->loginData);
   curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
   $result = @curl_exec($ch);
   curl_close($ch);
   if ($result) {
    echo("Siker!</br>");
   } else {
    echo("Fuck!</br>");
   }
   echo("</br>Result is:</br>rn");
   var_dump($result);
   $_dom = new DOMDocument();
   $st = $_dom->loadHTMLFile($result);
   if ($st == true) {
    echo("</br>loadHTML is OK</br>");
   } else {
    $_dom = NULL;
    echo("</br>loadHTML is not OK</br>");
   }
 


Megpróbáltam mindent kiiratni a képernyőre, hogy lássam mit is csinál. Látszólag mindenhol sikeresen végigmegy, ám az eredmény nem a táblázat, hanem egy hibaüzenet.
Hogyan tudom valahogy jobban nyomon követni, hogy mit hova és hogyan tölt be, és mit csinál vele?

Bárki tud valamilyen iránymutatást adni, kérem válaszoljon!
Köszi a választ előre is.


Pataki István
Listázás:  Idő szerint:


© 2006-2018 PHP-Script.hu, Minden jog fenntartva!
Design: Rácz Gergely, Oldalmotor: Rácz Gergely
Impresszum - Oldaltörténet - Oldalszabályzat