Hej Flash Forum

Nu har jeg fået taget mig sammen til at begynde at lave noget i Flex

Til at starte med vil jeg bare lave et simpelt loginsystem med mxml og amfphp.

Men.. det driller lidt.

Jeg har dette PHP script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
 
/**
 * Simpelt login System
 * -Jakob Halskov
 */
class Login {
 
    /**
     * This service checks if the user have entered the correct password for hes or shes user 
     * @returns true or false
     */
  function __construct()
  {
    
    mysql_connect("localhost","root","root");
    mysql_select_db("sporty");
  }
 
    function tryToLogin($username,$password)
    {
        $hashedPassword = sha1($password);
 
    $query ="SELECT *";
    $query .="FROM users ";
    $query .="WHERE username= '{$username}' ";
    $query .="AND encryptedPassword = '{$hashedPassword}' ";
    $query .= "LIMIT 1";
      
        $result_set = mysql_query($query);
  
        if(!$result_set){
            die("Database query failed: " . mysql_error());
        }
        
        if(mysql_num_rows($result_set)!=0)
    {
    
      return "OK";
    
    }else{
    
    return "ERROR";
    
    }
    
    }
 
}
 
?>

Og når jeg tester dette i amfphp browseren fungere det perfekt!

Men når jeg skal til at lave flex delen går det galt..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" width="284" height="256" title="Login" layout="absolute" horizontalAlign="left">
    
   <mx:RemoteObject id="myservice" fault="faultHandler(event)" showBusyCursor="true" source="sporty.Login" destination="amfphp">
        <mx:method name="tryToLogin" result="resultHandler(event)" >
          <mx:arguments>
            <arg1>userInput.text</arg1>
        <arg2>passInput.text</arg2>
      </mx:arguments>
    </mx:method>
    </mx:RemoteObject>
    
    <mx:Script>
    <![CDATA[
      import mx.managers.CursorManager;
            import mx.rpc.events.ResultEvent;
            import mx.rpc.events.FaultEvent;
      
      private function faultHandler(fault:FaultEvent):void
            {
                CursorManager.removeBusyCursor();
                resultTXT.text = "code:\n" + fault.fault.faultCode + "\n\nMessage:\n" + fault.fault.faultString + "\n\nDetail:\n" + fault.fault.faultDetail;
            }
 
            private function resultHandler(evt:ResultEvent):void
            {
                resultTXT.text = evt.result.toString() // same as: evt.result.toString();
            }
            
             private function sendLoginRequest():void
            {
                 myservice.getOperation('tryToLogin').send();
            }
            
           
      
    ]]>
  </mx:Script>
    
  
  <mx:Button label="Login" id="loginButton" x="16" y="87" click="sendLoginRequest()" />
  <mx:Label x="16" y="27" text="Username:" width="78"/>
  <mx:Label x="16" y="53" text="Password:" width="78"/>
  <mx:TextInput x="84" y="25" id="userInput"/>
  <mx:TextInput x="84" y="53" id="passInput" displayAsPassword="true"/>
  <mx:Label x="16" y="117" text="Label" width="238" height="89" id="resultTXT"/>
  
</mx:Panel>

Når jeg taster informationerne ind og trykker login.. får jeg bare "ERROR" (som jeg selv har lavet i php) som er det jeg retunere i php'en hvis koden ikke er korrekt.

Er der nogle kvikke hoveder som kan spotte hvor det går galt?

-Jakob Halskov

Flex newbie xD