folder Tahribat.com Forumları
linefolder Delphi - Pascal
linefolder Delphi İle Siteye Login Olma



Delphi İle Siteye Login Olma

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek
    zumsuk bunu yazdı:
    -----------------------------

    bende delphiyle uğraşıyorumda şu geldi aklaıma

    [code]

     





     

    [/code]

    Burdan login.php?user=edit1.text&pass=edit2.text

    tarzı bir olayla yaklaşıp web browserdan birşeyler yapamaz mıyız?

    edit: ne saçmalıyorsun var zaten diyeceksiniz.Demek istediğim şu cookieleri falanda delphiyle ayarlasak.Yani bir nevi sohbet programı tarzı birşey olur mu?


    -----------------------------

    tabiki yapılabilir neden web üzerinden istiyorsunki socket kullanmak daha mantıklı değil mi?


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mRT
    mRT's avatar
    Kayıt Tarihi: 22/Eylül/2007
    Erkek

    Eğer TWebBrowser Componenti iLe Yapacaksanız ;

    Form'a WeBBrowser'ı ve 1 Button, 2 Editbox Ekleyin Button'un OnClick Olayına ;

    WebBrowser1.OleObject.All.Item("Form Value Değeri").Value = Edit1.Text
    WebBrowser1.OleObject.All.Item("Form Value Değeri").Value = Edit2.Text
    WebBrowser1.OleObject.All.Item("Button").Click

    Form Value Değerlerine Post Yapacağınız Sitenin Kaynak Kodundan Alabilirsiniz.. 

     

     

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    onur2x
    onur2x's avatar
    Kayıt Tarihi: 17/Haziran/2007
    Erkek

     Bu  işi yapabilmen için bir asp dosyası oluşturacaksın ve programla o asp ye baglanacaksın yada index.asp (default.asp) dosyandaki kulalnıcı form unu kulalcaksın ben ornek ap yide vereyim bu kodları kendi sitene gore duzenle

    programla asp ye baglandıktan sonra asp de gerekli bilgiyi veritabanından sorgulaaycak programla direk veritabanına bağlanamazsın cunku site buna izin vermez..

    örnek asp

    <%@ Language=VBScript %>


    <%


    Kadi = Request.Form("kullaniciadi") ' burada programdan gonderdigimiz edit1 icindeki bilgiyi Kadi isimli degiskene aliyoruz
    sifre = Request.Form("sifre")       'sifreyi aliyoruz

    FUNCTION fixQuotes( theString )   'string icin tirnak koyduruyoruz function
      fixQuotes = REPLACE( theString, "'", "''" )
    END FUNCTION

    'veritabani Baglantisini Ac
    Set con = Server.CreateObject("ADODB.Connection")
    con.Open "driver={microsoft access driver (*.mdb)};" &_
                           "dbq=" & Server.MapPath("test.mdb") ' MapPath functinu fiziksel yolu dondurur isersek direk yoluda yazabiliriz
                          
    'Tablomuzu seciyoruz
    sqlString = "SELECT * FROM UserList "
    sqlString = sqlString & "WHERE KullaniciAdi='" & fixQuotes( Kadi ) & "'"
    sqlString = sqlString & " AND Sifre='" &fixQuotes( sifre ) & "'"
                          
    'Kayit Setini Aç
    Set RS = Server.CreateObject("ADODB.Recordset")
    RS.ActiveConnection = con

    RS.Open sqlString
    RS.Close
    con.Close()
    %>

    // asp de hatalar olabilir tam asp bilmiyorum :)

    Buda  delphi kodları

    2 label 2 edit 1 webbrowser 1 tanede buton

    unit main;

    interface

    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, OleCtrls, SHDocVw, ExtCtrls;

    type
      TForm1 = class(TForm)
        Button1: TButton;
        Edit1: TEdit;
        LKad: TLabel;
        Lsifre: TLabel;
        Tarayici1: TWebBrowser;
         Edit2: TEdit;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    const
     ASP_Dosya = 'deneme';
     Net_Adres = 'http://127.0.0.1/';    // 'http://www.websitesiAdresi.com/'


    implementation
    uses
      WinInet,
      HTTPApp,
      ActiveX;
    {$R *.DFM}

    //..................................................

    function isOnline: boolean;  // internete baglımı degilmi
    var
       connect_status: dword;
    begin
       connect_status := 2 + 1 + 4; //2 := lan 1 := modem 4 := proxy
       result := InternetGetConnectedState(@connect_status, 0);
    end;

    //.................................................
    procedure TForm1.Button1Click(Sender: TObject);
    var
    EncodedDataString: string;
    PostData: OleVariant;
    Headers: OleVariant;
    I: Integer;
    sifre : String ;
    begin

      Sifre := Edit2.Text ;


      // Internete bagli olup olmadini kontrol ediyoruz Yerel makinada calistirmayacaksan
         // Bu kodu Etkin yap
      if isOnline = false then begin //Internet Baglantisini Kontrol Et
       ShowMessage('Lutfen Internete Baglandiktan Sonra Yeni Kullanici Ekleyiniz');
       exit ; end;

      }
       EncodedDataString := 'kuladi=' + HTTPEncode(Edit1.Text) + '&' +
       'password=' + HttpEncode(sifre{Edit2.Text})  ;
       PostData := VarArrayCreate([0, Length(EncodedDataString) - 1], varByte);
       for I := 1 to Length(EncodedDataString) do
       PostData[I-1] := Ord(EncodedDataString[I]);
       Headers := 'Content-Type: application/x-www-form-urlencoded' + #10#13;
       Tarayici1.Navigate( Net_Adres +ASP_Dosya +'.asp', EmptyParam,
    // yada direk adresi gir  'http://www.websitesi.com/deneme.asp'
       EmptyParam, PostData, Headers);

    end;

    end.

    umarım işini goruru hadi kolay gelsin 

     


    Imzam Yok Barnak Bassam Olmamı?
Toplam Hit: 6612 Toplam Mesaj: 14