sohbet odaları

şu kodu çalıştıramadım yardım lütfen

hakimi

Müptela
Bilgiler
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaksiyon
0
Puanları
0
210 Aydır Üye
PHP:
$vid = $_GET['id'];
$strSQL2 = "Delete  from video where id = $vid";
mysql_query($strSQL2);
$strSQL3 = "DELETE FROM `vote` WHERE vid =$vid";
mysql_query($strSQL3);
birincisi çalışıyor ikincisi çalışmıyor. Bunu nasıl çalıştırabilirim.
 

Caesar

Müptela
Bilgiler
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaksiyon
7
Puanları
0
211 Aydır Üye
birincisi çalışıyor ikincisi çalışmıyor. Bunu nasıl çalıştırabilirim.
PHP:
$vid = $_GET['id'];
$vid=strip_tags($vid);
$bozuk=array("'","\"","\\");
$duzgun=array("","","");
$vid=str_replace($bozuk,$duzgun,$vid);

if ($vid!=lisanssız) {
$strSQL2 = mysql_query("Delete  from video where id = '".$vid."'") or die(mysql_error());
$strSQL3 = mysql_query("DELETE FROM `vote` WHERE vid = '".$vid."'") or die(mysql_error());
}
 

iyinet

Root
Admin
Bilgiler
Katılım
2 Eylül 2002
Mesajlar
5,021
Reaksiyon
53
Puanları
51
Şube
Sakarya
256 Aydır Üye
PHP:
$vid = $_GET['id'];
$strSQL2 = "Delete  from video where id = $vid";
mysql_query($strSQL2);
$strSQL3 = "DELETE FROM `vote` WHERE vid =$vid";
mysql_query($strSQL3);
birincisi çalışıyor ikincisi çalışmıyor. Bunu nasıl çalıştırabilirim.
Oncelikle bu kodun guvenli olmadigini soylemekle ise baslayalim.
vote tablosundaki kolanlarin ne oldugunu buraya yazarmisin.
Asagidaki kodu calistirarak sonucu buraya postalarsan hatanin ne oldugunu anlamamiza yardim edecektir:

PHP:
$vid = mysql_real_escape_string ($_GET['id']);
$strSQL2 = "Delete from video where id = $vid";
mysql_query($strSQL2) or die(mysql_error());
$strSQL3 = "DELETE FROM vote WHERE vid = $vid";
mysql_query($strSQL3) or die(mysql_error());
 

hakimi

Müptela
Bilgiler
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaksiyon
0
Puanları
0
210 Aydır Üye
vote tablosu : id vid kez puan
$_GET['id'] = numerik, yani boşluk olamaz. hata vermiyor. video tablosundan siliyor ama vote tablosundan silmiyor.
 

hakimi

Müptela
Bilgiler
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaksiyon
0
Puanları
0
210 Aydır Üye
arkadaşlar ikisini de denedim ama ikiside sonuç vermedi. yine video dan siliyor ama vote dan silmiyor.
 

hakimi

Müptela
Bilgiler
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaksiyon
0
Puanları
0
210 Aydır Üye
döndürmüyor
 

hakimi

Müptela
Bilgiler
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaksiyon
0
Puanları
0
210 Aydır Üye
$p=mysql_query("Select * from vote where vid = '18440'");
$ki= mysql_fetch_array($p);
echo "$ki[id]";
bu çalıştı.
 

selim61

İyinet Üyesi
Bilgiler
Katılım
10 Mayıs 2006
Mesajlar
5,301
Reaksiyon
13
Puanları
0
Şube
<?=selim61?>
212 Aydır Üye
hakimi o tabiki sonuç döndürecek vid = '18440' var çünkü.
senin yazdıgın sonuç döndürmüyor mesela
"DELETE FROM vote WHERE vid = $vid"
de ya vid $vid = $_GET['id']; değerini alamadı, yada aldıgı değer kayıtlı değil
 

selim61

İyinet Üyesi
Bilgiler
Katılım
10 Mayıs 2006
Mesajlar
5,301
Reaksiyon
13
Puanları
0
Şube
<?=selim61?>
212 Aydır Üye
Eğer php.ini'deki "register_globals" satırı "Off" ise $_GET['vid'] ile veriyi alabilmen lâzım.
Eğer bahsettiğim o satır "On" ise doğrudan $vid olarak alabilirsin.

Diğer bir durum ise "register_long_arrays" satırının "Off" veya "On" olması.
Eğer Off ise $_GET['vid'] ile veriyi alabilirsin. On ise $_HTTP_GET_VARS['vid'] ile veriyi alabilirsin.
 

Caesar

Müptela
Bilgiler
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaksiyon
7
Puanları
0
211 Aydır Üye
Eğer php.ini'deki "register_globals" satırı "Off" ise $_GET['vid'] ile veriyi alabilmen lâzım.
Eğer bahsettiğim o satır "On" ise doğrudan $vid olarak alabilirsin.

Diğer bir durum ise "register_long_arrays" satırının "Off" veya "On" olması.
Eğer Off ise $_GET['vid'] ile veriyi alabilirsin. On ise $_HTTP_GET_VARS['vid'] ile veriyi alabilirsin.
adam ilk sorgunun calistigini soyluyor:) sen ne anlatmissin ehe

sorun kendisinde atladigi bir nokta var.
 

hakimi

Müptela
Bilgiler
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaksiyon
0
Puanları
0
210 Aydır Üye
arkadaşlar verem olacam. ne yaptıysam olmuyor.
PHP:
$strSQL2 = mysql_query("Delete  from video where id = '$vid'") or die(mysql_error());
$strSQL3=mysql_query("Delete from vote where vid = '$vid'") or die(mysql_error());
birincide sorun yok ama ikinci bir türlü dönmüyor.
Şimdi. video daki id vote da vid olarak kayda giriyor. yani $vid=$_GET['id']. bu değer alınıyor sorun yok. tekil ayrı bir dosyada da çalışıyor ama ikisini alt alta koydum mu çalışmıyor :(
 

Caesar

Müptela
Bilgiler
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaksiyon
7
Puanları
0
211 Aydır Üye
PHP:
$sorgu=mysql_query("delete from video,vote where video.id='".$vid."' and vote.vid='".$vid."'") or die(mysql_error());
dene birde.
 

hakimi

Müptela
Bilgiler
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaksiyon
0
Puanları
0
210 Aydır Üye
arkadaşlar herkese teşekkür ederim zaman harcıyorsunuz. Ama hala olmuyor anlamıyorum.
 

Caesar

Müptela
Bilgiler
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaksiyon
7
Puanları
0
211 Aydır Üye
sinir geldi yemin ederim profilimden skype account ismimi alip gelirsen bakayım sorun nerde imiş.
 

hakimi

Müptela
Bilgiler
Katılım
1 Temmuz 2006
Mesajlar
1,356
Reaksiyon
0
Puanları
0
210 Aydır Üye
Arkadaşlar herkesten özür dilerim. Sorun benim dreamweaver daymış. ben değişikleri yapıyordum kaydediyordum ama o kaydetmiyormuş. BAzen yapıyordu ve bu akşam da öyle olmuş. Ayrıca yardımcı olan tüm arkadaşlara ve özellikle Ceasar a çok teşekkür ederim.
Sorun çözüldü :)
 
  • Yararlı
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. iyinet.com sayfalarında yer alan yazı, görsel ve linklerle ilgili hukuki şikayetleriniz için Buradan iletişime geçmeniz durumunda, ilgili kanunlar ve yönetmelikler çerçevesinde en geç 7 gün içerisinde iyinet yönetimince tarafınıza dönüş sağlanacaktır.
Üst