ikinci post işlemi Nasıl yapabilirim ?
ikinci post işlemi Nasıl yapabilirim ?
Selam Arkadaşlar ;
Php Konusunda ii değilim. Fakat Şöyle Bişey yapmam lazım..
kullanıcı adı ve şifre kontrolü yaptırdığım da (database den) kullanıcı adı ve şifre doğru ise başka bir siteki bir sayfaya bu kullanıcı adı ve şifreyi post ettirerek o safyadan login olmak istiyorum...
örnek : http://www.benimsitem.com/kontol.php ye form dan post ettiğim kullanıcı adı ve şifre databaseden kontrol edildiğinde doğru ise http://www.digersite.com/login.php' ye tekrar post edilsin ve bu sayfa karşıma gelsin...
database bağlantısını kontrolü falan yaptım fakat diğer siteye post işlemini yapamadım..
kolay gelsin.
Php Konusunda ii değilim. Fakat Şöyle Bişey yapmam lazım..
kullanıcı adı ve şifre kontrolü yaptırdığım da (database den) kullanıcı adı ve şifre doğru ise başka bir siteki bir sayfaya bu kullanıcı adı ve şifreyi post ettirerek o safyadan login olmak istiyorum...
örnek : http://www.benimsitem.com/kontol.php ye form dan post ettiğim kullanıcı adı ve şifre databaseden kontrol edildiğinde doğru ise http://www.digersite.com/login.php' ye tekrar post edilsin ve bu sayfa karşıma gelsin...
database bağlantısını kontrolü falan yaptım fakat diğer siteye post işlemini yapamadım..
kolay gelsin.
A sitesinde kontrolü yapalım doğruysa veriyi b sitesine post edelim. Öncelikle bunu yapmak için php de bilmediğimiz bir şey yapmamıza gerek yok, bildik kontrolü kullanacağız ama işin püf noktası javascript tarafında.
1. Gönder butonunuzun tipi Submit olmayacak type="button" diyeceksiniz böyle olunca form otomatik olarak action="asitesi-kontrol.php" ye gitmeyecek bizim manuel olarak form.submit() dememizi bekleyecek.
2. Formun gideceği sayfayı son olarak göstermek istediğiniz sayfa olarak seçeceksiniz, action="bsitesi-login.php". asitesinde kontrol yapmadan b sitesine formu yollamamam gerekiyorsu diyeceksiniz onu formu submit etmeden tünel kazarak yapıcaz. Nasıl oluyoru
3. Bir tane ajax versiyonu bulun ben kullandığımı ekleyeyim
ajax.js
Bu kodu asitesindeki kontrol formumuzdan çağırın. 'yukle' adında bir div oluşturun ve style olarak display:none deyin. Bu div içine yükleniyor şekline bir yazı koyun.
İkinci olarak asitesindeki formumuza bir kaç jscript fonksiyonu ekleyelim.
form.html
login_kontrol.php
Şimdi formun içindeki butonun onClick eventide fonksiyonu çağıracak
Şimdi yukardaki meseleyi biraz açayım, onclick e tıklayınca, uye_email ve uye_sifre id li inputlarındaki veriler asitesinin içine yerleştirdigimiz login_server.php dosyasına gönderilecek, bu aşamada yukarda oluşturduğumuz yukle adlı div aktif hale gelecek ve yükleniyor yazısı duracak sonra login_server.php gelen veriye göre bize bir çıktı verecek
ben burda kontrollerimde 0,1,2,3 gibi değerler döndürüyorum. Mesela 1 dediğinde login başarılı olmuş oluyor ve login_server.php dosyasında bu kullanıcının aynı zamanda sessionunu register etmiş oluyorum. Ön yüzde de mesaj isimli bir div içine hangi mesajın geleceğini yazıyorum (mesaj.innerHMTL). login_server.php bize bir sonuc dönüp yüklemesi bittiğinde yukle div tekrar gözükmez oluyor ve mesela 1 geldiyse
document.getElementById("forma").submit(); diyerek formu submit ediyorum bu durumda formun gideceği yer neresi derseniz
bsitesini login formu olacak, istersek bu kısmıda yeni bir tünel açıp ordan yapabilirsiniz ama neticede son site o olduğundan ona post etmekde bir sorun yok.
4. Bu tünel işlemini gerçekleştirirken veri get ile gidiyor ve server log dosyasında şifre gözükür onun içinde md5.js scripti olacak password alanını md5 leyip öylgöndermenizde fayda var.
1. Gönder butonunuzun tipi Submit olmayacak type="button" diyeceksiniz böyle olunca form otomatik olarak action="asitesi-kontrol.php" ye gitmeyecek bizim manuel olarak form.submit() dememizi bekleyecek.
2. Formun gideceği sayfayı son olarak göstermek istediğiniz sayfa olarak seçeceksiniz, action="bsitesi-login.php". asitesinde kontrol yapmadan b sitesine formu yollamamam gerekiyorsu diyeceksiniz onu formu submit etmeden tünel kazarak yapıcaz. Nasıl oluyoru
3. Bir tane ajax versiyonu bulun ben kullandığımı ekleyeyim
ajax.js
Kod: Tümünü seç
// JavaScript Document
function DoCallback(data)
{
// branch for native XMLHttpRequest object
document.getElementById("yukle").className = '';
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open('POST', url, true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(data);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
req = new ActiveXObject('Microsoft.XMLHTTP')
if (req) {
req.onreadystatechange = processReqChange;
req.open('POST', url, true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(data);
}
}
}
function processReqChange() {
// only if req shows 'loaded'
if (req.readyState == 4) {
// only if 'OK'
if (req.status == 200) {
eval(what);
document.getElementById("yukle").className = 'hidden';
} else {
alert('There was a problem retrieving the XML data: ' +
req.responseText);
}
}
}
İkinci olarak asitesindeki formumuza bir kaç jscript fonksiyonu ekleyelim.
form.html
Kod: Tümünü seç
var url = "login_server.php";
var what = "LoginStatus(req.responseText)";
function CheckLogin()
{
var username = document.getElementById("uye_email").value;
var password = document.getElementById("uye_sifre").value;
document.getElementById("mesaj").className = 'hidden';
DoCallback("username="+username+"&password="+password);
}
function LoginStatus(Status)
{
var mesaj = document.getElementById("mesaj");
mesaj.className = '';
if(Status == 0)
mesaj.innerHTML = "Geçersiz şifre <br> Yeni şifrenizin e-mail adresinize gönderilmesini istiyorsanız tıklayınız. ";
if(Status == 1) {
//window.location="index.php";
mesaj.innerHTML = "Üye girişi başarılı";
document.getElementById("forma").submit();
}
if(Status == 2) {
mesaj.innerHTML = "E-Mail adresi bulunamadı, üye değilseniz aşağıdaki formu doldurarak işlemi gerçekleştirebilirsiniz.";
}
if(Status == 3) {
mesaj.innerHTML = "E-mail adresinizi ve şifrenizi giriniz. Üye değilseniz aşağıdaki bilgileri doldurabilirsiniz.";
}
}
Kod: Tümünü seç
if(strlen($prl) == 32) {
if($password == $prl) {
$_SESSION['uye_id'] = $uye_id;
echo 1;
}
else
echo 0;
}
else {
echo 2;
}
}
Kod: Tümünü seç
<input type="button" name="Submit2" value="Gönder" onClick="CheckLogin()">
ben burda kontrollerimde 0,1,2,3 gibi değerler döndürüyorum. Mesela 1 dediğinde login başarılı olmuş oluyor ve login_server.php dosyasında bu kullanıcının aynı zamanda sessionunu register etmiş oluyorum. Ön yüzde de mesaj isimli bir div içine hangi mesajın geleceğini yazıyorum (mesaj.innerHMTL). login_server.php bize bir sonuc dönüp yüklemesi bittiğinde yukle div tekrar gözükmez oluyor ve mesela 1 geldiyse
document.getElementById("forma").submit(); diyerek formu submit ediyorum bu durumda formun gideceği yer neresi derseniz
bsitesini login formu olacak, istersek bu kısmıda yeni bir tünel açıp ordan yapabilirsiniz ama neticede son site o olduğundan ona post etmekde bir sorun yok.
4. Bu tünel işlemini gerçekleştirirken veri get ile gidiyor ve server log dosyasında şifre gözükür onun içinde md5.js scripti olacak password alanını md5 leyip öylgöndermenizde fayda var.
<meta http-equiv=”refresh” content=”0; URL=http://benimsitem.com/index.php?lang=tr ... word=12345”>
HTML kodunu oluşturacak bir php yazman yeterli.
HTML kodunu oluşturacak bir php yazman yeterli.
@mkysoft refresh le yapılan bu işlemde şifremin, kredi kartı bilgilerimin veya post ile göndermek istediğim gizli bilgierin yanımda duran kişi tarafından browserın adres çubuğunda görülmesini, daha sonra o bilgisayara oturacak kişinin geçmiş bağlantılardaki mevcut adrese tıklayarak haberim olmadan giriş yapmasını, adres çubuğunda hedef sitenin adresini yazarken otomatik tamamlamada çıkmamasını ya da server log filelarını inceleyen biri tarafından görülmemesi istiyorum.
Bunu refresh le nasıl yapabileceğimizi de açıklayabilir misiniz?
Bunu refresh le nasıl yapabileceğimizi de açıklayabilir misiniz?
Bu şekilde yapılan bir post işleminde tabiki bilgiler gözükecektir. 2. bir site aracılığı ilr kim banka şifresi gibi önemli bilgilerini girmek isterki?
Denemedim ama java script ile yapılabilir gibi geldi bana. frame yapısı kullanarak 2. sitedeki kutuları java script yardımıyla doldurabilirsiniz. ama tıklama nasıl olacak onu kestiremiyorum.
Denemedim ama java script ile yapılabilir gibi geldi bana. frame yapısı kullanarak 2. sitedeki kutuları java script yardımıyla doldurabilirsiniz. ama tıklama nasıl olacak onu kestiremiyorum.
Cevap yazdıktan sonra ufak bir araştırma yaptım.
http://www.willmaster.com/possibilities ... 0001.shtml adresinde formun nasıl post edilebileceği anlatılıyor. Burada yapman gereken document.complate olayını kullanmak. googleda ararsan bulabilirsin.
kolay gelsin.
http://www.willmaster.com/possibilities ... 0001.shtml adresinde formun nasıl post edilebileceği anlatılıyor. Burada yapman gereken document.complate olayını kullanmak. googleda ararsan bulabilirsin.
kolay gelsin.