• 14-03-2009, 09:51:01
    #1
    Merhaba arkadaşlar yöneticilerin isimleri ve şifreleri değiştirebileceği bir bölüm yaptım. eğer ki değiştirilen yönetici ismi mysql de mevcutsa hata yazdırmak istiyorum.
    DB Adı: _admin
    id admin password
    --- ---- -------
    2 ahmet xxx
    3 mehmet xxx
    $new_admin_name1 = $_POST['new_admin_name'];
    $query = mysql_query("select * from _admin;") or die(@include ("config/error.php"));
    	while ($query1 = mysql_fetch_array($query))
    	{
    	$admin_name = $query1['admin'];
    	}	
    		if ($new_admin_name1 == $admin_name)
    	{
    		echo "bu isimde bir yönetici zaten var<br /><a href='javascript:history.go(-1)'>geri git</a>";
    	}
    fakat mehmet isimli yönetici adını değiştirmese bile yine hata veriyor çünkü değiştirilen id dahil Db deki admin sütununun tamamını kontrol ediyor. bu yüzden işlem yapılan id hariç diğer tüm sütunları seçmem gerekiyor. bunu nasıl yapabilirim? ilgilenen arkadaşlara çok teşekür ediyorum.
  • 14-03-2009, 10:37:46
    #2
    Üyeliği durduruldu
    mysql_query("select * from _admin;")

    kısmına where kriteri eklemeniz lazim

    mysql_query("select * from _admin where Adi='mehmet'")

    gibi

    bu kayıt varsa vardır

    sizin mantığınızla herhangi bir kaydı seçiyorsunuz
  • 14-03-2009, 10:49:43
    #3
    @sdemirkeser
    merhaba! cevap için teşekürler. yalnız
    Alıntı
    mysql_query("select * from _admin where Adi='mehmet'")
    sadece mehmet sütununu seçmez mi ben işlem yapılan id hariç tüm sütünları seçmek istiyorum
  • 14-03-2009, 10:56:40
    #4
    Üyeliği durduruldu
    hijacker83 adlı üyeden alıntı: mesajı görüntüle
    @sdemirkeser
    merhaba! cevap için teşekürler. yalnız
    sadece mehmet sütununu seçmez mi ben işlem yapılan id hariç tüm sütünları seçmek istiyorum
    işte where kıstasını yapmak istediginiz şeye göre düzenleyeceksiniz üstaadim gneel mantık alan = 'deger' yada alan !='deger' şeklinde

    yani

    mysql_query("select * from _admin where id!='".$id."'")
    gibi kullanabilirim

    birden fazla alan eşleşmesi gerekiyorsa and ve or lada birleştirebilirsiniz

    mysql_query("select * from _admin where adi='ahmet' and id!='3'")
    gibi gibi
  • 14-03-2009, 11:32:22
    #5
    @sdemirkeser
    çok teşekür ederim mesajın üzerine aşağıdaki gibi yaptım sorunsuz çalışıyor
    $ida = $_POST['id']; // işlem yapılan id'yi tespit et
    $new_admin_name1 = $_POST['new_admin_name'];	// admin ismini al
    $new_admin_name2 = base64_encode($new_admin_name1); // admin ismini veri tabanına gönderilmek üzere şifrele
    $query = mysql_query("select * from $db_admin where id!='$ida';") or die(@include ("config/error.php"));
    	while ($query1 = mysql_fetch_array($query, MYSQL_ASSOC))
    	{
    	$admin_name = $query1['admin']; // veritabanından ismi değişecek admin sütunu dışındaki sütunlardan admin isimlerini al
    	if ($admin_name == $new_admin_name2) // admin isminin tekrar edip etmediğini doğrula
    	{
    		echo "$yoneticivar<br /><a href='javascript:history.go(-1)'>$back</a>";
    exit;
  • 14-03-2009, 11:52:12
    #6
    Üyeliği durduruldu
    vatana millete hayirli olsun üstad o zaman