Jump to content
php.lv forumi

Attālināta skripta izmantošana


Osiris

Recommended Posts

Ir divi faili - index.php un remote.php. Stav dažādos serveros.

 

index.php:

$body="sjkdhgfskjgfsd";
require('http://path/to/server/remote.php); //cits serveris
$body.= $remote_data;
echo $body;

remote.php

......
$row=mysql_fetch_row($result)
$remote_data=$row[x];

Šī gadījumā index.php izdod "Notice: Undefined variable: remote_data in ......". Ja remote.php pierakstīt echo $remote_data, tad dati ir redzami (protams, "Notice:" arī.

Ar ko tas ir saistīts?

Link to comment
Share on other sites

Tas serveris, kur stāv remote.php skripts droši vien parsē php failu, un izdod arā izpildītu skriptu - tb tā echo/print rezultātu, nevis pašu php kodu. Tev vajag aizliegt izpildīt php failus uz tā remote servera vai arī pārsaukt vienkārši failui, lai tam galā nebūtu .php paplašinājuma.

Link to comment
Share on other sites

Redzi, lieta ir tada, kā uz tā servera, kur stāv remote.php ir mySQL, tātad man IR jaizpilda skripts. Jautājums, kāpēc tas "inkludējas" normāli, dod echo/print rezultu, bet nedod indeksam mainīgo ($remote_data)?

Link to comment
Share on other sites

Tu klienta-servera arhitektūru izproti? Šajā gadījumā skripts izpildās uz remote servera un datos, ko include dabon ir tas kas ticis izdrukāts (te php beidzās un sākas plain text, kas tiek pārsūtīts caur netu). Un kā jau (ne?)saproti, tad plain textā mainīgo vērtības šādi nevar padot!

Link to comment
Share on other sites

Redzi, lieta ir tada, kā uz tā servera, kur stāv remote.php ir mySQL, tātad man IR jaizpilda skripts. Jautājums, kāpēc tas "inkludējas" normāli, dod echo/print rezultu, bet nedod indeksam mainīgo ($remote_data)?

15473[/snapback]

 

tu blin arii sagribēji :)

tavuprāt tas būtu loģiski, ja

 

include( 'http://tvnet.lv/news/latvia/index.php' );
print_r( $_SERVER );

 

heh, ko tik tauta neizdomā....

Link to comment
Share on other sites

Redzi, lieta ir tada, kā uz tā servera, kur stāv remote.php ir mySQL, tātad man IR jaizpilda skripts. Jautājums, kāpēc tas "inkludējas" normāli, dod echo/print rezultu, bet nedod indeksam mainīgo ($remote_data)?

15473[/snapback]

Btw, MySQL'am var veikt arī pieprasījumus, ja skripts nestāv uz tā paša servera, kur MySQL serveris palaists. Konektējoties tik adrese korekta jānorāda.
Link to comment
Share on other sites

tu blin arii sagribēji :)

include( 'http://tvnet.lv/news/latvia/index.php' );
print_r( $_SERVER );

15499[/snapback]

No šīs puses nepadomāju :)

 

MySQL'am var veikt arī pieprasījumus, ja skripts nestāv uz tā paša servera.

15500[/snapback]

Tās remote serveris apstradā tikai tos pieprasījumus, kuri iet no tā paša servera.

Link to comment
Share on other sites

×
×
  • Create New...