<? }else {
$baslik = guvenlik($_POST['baslik']);
$kat_id = guvenlik($_POST['kat_id']);
$aciklama = guvenlik($_POST['aciklama']);
if ($baslik=="" || $kat_id=="" || $aciklama=="") {
echo "hata";
exit();
}else {
$sorgu=mysql_query("insert into yazilar values ('','$kat_id','0','$baslik','$aciklama','0')");
if ($sorgu) {
echo "OK";
}else {
echo "HATA";
}
}
}
?> unique hakkında yardım
8
●362
- 20-11-2013, 19:21:56iyi akşamlar arkadaşlar içerik eklerken aynı başlıktan içerikleri nasıl engelleyebiliriz içerikleri zaten onaylı olarak ekliyorum daha önceden eklenmişmi bilemiyorum sütünü unique yaptığım halde yine ekliyor kod aşağıdadır
- 20-11-2013, 20:28:14Kimlik doğrulama veya yönetimden onay bekliyor.Mantık olarak en başta veritabanınızı oluştururken verilen içeriğin birde MD5 ile kriptolanmış halini bi' sütunda tutarsanız kontrol etmeniz daha kolay olacaktır.
Varsayalım ki posts tablomuzda hash isminde MD5 ile kriptolanmış bi' kontrol değerimiz var ve bu değeri şu şekilde oluşturalım.
function create_hash($title) { return md5(str_repeat(md5($title), 5)); }Her içerik girdiğimizde ve güncellediğimizde bu hash değerinide güncellediğimizi varsayarsak kontrol işlemlerimiz daha da kolaylaşmış olacaktır.
Her içerik girişimizde şu şekilde bi' kontrol yaparak sorunsuzca yeni içerik girmiş olacağız.
function create_hash($title) { return md5(str_repeat(md5($title), 5)); } function add_post($title, $content) { $hash = create_hash($title); $query = mysql_query(sprintf("SELECT `hash` FROM `posts` WHERE `hash` = '%s' LIMIT 0, 10", $hash)); $num_rows = mysql_num_rows($query); if($num_rows <= 0) { /* İÇERİĞİ EKLE */ } else { return false; # Bu içerik daha önceden eklenmiş gözüküyor. } } - 20-11-2013, 20:35:26Peki saintx şimdi ben soru sorayımsaintx adlı üyeden alıntı: mesajı görüntüle

Birden fazla kontrolü nasıl sağlarız.Örneğin posts tablosunda x,y ve z kolonlarına göre kontrol yapacak.Üç kolondaki veri aynıysa, bunu kaydetmeyecek.
Ben de bunu merak ettim şimdi
- 20-11-2013, 20:45:50@sever2k7;
<?php function check_post($x, $y, $z) { $query = mysql_query(sprintf( "SELECT * FROM `posts` WHERE `x` = '%s' AND `y` = '%s' AND `z` = '%s' LIMIT 0, 10", $x, $y, $z )); $num_rows = mysql_num_rows($query); if($num_rows <= 0) { /* EKLEME İŞLEMİ */ } else { return false; # Eşleşen kayıt bulundu. Ekleme işlemi yapılamıyor. } } - 20-11-2013, 20:58:10saintx muhteşemsin.Kodu denemedim ama ilk fırsatta deneyeceğim.saintx adlı üyeden alıntı: mesajı görüntüle
+1'i hakediyosun ama konuyu ben açmadığım için veremiyorum.
Çok teşekkür ederim.
