|
kayıt sayfasında ajax kullanıcı adı kontrolü
(gösterim sayısı: 418)
|
| Yazan |
Konu içeriği |
|
Raiden
[bilinmiyor]
Kayıt Tarihi: 03.03.2008
İleti Sayısı: 7
Şehir: Bursa
Durum: Forumda Değil
E-Posta Gönder
Özel ileti Gönder
|
Konu Tarihi: 21.03.2008- 21:06
öncelikle
http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.3.js
bu adresden jquery-1.2.3.js dosyayı indirip phpkf içindeki dosyalar klasörüne kopyalıyoruz ve ismini jquery.js olarak değiştiriyoruz.
sonra baslik.php açıyoruz ve aşağıdaki satırı buluyoruz.
<meta http-equiv="Content-Style-Type" Content="text/css">
bu satırın hemen altına şunları yazın
<script src="dosyalar/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function _kontrol(username)
{
/**
* PHPKF Ajax Username Kontrol
* Framework: Jquery
* Author: Yusuf KOÇ ( Raiden ) <yusufkoc@ayva.net>
**/
if ($('input#user').val() == '')
{
$('div#sonuc').fadeOut();
}
$('div#sonuc').css('display','inline');
$.ajax({
type:'GET',
url:'uye_adi_kontrol.php?u=' + username,
success: function (msg) {
if (msg == 0) {
$('div#sonuc').css('border','1px solid #FFCC33');
$('div#sonuc').css('background-color','#fffdd4');
$('div#sonuc').css('color','#DDA600');
$('div#sonuc').html('<strong>Bu Kullanıcı Adı Mevcut...</strong>');
}
if (msg == 1) {
$('div#sonuc').css('border','1px solid #008000');
$('div#sonuc').css('background-color','#C1F4C4');
$('div#sonuc').css('color','#008000');
$('div#sonuc').html('<strong>Bu Kullanıcı Adı Alınabilir...</strong>');
}
}
});
}
</script>
<style type="text/css">
/**
* PHPKF Ajax Username Kontrol
* Css: sonuc
* Author: Yusuf KOÇ ( Raiden ) <yusufkoc@ayva.net>
**/
#sonuc {
border: 1px solid #FFCC33;
background-color:#fffdd4;
color:#000;
margin:4px;
padding:4px;
font-size:10px/12px;
text-align:center;
font-family:"Trebuchet MS" Verdana sans;
display:none;
}
</style>
bunları ekleyip kaydedip kapatıyoruz. Ardından kayit.php yi açıyoruz ve aşağıdaki metni aratıyoruz.
<input class="formlar" type="text" name="kullanici_adi" size="35" maxlength="20" value="<? if(isset($_SESSION['kullanici_adi'])) echo $_SESSION['kullanici_adi'] ?>">
bu satırı aşağıdaki ile değiştiriyoruz
<input onkeyup="return _kontrol(this.value);" id="user" class="formlar" type="text" name="kullanici_adi" size="35" maxlength="20" value="<? if(isset($_SESSION['kullanici_adi'])) echo $_SESSION['kullanici_adi'] ?>">
<br/><div id="sonuc"></div>
ve son olarak da forum dosyalarının olduğu dizinde uye_adi_kontrol.php diye dosya yaratıyoruz ve içine aşağıdakileri yazıp kaydediyoruz...
<?php
header('Content-Type:text/html; charset=windows-1254');
include 'ayar.php';
if (!$_GET['u'] || empty($_GET['u']))
{
exit;
}
else
{
$varmi = mysql_query("SELECT kullanici_adi FROM $tablo_kullanicilar WHERE kullanici_adi='".$_GET['u']."'");
if (mysql_num_rows($varmi) > 0)
{
echo '0';
}
else
{
echo '1';
}
}
?>
işlem bu kadar yapamayanlar olursa bu başlık altında yazabilirler...
|
Conquer Online
Conquer
Ayva İnegöl
__________________ Bu ileti en son Raiden
tarafından 21.03.2008- 21:07 tarihinde, toplamda 2 kez değiştirilmiştir.
|
|
Cvp:
Cevap: 1
|
| Yazan |
Cevap içeriği |
|

yonetici
[Adem YILMAZ]
phpKF Ekip Başkanı
Kayıt Tarihi: 30.11.2006
İleti Sayısı: 1.468
Şehir: İstanbul
Durum: Gizli
E-Posta Gönder
Web Adresi
Özel ileti Gönder
|
Cevap Tarihi: 21.03.2008- 23:54
Verdiğiniz kodların doğru olduğuna eminmisiniz?
Ben de kullanıcı adı alanına yazarken javascript satır 35 için şu hatayı veriyor
Hata: $ is not defined
Kaynak dosya: http://localhost/pano/kayit.php?kosul=kabul
Hat: 35
Explorer ise
35
2
Nesne bekleniyor şeklinde hata veriyor.
şu kısmlar hatalı gibi
if ($('input#user').val() == '')
{
$('div#sonuc').fadeOut();
}
$('div#sonuc').css('display','inline');
Bu $ işareti yanlış yerlerdi gibime geliyor.
|
__________________ Bu ileti en son yonetici
tarafından 22.03.2008- 00:38 tarihinde, toplamda 1 kez değiştirilmiştir.
|
|
Cvp:
Cevap: 2
|
| Yazan |
Cevap içeriği |
|

Raiden
[bilinmiyor]
Kayıt Tarihi: 03.03.2008
İleti Sayısı: 7
Şehir: Bursa
Durum: Forumda Değil
E-Posta Gönder
Özel ileti Gönder
|
Cevap Tarihi: 22.03.2008- 11:22
jquery js frameworkunu sayfaya dahil ettiniz mi ? ettiyseniz kullanıcı adı input satırın gereki değişikliği yaptınız mı ? kodlar çalışıyor.... dosya yükleme özelliği olsaydı forumda foruma eklerdim çalışan hallerini...
|
Conquer Online
Conquer
Ayva İnegöl
|
|
Cvp:
Cevap: 3
|
| Yazan |
Cevap içeriği |
|

Raiden
[bilinmiyor]
Kayıt Tarihi: 03.03.2008
İleti Sayısı: 7
Şehir: Bursa
Durum: Forumda Değil
E-Posta Gönder
Özel ileti Gönder
|
Cevap Tarihi: 22.03.2008- 11:31
bu arada phpnin wordwrap fonksiyonunu kullanın sağa doğru çubuk çıkıyor konularda dosyaların çalışan halini koyucam
|
Conquer Online
Conquer
Ayva İnegöl
|
|
Cvp:
Cevap: 4
|
| Yazan |
Cevap içeriği |
|

yonetici
[Adem YILMAZ]
phpKF Ekip Başkanı
Kayıt Tarihi: 30.11.2006
İleti Sayısı: 1.468
Şehir: İstanbul
Durum: Gizli
E-Posta Gönder
Web Adresi
Özel ileti Gönder
|
Cevap Tarihi: 22.03.2008- 18:04
Dahil ettim tabiki, yazılanların hepsini yaptım.
Şuan forumda php`nin wordwrap`dan daha iyi bir fonksiyon çalışıyor, ama bu kodlarda kullanılmaz.
Sayfaya firefox`da bakarsanız internet explorer`daki gibi büyük değil tam boyutunda çıktığını göreceksiniz. Fakat ie bir türlü div katmanına düzgün kaydırma çubuğu veremiyor.
Bu arada dosyayı verdiğiniz cevabı sildim, çünkü forum dosyalarının dağıtılması telif maddelerine göre yasaktır. Ancak yukarıdaki gibi ne yapılcağını anlatarak bu bilgiyi sunabilirsiniz.
|
|
|
|
Cvp:
Cevap: 5
|
| Yazan |
Cevap içeriği |
|

yonetici
[Adem YILMAZ]
phpKF Ekip Başkanı
Kayıt Tarihi: 30.11.2006
İleti Sayısı: 1.468
Şehir: İstanbul
Durum: Gizli
E-Posta Gönder
Web Adresi
Özel ileti Gönder
|
Cevap Tarihi: 25.03.2008- 07:59
Tamam jquery-1.2.3.js dosyasının ismini değiştirmeyi unutmuştum sorun çözüldü, mod çalışıyor.
Firefox`da, çıkan mesaj biraz yazı alanının üzerine biniyor.
Bu arada, bu tarz ajax kontrolleri veritabanını ve sunucuyu bir hayli meşgul eder.
Çünkü bu alandayken klavyeye her basılışta veritabanında böyle bir kullanıcı var mı diye bakılıyor. Kullanacak olanlara duyurulur.
Bir de uye_adi_kontrol.php dosyasındaki kodlarda hiçbir güvenlik kontrolü yok.
Bu şekilde çok rahat SQL injection saldırıları yapılır.
Bu açığı kapatmak için uye_adi_kontrol.php dosyasındaki kodlarda şöyle değiştirin:
<?php
header('Content-Type:text/html; charset=windows-1254');
include 'ayar.php';
if (!$_GET['u'] || empty($_GET['u']))
{
exit;
}
else
{
include 'gerecler.php';
// zararlı kodlar temizleniyor
$_GET['u'] = @zkTemizle($_GET['u']);
$varmi = mysql_query("SELECT kullanici_adi FROM $tablo_kullanicilar WHERE kullanici_adi='".$_GET['u']."'");
if (mysql_num_rows($varmi) > 0)
{
echo '0';
}
else
{
echo '1';
}
}
?>
|
|
|
|
Cvp:
Cevap: 6
|
| Yazan |
Cevap içeriği |
|

gültay
[www forumixir com]
Kayıt Tarihi: 19.02.2008
İleti Sayısı: 407
Şehir: Gizli
Durum: Forumda Değil
E-Posta Gönder
Web Adresi
Özel ileti Gönder
|
Cevap Tarihi: 12.06.2008- 16:28
bunlar yaptım ama kayt sayfasında kontrolle ilgili hiç bişey yok herşey gene aynı
|

Eğitimdir ki, bir milleti hür, bağımsız, şanlı, yüksek bir toplum halinde yaşatır, veya bir milleti kölelik ve yoksulluğa terkeder
|