İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Veritabanından çekilen veriye göre IP banlama

CSManager.NET

0
İyinet Üyesi
Katılım
20 Aralık 2010
Mesajlar
447
Reaction score
6
Konum
İstanbul
Yavaş yavaş öğrenmeye başladım ama bazen mantığım tıkanıyor ve kod eksiklerimde var.

Ben post ile veritabanına Bir IP adresi girdim ve kontrol için bir sayfa oluşturdum.
ban-kontrol.php
PHP:
include('baglan.php');

$ziyaretci_ip = $_SERVER['REMOTE_ADDR'];
$kontrol=mysql_query("select * from ban where ban_ip='$ziyaretci_ip'");

if ($ziyaretci_ip=$kontrol){
	echo "banlandın"; }
	else {
		echo "banlanmadın"; }
böyle birşey yaptım ama ne yaparsam yapayım hep ilk seçenek olan banlandın yazısı çıkıyor. tablonun içinde veri olmasa bile banlandın yazıyor. Ne yapmama lazım anlayamadım. Yardım ederseniz sevinirim.
 

mertdinler

0
İyinet Üyesi
Katılım
9 Mayıs 2011
Mesajlar
140
Reaction score
1
Bende Pek Bilmem Ama Elime Olan Kodu Senin kine Uyarlıyabilir miyim Diye Denedm :) Tablo adı satır stün adı felan yanlışlık olabilir bir bak sen
PHP:
<?php 

include("baglan.php");


$ziyaretci_ip=$_SERVER['REMOTE_ADDR'];

$toplam = mysql_query("SELECT * FROM ban where ban_ip='$ziyaretci_ip' ");
$ip_ban_yemis_mi=mysql_num_rows($toplam);

if($ip_ban_yemis_mi=="0"){
echo"banlanmadın";
}else{ 

$sorgu=mysql_query("select * from ban where ban_ip='$ziyaretci_ip'"); 
while($satir=mysql_fetch_row($sorgu))
{
echo"Ban Yemissiniz Gecmis Olsun";
}

}
echo $ziyaretci_ip;
?>

Ekleme: Denedim Kodu Çalışmadı Tekrar Düzenledim Artık Çalışıyor ;) Düzenlemeler Yaptm Kodda Tekrar Denemeni Tavsiye Ederim :D
 
E

Erturk

Misafir
Text alanına girdiğin IP adresi yerine kendini banladığının farkına vardığında sorunu çözmüş olacaksın :)

Ekleme: Eğer text alanına girdiğin Ip numarasının banlı olup olmadığını kontrol etmek istiyorsan o kadar sorgu yapmana gerek yok dostum.

Şunu denemen kafi.

PHP:
<?php
$ip = $_POST['ip'];
$baglan = mysql_query("select * from ban where ban_ip='$ip'");
if(mysql_num_rows($baglan) < 1) {
echo '<b>'.$ip.'</b> numaralı IP adresi banlı değildir.';
} else {
echo '<b>'.$ip.'</b> numaralı IP adresi banlıdır.';
}
?>
<form action="" method="post">
<input name="ip"   type="text" />
<input name="gonder" type="submit" value="Gonder"/>
</form>
 

CSManager.NET

0
İyinet Üyesi
Katılım
20 Aralık 2010
Mesajlar
447
Reaction score
6
Konum
İstanbul
ertürk hocam ben IP banlı ise banlandın banlı değilse banlanmadın yazmasını istiyordum. mert kardeşim bana doğru bilgiyi vermiş fakat o da kodu uzatmış. mysql_num_rows kullanmam gerekiyormuş.
kodun son hali ve çalışır hali :)

PHP:
include('baglan.php');

$ziyaretci_ip = $_SERVER['REMOTE_ADDR'];
$kontrol=mysql_query("select * from ban where ban_ip='$ziyaretci_ip'");

$ban_var_mi=mysql_num_rows($kontrol);
if ($ban_var_mi >= 1) { 
echo "banlandınız"; }
else {
	echo "banlanmadınız"; }
yardımın için teşekkürler mert :harika:
 
E

Erturk

Misafir
Ama bu son verdiğin kodda senin banlı olup olmadığını gösterir. Post ile gönderdiğin Ip nin değil yani. Post lafı geçince olay benim belirttiğim gibi olur :) Aksi durumda ban_kontrol.php dosyasına giren her kullanıcı kendisinin banlı olup olmadıgını görür senin kod ile ;)

Halledebildiysen problem yok ;)
 

mertdinler

0
İyinet Üyesi
Katılım
9 Mayıs 2011
Mesajlar
140
Reaction score
1
ertürk hocam ben IP banlı ise banlandın banlı değilse banlanmadın yazmasını istiyordum. mert kardeşim bana doğru bilgiyi vermiş fakat o da kodu uzatmış. mysql_num_rows kullanmam gerekiyormuş.
kodun son hali ve çalışır hali :)

PHP:
include('baglan.php');

$ziyaretci_ip = $_SERVER['REMOTE_ADDR'];
$kontrol=mysql_query("select * from ban where ban_ip='$ziyaretci_ip'");

$ban_var_mi=mysql_num_rows($kontrol);
if ($ban_var_mi >= 1) { 
echo "banlandınız"; }
else {
	echo "banlanmadınız"; }
yardımın için teşekkürler mert :harika:

Bişe Değilde Dostum. :) Bende Php Öğrencisiyim :) Daha Hiç Bir Şey Blmym Yukarıda Verdiğim Kodda Troypc nin bana referans kodu olarak hazırladığı kodu uyarlamaya çalıştım :D Birde Benm Verdiğim Kodda Sona Ziyaretçi ip sini yazdrmşm onu mysql de kendi ip mi banlamak için yazmştm :) Blmyrdm ip yi :D görmek içindi yani
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst