| | |
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Autor | Správa |
---|
Registrovaný: 25.05.07 Prihlásený: 14.04.23 Príspevky: 346 Témy: 58 Bydlisko: Partizanske |
Zdravim, skusam spravit webovu sluzbu. ale vo vysledku mi stale vypise na obrazovke len Array a nie hodnotu. Vedeli by ste mi poradit kde mam chybu? Ked zoberiem tu funkciu do clienta tak to ide ale ked to volam ako webovu sluzbu tak len Array napise. Vdaka za pripadnu radu server.phpKód: <?php require 'lib/nusoap.php'; $server = new nusoap_server(); $server ->configureWSDL("soap","urn:soap"); $server -> register("getKraj", array("id" => 'xsd:integer'), array("return" => 'xsd:string') ); $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ""; $server ->service($HTTP_RAW_POST_DATA); ?> function.phpKód: <?php require 'db_connection.php'; function getKraj($id) { $conn = new mysqli(MYSQL_HOST,MYSQL_USER,MYSQL_PASSWORD, MYSQL_DB); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
$sql = 'Select kraj from Kraje where id_kraj = '.(string)$id; $res = $conn->query($sql);
if ($res->num_rows > 0) { while($row = mysqli_fetch_assoc($res)) { $resrow = $row['kraj']; } } else { $resrow = '100'; } return $resrow; $conn->close();
} client.phpKód: <?php
require 'lib/nusoap.php'; require 'db_connection.php'; $client = new nusoap_client("SOAP/server.php?wsdl"); $kraj = $client -> call('getKraj',array("id"=> 5)); echo $kraj; ?>
_________________ Ntbk 1: HP ProBook 640 Ntbk 2: HP EliteBook 840 G5 HTPC: Zotac Zbox BI320,120GB SSD, RAM 3Gb Konzola: Xbox ONE 1Tb TV: Samsung 65RU7402 Tel 1: Huawei P10lite |
|
Registrovaný: 08.08.09 Príspevky: 12449 Témy: 39 | Napísal killer: 30.05.2017 16:34 | |
|
Zrejme ti z toho zázraku niekde vypadne pole a ty sa pokúšaš ho vypísať cez echo. Kód: $kraj = array('Ja som pole'); echo $kraj; // Aky je vystup? Funkcia echo nikdy pole nevypíše, na to sú buď špeciálne funkcie (ako print_r) alebo všeobecné "debuggovacie" funkcie (var_dump,...). FYI, v rámci funkcie (v tomto prípade getKraj) sa žiadny kód po riadku return ...; nevykonáva.
_________________ always is always wrong |
|
Registrovaný: 25.05.07 Prihlásený: 14.04.23 Príspevky: 346 Témy: 58 Bydlisko: Partizanske | Napísal autor témy El_locco: 01.06.2017 10:49 | |
|
ale vystup z funkcie mam string, nevidim niekde ze by z toho malo vypadnut pole ale dal som v clientoci var_dump na ten vystup po zavolani sluzby a dalo mi Citácia: method 'getKraj'('getKraj') not defined in service('' '')"
preco? ked si pustim server.php tak tam ta funkcia je ak ked pozriem xml wdsl tak to tam je zadefinovane.
_________________ Ntbk 1: HP ProBook 640 Ntbk 2: HP EliteBook 840 G5 HTPC: Zotac Zbox BI320,120GB SSD, RAM 3Gb Konzola: Xbox ONE 1Tb TV: Samsung 65RU7402 Tel 1: Huawei P10lite |
|
Registrovaný: 08.08.09 Príspevky: 12449 Témy: 39 | Napísal killer: 01.06.2017 11:32 | |
|
Skús, len pre tú srandu presunúť funkciu getKraj z function.php do server.php a dumpni výsledok.
_________________ always is always wrong |
|
Registrovaný: 25.05.07 Prihlásený: 14.04.23 Príspevky: 346 Témy: 58 Bydlisko: Partizanske | Napísal autor témy El_locco: 01.06.2017 11:41 | |
|
vypise len bool(false)
//oprava mal som ta este jeden var_dump ked som ho dal prec tak to ide. Ale preco to nejde z toho function.php?
_________________ Ntbk 1: HP ProBook 640 Ntbk 2: HP EliteBook 840 G5 HTPC: Zotac Zbox BI320,120GB SSD, RAM 3Gb Konzola: Xbox ONE 1Tb TV: Samsung 65RU7402 Tel 1: Huawei P10lite |
|
Registrovaný: 08.08.09 Príspevky: 12449 Témy: 39 | Napísal killer: 01.06.2017 12:11 | |
|
Lebo tú funkciu getKraj (aj akúkoľvek inú, ktorú tam cez $server->register zaregistruješ) musíš najprv dostať do server.php, aby si s ňou mohol pracovať, takže - buď ju tam priamo napíšeš, ako si to teraz testoval,
- alebo ju pomocou require_once načítaš z iného súboru.
Takže si pridaj do server.php na začiatok Kód: require_once('functions.php'); Keď niečo robíš podľa návodov na internete, mal by si mať aspoň približnú predstavu, čo sa stane a čo musíš naviac ošetriť/urobiť, ak urobíš niečo inak, než sa píše v návode.
_________________ always is always wrong |
|
Registrovaný: 25.05.07 Prihlásený: 14.04.23 Príspevky: 346 Témy: 58 Bydlisko: Partizanske | Napísal autor témy El_locco: 01.06.2017 12:24 | |
|
to som samozrejme skusal ale zas mi padne wdsl ak tam mam viac include alebo require, ked si dam zobrazit xml tak napise XML declaration allowed only at the start of the document.
_________________ Ntbk 1: HP ProBook 640 Ntbk 2: HP EliteBook 840 G5 HTPC: Zotac Zbox BI320,120GB SSD, RAM 3Gb Konzola: Xbox ONE 1Tb TV: Samsung 65RU7402 Tel 1: Huawei P10lite |
|
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|