Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Ziyaretçi Defterinde Silme kodu Çalışmıyor Yardım!

badosh

0
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
0
Merhaba arkadaşlar, ziyaretçi defteri oluşturdum fakat delete yani silme kodu çalışmıyor yardımlarınızı bekliyorum.

delete.php aşağıdaki gibidir:

Kod:
<?php ob_start(); ?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?php

include("ayar.php");

$ID = $_GET['ID'];


$Komut=mysql_query("DELETE FROM mesajlar WHERE ID= ".$ID." ");

if($Komut){
echo "Kayıt başarıyla silinmiştir. Yönlendiriliyorsunuz.";
header("refresh:3; url=mesajoku.php");
}

else{
echo "Bir sorunla karşılaşıldı! Yönlendiriliyorsunuz.";
header("refresh:3; url=mesajoku.php");
}

?>

<?php ob_end_flush(); ?>
 

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
0
Konum
İstanbul
Buraya nerden geliyorsun yani hangi butona tıklayıp geçiş yapıyorsun ?
 

badosh

0
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
0
mesajoku.php den geiniyor onunda kodunu paylaşayım.

Kod:
<H1><font color='red'>Gönderilmiş Mesajları Okuyabilirsiniz:</font></H1>
<form action="form.php" method="post">
<input  type="submit" value="Başa Dön">  
</form>
<table width="1100" border="1">

<tr>
	<td width=333 bgcolor="#CCCCCC"><strong>AD</strong></td>
	<td width=333 bgcolor="#CCCCCC"><strong>Soyad</strong></td>
	<td width=333 bgcolor="#CCCCCC"><strong>Mail</strong></td>
	<td width=333 bgcolor="#CCCCCC"><strong>Mesaj</strong></td>

	<td width="100"></td>
	</tr>
 <?php

include("ayar.php");

$sorgu=mysql_query("SELECT * FROM mesajlar ORDER BY ID ASC ",$baglanti);

while ($kayit=mysql_fetch_array($sorgu)) {

$isim=$kayit['isim'];
$soyad=$kayit['soyad'];
$Email=$kayit['email'];
$mesaj=$kayit['mesaj'];


echo ' <tr>

	<td>'.$isim.'</td>
	<td>'.$soyad.'</td>
	<td>'.$Email.'</td>
	<td>'.$mesaj.'</td>
	<td><div align="center">Düzenle /<a href=delete.php?ID= .$_GET[ID].'.$ID.'> Sil</div></td> ;   \\ Buradaki sile tıklanınca delete.php ye yönlendiriyor.
	</tr>';

}

?>
</table>
<body>
<body bgcolor="#DEF3E2" />

</html>
 

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
0
Konum
İstanbul
uppss :D

<td><div align="center">Düzenle /<a href=delete.php?id='.$ID.'> Sil</div></td> // oradaki id yerine mysql den çektiğin mesajın id si olsun şimdi linke tıkladığında bizi delete.php yönlendiriyor değil mi ve delete .php içine gelelim

Kod:
<?php ob_start(); ?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?php

include("ayar.php");

if($ID = $_GET["id"]) {


$Komut=mysql_query("DELETE FROM mesajlar WHERE ID= '$ID' ");

if($Komut){
echo "Kayıt başarıyla silinmiştir. Yönlendiriliyorsunuz.";
header("refresh:3; url=mesajoku.php");
}

else{
echo "Bir sorunla karşılaşıldı! Yönlendiriliyorsunuz.";
header("refresh:3; url=mesajoku.php");
}

}else {
echo 'Böyle bir mesaj yok.';
}

?>

<?php ob_end_flush(); ?>

deneyip sonucu yazarsan sevinirim dostum kolay gelsin :)
 

badosh

0
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
0
Veritabanından ID yi almıyor galiba, yine olmadı. Böyle bir mesaj yok diyor. Nedeni nedir hala çözemedim gitti. Çözüm önerilerinizi bekliyorum
 

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
0
Konum
İstanbul
kodları kendine göre düzenlendin mi ben kendi bilgisayarımda farklı yapmıstımda mesela

<td><div align="center">Düzenle /<a href=delete.php?id='.$ID.'> Sil</div></td> bu kısımıda bu şekilde düzenleyin ve sonra delete.php dosyasına o verdiğimi direk ekle bende bu şekilde çalıştı.
 

badosh

0
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
0
Maalesef ustat olmadı sil'e basınca böyle bir mesaj yok diyor.Başka bi önerin varsa çok sevinirim...
 

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
0
Konum
İstanbul
sorun şu olsa gerek mesajoku.php de $id değişkenini tanımlamamışsınız orda id değişkenini tanımlarsanız sorun kalkacaktır.
 

badosh

0
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
0
Id değişkenini nasıl tanımlamamı önerirsiniz?
 

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
0
Konum
İstanbul
Kod:
<H1><font color='red'>Gönderilmiş Mesajları Okuyabilirsiniz:</font></H1>
<form action="form.php" method="post">
<input  type="submit" value="Başa Dön">  
</form>
<table width="1100" border="1">

<tr>
	<td width=333 bgcolor="#CCCCCC"><strong>AD</strong></td>
	<td width=333 bgcolor="#CCCCCC"><strong>Soyad</strong></td>
	<td width=333 bgcolor="#CCCCCC"><strong>Mail</strong></td>
	<td width=333 bgcolor="#CCCCCC"><strong>Mesaj</strong></td>

	<td width="100"></td>
	</tr>
 <?php

include("ayar.php");

$sorgu=mysql_query("SELECT * FROM mesajlar ORDER BY ID ASC ",$baglanti);

while ($kayit=mysql_fetch_array($sorgu)) {

$isim=$kayit['isim'];
$soyad=$kayit['soyad'];
$Email=$kayit['email'];
$mesaj=$kayit['mesaj'];


echo ' <tr>

	<td>'.$isim.'</td>
	<td>'.$soyad.'</td>
	<td>'.$Email.'</td>
	<td>'.$mesaj.'</td>
	<td><div align="center">Düzenle /<a href=delete.php?id= '.$ID.'> Sil</div></td> ;   \\ Buradaki sile tıklanınca delete.php ye yönlendiriyor.
	</tr>';

}

?>
</table>
<body>
<body bgcolor="#DEF3E2" />

</html>

bak orada $ID die değişken vermişiz ama o değişken tanımlı değil yani mesjaın id sini yollamıyor ondan
o üstte değişkenlerin hemen altına şunu ekleyın

$ID=$kayit['id'];
 

badosh

0
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
0
Off ıd yi alıyor ama yinede silmiyor.
 

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
0
Konum
İstanbul
Hocam o iki dosyanın içeriğini tekrar bana özet geçin bir yerinde eksik var ona bakayım.
 

badosh

0
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
0
Mesajoku.php


<H1><font color='red'>Gönderilmiş Mesajları Okuyabilirsiniz:</font></H1>
<form action="form.php" method="post">
<input type="submit" value="Başa Dön">
</form>
<table width="1100" border="1">

<tr>
<td width=99 bgcolor="#CCCCCC"><strong>ID</strong></td>
<td width=333 bgcolor="#CCCCCC"><strong>AD</strong></td>
<td width=333 bgcolor="#CCCCCC"><strong>Soyad</strong></td>
<td width=333 bgcolor="#CCCCCC"><strong>Mail</strong></td>
<td width=333 bgcolor="#CCCCCC"><strong>Mesaj</strong></td>

<td width="100"></td>
</tr>
<?php

include("ayar.php");

$sorgu=mysql_query("SELECT * FROM mesajlar ORDER BY ID ASC ",$baglanti);

while ($kayit=mysql_fetch_array($sorgu)) {

$isim=$kayit['isim'];
$soyad=$kayit['soyad'];
$Email=$kayit['email'];
$mesaj=$kayit['mesaj'];
$ID=$kayit['ID'];

echo ' <tr>

<td>'.$ID.'</td>
<td>'.$isim.'</td>
<td>'.$soyad.'</td>
<td>'.$Email.'</td>
<td>'.$mesaj.'</td>
<td><div align="center">Düzenle /<a href=delete.php?id='.$ID.'> Sil</div></td>
</tr>';

}

?>
</table>
<body>
<body bgcolor="#DEF3E2" />

</html>
<center>

<h6>
<b>Copyright © 2012 Ziyaretçi Formu - Tasarlayan ve kodlayan: By Badosh<b><br>
</center>

Delete.php

<?php ob_start(); ?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?php

include("ayar.php");

$ID = $_GET['ID'];


$Komut=mysql_query("DELETE FROM mesajlar WHERE ID= ".$ID." ");

if($Komut){
echo "Kayıt başarıyla silinmiştir.<br>Yönlendiriliyorsunuz.";
header("refresh:3; url=mesajoku.php");
}

else{
echo "Kayıt silinemedi! yönlendiriliyorsunuz.";
header("refresh:3; url=mesajoku.php");
}

?>

<?php ob_end_flush(); ?>

Hocam istersen tüm kodlarıda atabiirim
 

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
0
Konum
İstanbul
yok üstad yeni baktım :D bak bastan yıne hatamız var senın id mysql de ufakmı yazılı büyük mü ? çünkü sen orda id buyuk yazmıssın veritabanındaki küçükse küçük yaz

$get id kısmını ordakı id küçük yaz büyük olmasın
 

Hakan Damar

0
Onaylı Üye
Üye
Katılım
18 Haziran 2011
Mesajlar
740
Açılan Konu
34
Tepki puanı
6
Konum
USA
Kod:
DELETE FROM mesajlar 
WHERE mesajlar.ID = 2;

Yukarıdaki kodu phpMySQLAdmin , Navicat v.b. gibi bir mySQL IDE'si ile mySQL Server üzerinde çalıştırmayı deneyin ve çıktısına bakınız.
Eğer her hangi bir hata veriyorsa SQL statment'ta problem vardır yoksa.

PHP:
 $input_msgID = intval($_GET["ID"]);
 if($input_msgID > 0){
     // SQL kodu burada çalıştırılacak.
     try{
      $sqlSTMT = "DELETE FROM mesajlar 
                      WHERE mesajlar.ID = {$input_msgID};"
      $sqlExec  = mysql_query($sqlSTMT);
      if($sqlExec){
           print("Silme işlemi başarılı");
      }
      }catch(Exception exp){
              throw new Exception(exp->getMessage());
      }
 }

Şeklinde bir dene.

olmadı var_dump($_GET["ID"]); ile gelen data'yı check et.
 

badosh

0
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
0
ID yi büyük yazıyorum çünkü veritabanında da büyük harfle yazılı Hakan Damar'ın verdiği kodda çalışmadı.
 

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
0
Konum
İstanbul
Kod:
Delete.php

<?php ob_start(); ?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?php

include("ayar.php");

$ID = $_GET['id'];


$Komut=mysql_query("DELETE FROM mesajlar WHERE ID= '$ID'");

if($Komut){
echo "Kayıt başarıyla silinmiştir.<br>Yönlendiriliyorsunuz.";
header("refresh:3; url=mesajoku.php");
}

else{
echo "Kayıt silinemedi! yönlendiriliyorsunuz.";
header("refresh:3; url=mesajoku.php");
}

?>

<?php ob_end_flush(); ?>

delete php bu şekilde yap
 

badosh

0
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
0
bir şey farkettiği yok... ID değeri büyük olmalı zaten çok ufak bi noktayı gözden kaçırıyoruz ama ne?
 

Hakan Damar

0
Onaylı Üye
Üye
Katılım
18 Haziran 2011
Mesajlar
740
Açılan Konu
34
Tepki puanı
6
Konum
USA
DB Server'a login olduğun kullanıcının DELETE yetkisi olmayabilir mi? yada silme işlemi yapmak istediğin veri tabanı üzerinde yetkisi?
 
Üst