Login über php script Login über php script
Ergebnis 1 bis 6 von 6
  1. 05.09.2012, 13:27
    #1
    hallo,

    ich bin grad dabei ein login einzubauen. Dazu soll das Phone die daten an ein php script senden, das php script wertet das dann entsprechen aus und liefert eine antwort.

    nun is mein problem das ich nicht weiss wie ich Daten an das php script senden kann und die antwort erhalte :/

    ich habe folgendes probiert: (quelle: http://msdn.microsoft.com/query/dev1...ARP%29&rd=true)

    Code:
    private ManualResetEvent allDone = new ManualResetEvent(false);
    
    
            public Login()
            {
                InitializeComponent();
            }
    
            private void loginBtn_Click(object sender, RoutedEventArgs e)
            {
                HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://blablabla/bla.php");
                req.Method = "POST";
                req.ContentType = "application/x-www-form-urlencoded";
                req.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), req);
                allDone.WaitOne();
            }
    
            private void GetRequestStreamCallback(IAsyncResult asynchronousResult)
            {
                HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
    
                // End the operation
                Stream postStream = request.EndGetRequestStream(asynchronousResult);
    
                string postData = "test!123";
    
                // Convert the string into a byte array.
                byte[] byteArray = Encoding.UTF8.GetBytes(postData);
    
                // Write to the request stream.
                postStream.Write(byteArray, 0, postData.Length);
                postStream.Close();
    
                // Start the asynchronous operation to get the response
                request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);
            }
            // hier springt er nie rein
            private void GetResponseCallback(IAsyncResult asynchronousResult)
            {
                HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
    
                // End the operation
                HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);
                Stream streamResponse = response.GetResponseStream();
                StreamReader streamRead = new StreamReader(streamResponse);
                string responseString = streamRead.ReadToEnd();
          
                // Close the stream object
                streamResponse.Close();
                streamRead.Close();
    
                // Release the HttpWebResponse
                response.Close();
                allDone.Set();
            }
    jedoch führt er die GetResponseCallback Methode nie aus und das programm blockiert und scheint eben die ganze zeit zu warten das eine antwort zurück geliefert wird :/
    kann mir da einer helfen?
    0
     

  2. 05.09.2012, 13:56
    #2
    Ich sehe da jetzt auch nicht direkt einen Fehler, evtl. hilft dir aber diese Library hier weiter:

    http://studentguru.gr/b/vangos/archi...s-phone-7.aspx
    2
     

  3. 05.09.2012, 14:34
    #3
    danke für den link, ich hab die lib ausprobiert, sie scheint aber nur bedingt zu funktionieren. (oder ich mach was falsch)

    folgenden code habe ich:

    Code:
    private void loginBtn_Click(object sender, RoutedEventArgs e)
            {
                PostClient pC = new PostClient("test123");
                pC.DownloadStringCompleted += new PostClient.DownloadStringCompletedHandler(pC_DownloadStringCompleted);
                pC.DownloadStringAsync(new Uri("http://blaa/login.php", UriKind.Absolute));
            }
    
            void pC_DownloadStringCompleted(object sender, WindowsPhonePostClient.DownloadStringCompletedEventArgs e)
            {
                if (e.Error == null)
                {
                    string data = e.Result;
                }
            }
    mein php script prüft ob $_REQUEST null ist oder nicht. wenn es null ist, also nix übergeben wurde sendet er ne 1 zurück, ansonsten eine 0
    nun bekomm ich aber leider immer eine 1 :/

    ps: gibs eigentlich irgentwelche rechtlichen einschränkungen mit dieser lib? Oder kann ich die frei verwenden wie ich will?
    0
     

  4. 0
     

  5. 05.09.2012, 19:14
    #5
    Es steht ja auf der Quellseite eh welche Lizenz die Lib nutzt:
    PostClient is an open-source library hosted in CodePlex and licensed under Microsoft Public License (MS-PL). You are free to use it in your applications by simply mentioning its origin. If you want to contribute for further development, do not hesitate to contact me.
    Was man da als Daten bei einem Post genau mitgeben muss kann ich dir jetzt allerdings nicht sagen. Auch auf der PHP Seite kann ich dir nicht wirklich weiterhelfen, nachdem ich im Webbereich nur mit ASP.Net arbeite.
    0
     

  6. 07.09.2012, 08:54
    #6
    hab herrausgefunden das es funktioniert wenn man eine dictionary benutzt. Aber keine ahnung wieso eine überladung mit nem string angeboten wird ... naja dennoch danke, funzt jetzt
    0
     

Ähnliche Themen

  1. [Script]*ULTIMATE KERNEL CLEANING SCRIPT v2.6.8 - 27.07* for "SAMSUNG GB/ICS| AOSP"
    Von aljee77 im Forum Samsung Galaxy S2 Root und ROM - GT-I9100
    Antworten: 46
    Letzter Beitrag: 14.01.2013, 08:47
  2. PHP Programmieren
    Von FAIR im Forum Plauderecke
    Antworten: 4
    Letzter Beitrag: 23.08.2004, 11:28

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

windows logon php

php post in link windows phone app

windows phone php get

windows phone script sprachen

windows phone 7 scripts

windows phone app call a php script

windows phone script

windows scripte asynchron windows login

scripting mit windows phone

Stichworte