ďťż
Podstrony
|
telcocafewitam,jak zrobić, by jeden skrypt wywoływał drugi i otrzymywał od niego zmienne? pierwszy.php: <?php exec("drugi.php"); print "&temat=$temat"; ?> drugi.php: <?php $temat = 1; ?> output: &temat= Użytkownik flashion edytował ten post 15 lipiec 2008, 21:41 Funkcja "include" ... INCLUDE jest instrukcją w PHP, a nie funkcją! pierwszy.php echo '&temat=' . (include 'drugi.php'); drugi.php: return 1; URL file-access is disabled in the server configuration U mnie na lokalu czy na serwerze? // na swoim już zmieniałem w php.ini i nic to nie dało // wiecie może, co dokładnie należy pozmieniać? Użytkownik flashion edytował ten post 14 lipiec 2008, 22:22 Czyli na zdalnym serwerze wyłączyli allow_url_fopen w konfiguracji. Pozostaje jeszcze CURL w PHP lub AJAX w Javascript. jeśli chodzi o CURL, to XAMPP nie wie, co to curl_init() ;/ jeśli chodzi o CURL, to XAMPP nie wie, co to curl_init() ;/ Biblioteka CURLa dołączana przez ustawienie w php.ini? @up: w php.ini jest: ;extension=php_curl.dll a wyskakuje, że niezdefiniowana funkcja Użytkownik flashion edytował ten post 15 lipiec 2008, 18:36 Bo powinno być: extension=php_curl.dll (bez średnika na początku :) ) Użytkownik Tomek92 edytował ten post 15 lipiec 2008, 18:47 no, teraz żadnych błędów nie wywala. ale jak zrobić, by działało? zrobiłem sobie dwa skrypty, skrypt.php i skrypt2.php. skrypt2 wywołuje skrypt skrypt.php: <?php $xml = new DOMDocument; // xml $xml->preserveWhiteSpace = FALSE; $xml->load('plik.xml'); $xml->firstChild->setAttribute("pass","1b"); $xml->formatOutput = TRUE; // zapisywanie $xml->saveXML(); $xml->save('plik.xml'); ?> skrypt2.php: <?php $ch = curl_init('skrypt.php'); curl_exec($ch); curl_close($ch); ?> i nic się nie dzieje. plik.xml zostaje niezmieniony oO Użytkownik flashion edytował ten post 15 lipiec 2008, 19:53 Ale PO CO TAK?!?! Skoro masz taki dostęp do pliku to wystarczy ZWYKŁY INCLUDE! Ludzie, nie utrudniajcie sobie życia. to tylko testy. chcę wiedzieć, że w kodzie jest wszystko OK. No i tak się nie robi tego przez cUrla. Ludzie. To tak jakbyście używali łomu do otwierania piwa o.0 bracie, proszę cię tylko o to, żebyś mi powiedział, co jest źle z tym kodem Plik nie jest zapisywalny. Sprawdź to. gdy wywołuję sam skrypt.php wszystko śmiga. coś musi być nie-tego w skrypt2.php [ciach!] jego mać. TO zaincluduj go a nie rób cURLEM! @up: Post 4 i 5 Gdzie jest plik skrypt.php i skrypt2.php. Na tym samym serwerze? W tym samym katalogu? Podczas testów - tak, ale będą na oddzielnych serwerach. BTW: Dzięki, że chcesz pomóc. No to pisz odrazu, że będą na oddzielnych serwerach bo teraz to można includem. W curlu podajesz PEŁEN adres http://localhost/skrypt.php wszystko, co zechce dla tego pana! na mój koszt! działa, dziękuję :) // a jak zrobić, żeby skrypt2 przesłał zmienną do skrypt? Użytkownik flashion edytował ten post 15 lipiec 2008, 21:23 Może ją wyświetlić (w skrypt.php) Wtedy curla ujmujesz w ob ob_start(); //tutaj curl $con=ob_get_contents(); ob_end_clean(); i w $con bedziesz mial treść wyswietlana przez skrypt.php super, a jak to będzie w drugą stronę? wywołujący do wywoływanego Użytkownik flashion edytował ten post 15 lipiec 2008, 21:31 POST-em albo GET-em POST $ch = curl_init('http://localhost/skrypt.php'); $data = array('zmienna'=>'wartosc'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch); GET (pamiętaj o ograniczeniach geta) $ch = curl_init('http://localhost/skrypt.php?zmienna=wartosc'); curl_exec($ch); Użytkownik polasek edytował ten post 15 lipiec 2008, 21:38 wielkie dzięki!! |
|||
Sitedesign by AltusUmbrae. |