![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Witam
Nie wiem czy pisze w dobrym dziale ale chodzi o przesylanie XML metoda post na inny serwer. Wiem jak dziala metoda post , znam podstawy javascript i html ale nie mialem nigdy do czynienia z xml. Czy ktos mi moze z grubsza wytlumaczyc jak przesyla sie xml-a na inny serwer? Dokladniej chodzi o weryfikacje numerow ktore znajduja sie na innym serwerze. Po przeslaniu danych : powiedzmy imienia i kodu przypisanego do imienia serwer na ktory jest wysylany owy xml odpowie potwierdzeniem czy istnieje taki uzytkownik/kod czy nie. Prosze o wspazowki Ten post edytował Wolfie 15.12.2008, 15:56:18 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Nie robi się tego w javascript.
Robisz to w php. Do wysyłania służy curl. Do parsowania xmla masz sporo bibliotek. Wystarczy poszukac na php.net. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
A moglbys mi napisac przyklad jak moznaby przeslac np taki plik xml :
<?xml version="1.0" encoding="UTF-8"?> <zapytanie> <id>5346</id> <imie>500500500</imie> <kod>589HG3P</kod> </zapytanie> I jeszcze takie pytanko , czy protokoly obu serwerow musza byc takie same aby mogly przeslac xml miedzy soba ? Ten post edytował Wolfie 15.12.2008, 15:39:32 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Nie nie mógłbym.
http://wortal.php.pl/phppl/wortal/artykuly...rzez_formularze No a jak chcesz przesłać? Jako plik czy jako tekst POST-em. Nie sprecyzowałeś. A nie sadzisz ze bedziesz wysyłał http-em? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Mysle ze http ale za bardzo nie znam sie na wspolpracy ze soba serwerow.
Chce przeslac jako teks POST-em poniewaz dane musza byc zakodowane |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
No to wejdz sobie chłopcze na http://php.net/curl_set_opt i tam jest pokazane jak wyslac cos postem. Jezeli wrocisz tutaj z pytaniem "jak to zrobić" to nie licz na odpowiedz. Pisze jak wół.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Ale mnie nie chodzi o przepisywanie kodu od kogos , slabo sie znam na php i taka dokumentacja mialo mi mowi.
Poprostu chcialbym aby ktos wytlumaczyl mi to z grubsza w bardziej przystepny sposob. A co do linkow ktore przeslales to dzieki , moze cos uda mi sie z tego wypocic. I jeszcze jedna sprawa. W zasadzie nie wiem czy mam przeslylac plik czy tekst , poniewaz aplikacja ma wygladac tak ze uzytkownik bedzie podawal imie i kod , nastepnie to bedzie przesylane na serwer i tam weryfikowane a nie mam pojecia ktora metoda jest lepsza. Poprostu chce przeslac xml na serwer! (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) Ten post edytował Wolfie 15.12.2008, 16:42:52 |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Tlumacze ci z grubsza. Curl wysyła na podana przez ciebie strone xmla metoda POST. Tak jakbyś wpisal to w pole tekstowe formularza i wysłał. Co chcesz jeszcze wiedzieć.
Przeciez to proste jak kij od szczotki. Czego tutaj nie rozumiesz? Parsowania xml? No niestety kolego. My programiści najpierw się uczymy, czytamy kursy, testujemy, szukamy w internecie rozwiazan dlaczego dana rzecz nam nie działa (to nie znaczy ze piszemy na forach z kazda rzecza) a dopiero potem pytamy o rzeczy których NAPRAWDE nie rozumiemy. Masz podany najprostszy KOD jak wyslac dane POST-em Kod $ch = curl_init();
$data = array('name' => 'Foo', 'file' => 'DANE'); curl_setopt($ch, CURLOPT_URL, 'http://localhost/strona.php'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch); Ten post edytował wookieb 15.12.2008, 16:37:00 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Ok. Dzieki za cierpliwosc. Dzisiaj bede nad tym siedzial testowal i programowal.
Licze ze sie uda napisac to do jutra do poludnia, jezeli nie, zglosze sie pewnie z bardziej skonkretyzowanymi problemami Dzieki Ok. Napisalem ponizszy skrypt : Kod <?php $ch = curl_init('http://localhost:81/cUrl/test.xml'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); //$data = array('name' => 'Foo', 'file' => 'DANE'); curl_setopt($ch, CURLOPT_URL, 'http://localhost:81/cUrl/test.xml'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_exec($ch); if (curl_errno($ch)) { echo 'Błąd #' . curl_errno($ch) . ': ' . curl_error($ch); } curl_close($ch); ?> ktory korzysta z nastepujacego pliku xml o nazwie test.xml: Kod <?xml version="1.0" encoding="UTF-8"?> <zapytanie> <id>7658</id> <imie>Piotr</imie> <kod>6JN47CLU</kod> </zapytanie> Teraz mam problem w czym "zamknac" ten plik xml. Tzn czy on ma sie przesylac jako tablica czy jako tekst? Jak to mniej wiecej ma wygladac ? |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Nie umiesz czytać... matury to ty raczej nie zdasz.
Kod $data = array('xml' => file_get_contents('test.xml'));
curl_setopt($ch, CURLOPT_URL, 'ADRES SERWERA NA KTORY WYSYŁASZ A NIE XML'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); Ten post edytował wookieb 16.12.2008, 10:51:17 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Super. Teraz wszystko swietnie działa! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
a teraz takie male kolejne pytanko. Jak zrobic zebym mogl z formularza zapisac pliki do xml-a? Chodzi o to ze ten przesylany xml bedzie mial rozna tresc w zaleznosci co wpisze uzytkownik. Jak rozwiazac taki problem? Czy mozna xml zapisac jako plik php i przesylac do niego dane metoda np $_GET z formularza ? |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Napisalem sobie taki kodzik :
Kod <?php //echo $_GET['kod']; //echo $_GET['telefon']; //$target_file = "test.xml"; function file_put_contents('test.xml', 'hello world, Testing!'); ?> ale niestety wyskakuje blad : Kod syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' i nie mam pojecia skad on sie bierze , kod wyglada na prawidlowy Ten post edytował Wolfie 16.12.2008, 13:28:38 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Chłopie popatrz na swój kod.
Co chcesz osiągnąć? _Zadeklarować_ funkcję "file_put_contents" z dwoma parametrami, czy ją _wywołać_?
Zdaję sobie sprawę, że można czegoś nie wiedzieć, ale dostałeś link do file_put_contents a tam są _przykłady_ użycia tej funkcji. edit: tfu nie deklaracja tylko definicja funkcji Ten post edytował ziqzaq 16.12.2008, 13:43:40 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Oczywiscie ze chce wywolac funkcje:
Jednak gdy robie Kod file_put_contents('test.xml', 'hello world, Testing!'); wyskakuje cos takiego Kod Call to undefined function: file_put_contents()
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Sorry, ale sądząc po twoim kodzie to nie było takie oczywiste.
1). Funkcje w PHP 2). Polecam czytać treść błędów. Np. "Call to undefined function: file_put_contents()" znaczy że funkcja "file_put_contents" jest niezdefiniowana. A więc google i - w moim przypadku - drugi link z odpowiedzią (pewnie w manualu do którego dostałeś link też to jest):
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Wszystko pieknie tylko ze dlatego pisze w "przedszkolu" bo za bardzo sie nie orientuje jak ten kod dziala, patrzac na manuala malo z tego rozumiem, a Wy jeszcze mnie dobijacie ze matury nie zdam.
Jakbym umial czytac dokumentacje tak jak Wy to wogole bym sie tutaj nie pojawial. |
|
|
![]()
Post
#18
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Tzn ze nie masz php5. A do zapisania zawartosci do pliku sluzy wtedy http://php.net/fwrite
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Napisalem taki kod :
Kod <?php $code = $_GET['kod']; $tel = $_GET['telefon']; $filename = 'test.xml'; $data = 'Hello world, Test!'; $file_path = ".;c:\Program Files\WebServ\cUrl"; //file_put_contents('test.xml', 'hello world, Testing!'); if(!function_exists('file_put_contents')) { function file_put_contents($filename, $data, $file_append = false) { $fp = fopen($filename, (!$file_append ? 'w+' : 'a+')); if(!$fp) { trigger_error('file_put_contents cannot write in file.', E_USER_ERROR); return; } fwrite($fp, $data); fclose($fp); } } ?> Ale w pliku docelowym test.xml nic sie nie pojawia, sa tylko stare znaczniki i wartosci. |
|
|
![]()
Post
#20
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
jak ma się pojawić jak zakomentowałes wywołanie funkcji file_put_contents. Wez do ręki pierwszy lepszy kurs php. Przeczytaj go porządnie i dopiero wróć.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 00:27 |