T_OBJEKT_OPERATOR

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • T_OBJEKT_OPERATOR

    hi leute,

    habe derzeit ein komisches problem:

    ich habe ein xml_rpc server-script geschrieben, aber:

    auf meinem test-server mit xampp läuft das script hervorragend, aber sobald ich es online stelle, kommt folgender fehler:

    syntax error, unexpected T_OBJECT_OPERATOR in ... on line 20 ,

    da wo steht: $data1= $par->structmem("data1")->scalarval();



    hier das script:

    PHP-Code:
    <?php
    require_once('xmlrpc.inc');
    require_once(
    'xmlrpcs.inc');
    require_once(
    'class.mysqldb.php');

    $validate_signature     = array (array ($xmlrpcStruct$xmlrpcStruct));
    $renew_signature     = array (array ($xmlrpcStruct$xmlrpcStruct));


    # implement request handler
    class RpcRequestHandler {
        
        function 
    validate($xmlrpcmsg) {

            
    $validationResult false;
            
            
    $database = new db_MySQL();
            
            
    $par $xmlrpcmsg->getParam(0);
            
            
    $data1$par->structmem("data1")->scalarval();
            
    $data2$par->structmem("data2")->scalarval();
            
    $data3$par->structmem("data3")->scalarval();
            
            
            
    $database->connect();
            
    $query "SELECT * FROM ...";
            
    $result $database->Query($query);
            
            if(!empty(
    $result)) {

                if(!
    strcmp($result['dbdata'],$data1)) {
                    
    $validationResult true;
                    
                } else {
                    
    $validationResult false;
                }
        
            }

            
    $database->Disconnect();
            
            
    $rpcStruct = new xmlrpcval (
                array(
                    
    "validation"    =>    new xmlrpcval($validationResult"boolean")
                ), 
    "struct"
            
    );
            
            return new 
    xmlrpcresp($rpcStruct);
        
        }    
    # end validate()
        

        
    function renew($xmlrpcmsg) {

        }    

        
    # end class


    # implement RPC Server

    $server = new xmlrpc_server(
        array(
            
    "requestHandler.validate"    =>    array(
                
    "function"    =>    "RpcRequestHandler::validate",
                
    "signature"    =>    $validate_signature),
            
    "requestHandler.renew"    =>    array(
                
    "function"    =>    "RpcRequestHandler::renew",
                
    "signature"    =>    $renew_signature)
        )
    );
    ?>

    meine vermutung: es liegt an der php.ini oder einer anderen configurations-einstellung... aber ich habe keine ahnung was das sein könnte!!!

    kann mir da jemand helfen?


    vielen dank!

    holly123

  • #2
    Versuch mal
    PHP-Code:
    $data1$par->structmem("data1");
    $data $data1->scalarval(); 

    Kommentar


    • #3
      klappt leider auch nicht:

      Fatal error: Call a member function on a non-object in line 23

      Kommentar


      • #4
        hat doch geklappt:

        vor lauter eile habe ich

        PHP-Code:
        $data1$par->structmem("data1");
        $data -> $data1->scalarval(); 
        anstelle von:
        PHP-Code:
        $data1$par->structmem("data1");
        $data =  $data1->scalarval(); 
        geschrieben!!!


        Besten Dank PHP-Desaster!!!

        Kommentar


        • #5
          ich würde mal mit
          print_r($par);
          anfangen
          Slava
          bituniverse.com

          Kommentar


          • #6
            print_r($par); ergibt folgendes:

            PHP-Code:
            xmlrpcval Object
            (
                [
            me] => Array
                    (
                        [
            struct] => Array
                            (
                                [
            data1] => xmlrpcval Object
                                    
            (
                                        [
            me] => Array
                                            (
                                                [
            string] => test-daten
                                            
            )

                                        [
            mytype] => 1
                                        
            [_php_class] => 
                                    )

                                [
            data2] => xmlrpcval Object
                                    
            (
                                        [
            me] => Array
                                            (
                                                [
            int] => 2
                                            
            )

                                        [
            mytype] => 1
                                        
            [_php_class] => 
                                    )

                                [
            data3] => xmlrpcval Object
                                    
            (
                                        [
            me] => Array
                                            (
                                                [
            string] => test-string

                                            
            )

                                        [
            mytype] => 1
                                        
            [_php_class] => 
                                    )

                            )

                    )

                [
            mytype] => 3
                
            [_php_class] => 

            Kommentar


            • #7
              Ich behaupte einfach mal, dass deine PHP Version zu alt ist, um den Rückgabewert einer Methode direkt wieder als objekt zu behandeln.
              hopka.net!

              Kommentar


              • #8
                das kann sein! ich glaube das ist auch so!!


                also die php-version des xampp = 5.2.1

                und die von meinem provider = 4.4.7 !!!!!

                Kommentar

                Lädt...
                X