Nie chcę przekazywać tablicy do jednej funkcji, tylko ogólnie do serwera - dokładniej to chodzi mi o login i hasło tak by na serwerze dopiero po ich sprawdzeniu ładowało wszystkie funkcje.
@edit
Nie wiem czy to takie trudne czy ja taki po**** ale siedzę z tym od rana i nie mogę nic wymyślić
<?php
$Account['Name']['Konto'] = TRUE;
$Account['Password']['Konto'] = "Haslo";
class Account extends SoapClient{
public $Login;
public $Password;
public function setAccountParameters($Login, $Password){
$this->Login = $Login;
$this->Password = $Password;
}
public function validateAccount(){
if(isset($Account['Name'][$this->Login])){ if($Account['Password'][$this->Login] == $this->Password)
return TRUE;
else
return FALSE;
} else
return FALSE;
}
if(validateAccount()){
public function check(){
return "Sesja potwierdzona";
}
} else return "Sesja niepotwierdzona";
}
$Server = new soapserver
(null, array('uri' => '')); //$Server->setClass("Account");
//$Server->setPersistence(SOAP_PERSISTENCE_SESSION);
//$Server->addFunction("setAccountParameters");
$Server->handle();
?>
<?php
//Ustalenie adresu serwera:
$_SERVER['HTTP_HOST'],
//Utworzenie obiektu klienta SOAP
$soap = new SoapClient
(null, array('location' => $location, 'uri' => ''));
//$Account = new Account("Konto", "Haslo");
//$soap->check($Account);
//$soap->__soapCall("check", $Account);
//wykorzystanie funkcji udostępnionej przez serwer
//$soap->setAccountParameters(1, 2);
// try {
// ...
//$soap->setAccountParameters(1, 2);
//} catch (SoapFault $e) {
//var_dump($e);
//}
//echo $soap->__getFunctions();
?>
Pomyślałem że z klasą będzie najłatwiej, po jej zrobieniu i zastosowaniu nie było żadnych błędów więc się ucieszyłem ale nie wiem jak wywołać jakąkolwiek funkcję
class Account{
...
$Server->setClass("Account");
Potem zmieniłem to na
class Account extends SoapClient{
I usunąłem ustawianie klasy ale w sumie żadnej różnicy albo jakiś błąd z którego naprawdę nic nie wynika albo pusta strona.
Przykładowy błąd:
Fatal error: Uncaught SoapFault exception: [HTTP] Unable to parse URL in C:\xampp\htdocs\index.php:11 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'location', '#check', 1, 0) #1 [internal function]: SoapClient->__call('check', Array) #2 C:\xampp\htdocs\index.php(11): SoapClient->check() #3 {main} thrown in C:\xampp\htdocs\index.php on line 11