login sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

login sorunu

Mesaj gönderen Nick_ »

S.a arkadaslar webbrowserde actıgım sıteye edıtlerden aldıgım kullanıcı adı ve sıfreyı @mrmarman hocamızın asagıdakı kodlarıyla gonderıp gırıs yapabılıyorum ve gırıs yaptıgım sayfayı webbrowserde gosterıyorum..ancak kullanıcının hatalı sıfre gırdıgını nasıl anlıyabılırım..mesela kullanıcı hatalı sıfre gırdıgınde "hatalı kullanıcı adı yada sıfre" deyıp tekrar login sayfasına yonlendırmek ıstıyorum nasıl yapabılırım...yada kullanıcı hatalı gırıs yaptıgında o ankı sayfayı ıdhttp ıle memoya alıp ordanmı kontrol ettırıyım?
WebBrowser1.Navigate( 'http://www.yahoo.com/r/m1');
While WebBrowser1.ReadyState <> READYSTATE_Complete do
Application.ProcessMessages;
WebBrowser1.OleObject.Document.GetElementByID('Login').Value := Edit1.Text;
WebBrowser1.OleObject.Document.GetElementByID('Passwd').Value := Edit2.Text;
WebBrowser1.OleObject.Document.GetElementByID('.save').Click;
Kullanıcı avatarı
barutali
Üye
Mesajlar: 297
Kayıt: 02 Tem 2007 02:30

Mesaj gönderen barutali »

bilgileri gönderdikten sonra açılan sayfanın kaynak kodlarını bir memoya aktar içinde Hatalı Giriş mesajını arat varsa bi showmessage la gösterirsin yoksa işleme devam eder...

Aklıma bi bu geldi.. sitede faststrings die aratıtsan ayrıntılı olarak @deltas hocamın bir örneği var ama kısaca işine yaracak kısmı aşağıdaki code bloğunda mevcut sadece kendinize göre düzenleyiniz.

Yol 1

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
var
ara,ara1:string;
bas,son,i:integer;
begin
memo2.Text:='';
  bas:=0;
  son:=0;
  for i:= 0 to memo1.Lines.Count - 1  do
  begin
   ara:=  'Aktif';
   ara1:=  'Pasif';
  bas:= FastPos(memo1.lines[i], ara, length(memo1.lines[i]), length(ara), 1);
  son:=FastPos(memo1.lines[i], ara1, length(memo1.lines[i]), length(ara1), 1);
  if (bas<>0) then
   label1.caption:='Aktif';
     if (son<>0) then
     label1.Caption:='pasif';

   end;
  end;
Yol 2

Kod: Tümünü seç


procedure TForm1.Button2Click(Sender: TObject);
var
ara,ara1:string;
bas,i:integer;
begin
memo2.Text:='';
  bas:=0;
  son:=0;
  for i:= 0 to memo1.Lines.Count - 1  do
  begin
   ara:=  '<td width="150"><b>Durumu</b></td>';
   bas:= FastPos(memo1.lines[i], ara, length(memo1.lines[i]), length(ara), 1);
  if (bas<>0) then
   begin
    memo2.Lines.Add(memo1.lines[i+2]);
   end;
    end;
    end;
kolay gelsin...

Not : Faststrings bileşenlerini yüklemeniz gerekmekte..
amatör küme programcı :D
Kullanıcı avatarı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

Mesaj gönderen Nick_ »

arkadasım ılgılendıgın ıcın cok saol.. faststring bılesenını bılıyorumm o sekılde yapcam ama webbrowser den sayfayı acıp bılgılerı gonderdıkten sonra gelen hatalı gırıs sayfasını webbrowserde nasıl yakalıyabılırım ( acılan sayfanın kodlarını almam ıcın) gırıs hatalı da olsa hatasız da olsa aynı lınk gozukuyor adres cubugunda..
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

gelen sayfanın HTML Kaynak kodunu alarak TITLE kısmında KullanıcıAdi + '@yahoo' stringini ara. Eğer görürsen login başarılı demektir diyebilirsin.
Resim
Resim ....Resim
aseka

Mesaj gönderen aseka »

--
En son aseka tarafından 18 Mar 2008 02:54 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

Mesaj gönderen Nick_ »

S.a arkadaslar

@mrmarman ve @aseka verdıgınız ccevaplar ıcın tesekkurler..

yalnız benım sorunum su
mesela webbrowserde ılk basta http://www.xxxxx.com.tr/login.html sayfasını actırdık dıelım butona bastıgımda edıtlerde bulunan kullanıcı adı ve sıfresını sıteye gonderıp gırıs yapabılıyorum. gırıs yaptıgımda http://www.xxxx.com.tr/xxxx sayfasına gıdıyor buraya kadar hersey normal. ama kullanıcı adı yada sıfre yanlıs oldugunda yıne http://www.xxxx.com.tr/xxxx sayfasına gıdıyor yanı lınkler aynı sadece gırıs basarısız ıse kullanıcı adı yada sıfre yanlıs dıyor. ben bu acılan sayfayı yanı http://www.xxxx.com.tr/xxxx sayfasının kodlarını nasıl alabılırım
yanı webbrowserde actıgım anda sayfanın kodlarını almam lazım.
memo1.text:=idhttp1.get(webbrowser1.????????) gıbı bısey dusunuyorum ama buda olmaz sanırım cunku burda ıdhttp kendısı o adrese gıdecektır buda her zaman hatalı gırıs sayfasının kdolarını getırecek..

kısaca webbrowserde actıgım sayfanın kodlarını nasıl alabılırım?
Kullanıcı avatarı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

Mesaj gönderen Nick_ »

hıı bırde @aseka arkadasımm oyle sıfre kırmayla falan ısım olmaz ya.. bı odaya baglı uyeler ıcın deneme calısması yapıorum yanı kullanıcılar benım programımdan odanın sıtesıne baglancak
Cevapla