İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

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

CryForLive

0
İyinet Üyesi
Katılım
31 Ocak 2012
Mesajlar
164
Reaction score
0
Konum
İstanbul
Kodlara baktıgım zaman gözüme takılan şu oluyor

<td><div align="center">Düzenle /<a href=delete.php?id='.$ID.'> Sil</div></td>

burda delete.php?id='.$ID.'>

orda belirttiğim id küçük ama sizin delete.php de çektiğiniz $_GET["ID"]; büyük

sorguda ki

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

bağlantı değişkenini kaldır başkada bir şey gözükmüyor.
 

badosh

0
İyinet Üyesi
Katılım
27 Temmuz 2012
Mesajlar
44
Reaction score
0
delete.php?id='.$ID.'> yi delete.php?ID='.$ID.'> yaptım, baglantı degiskenini kaldırdım.

DELETE FROM mesajlar WHERE mesajlar.ID = 2; kodunu server üzerinde çalıştırdım çalıştı Herhangi bir sorun yok.

Bu işlere yeni başladığım içinde yetkilendirme filan yapmadım oyüzdenn herkesin herşeye yetkisi var.

Fakat halen daha çalışmadı .

En iyisi tüm kodları buraya yazayım..

Ayar.php

Kod:
<?php

$baglanti=mysql_connect("localhost","root","1");
mysql_select_db("ziyaretci",$baglanti);

?>

Form.php
Kod:
<title> Ziyaretçi Formu |  </title>

<h1><font color=#c00020	>ZİYARETÇİ DEFTERİ </font></h1>
<form action="mesajekle.php" method="post">


<script language="JavaScript">
var now = new Date(); var yr = now.getYear(); var mName = now.getMonth() + 1; var dName = now.getDay() + 1;
var yr_str = " 19"; // yil 2000 iken, 19 sayisinin çikmamasini saglayacak string
var dayNr = ((now.getDate()<10) ? "" : "")+ now.getDate(); if(dName==1) Day = "Pazar"; if(dName==2) Day = "Pazartesi"; if(dName==3) Day = "Salı"; if(dName==4) Day = "Çarşamba"; if(dName==5) Day = "Perşembe"; if(dName==6) Day = "Cuma HAYIRLI CUMALAR"; if(dName==7) Day = "Cumartesi"; if(mName==1) Month="Ocak"; if(mName==2) Month="Şubat"; if(mName==3) Month="Mart";
if(mName==4) Month="Nisan"; if(mName==5) Month="Mayıs"; if(mName==6) Month="Haziran"; if(mName==7) Month="Temmuz"; if(mName==8) Month="Ağustos"; if(mName==9) Month="Eylül";
if(mName==10) Month="Ekim"; if(mName==11) Month="Kasım"; if(mName==12) Month="Aralık";
if ( yr > 99 )
{
yr_str =" ";
if ( yr < 2000 ) yr += 1900;
}var todaysDate =(" " + dayNr + " " + Month + yr_str + yr + "" + ", " + Day + ""); document.open(); document.write("<FONT face=arial SIZE=4 color=black>"+todaysDate+"</FONT>");// -->
</script>
<BR>
<BR>
<p>İsim (gerekli)<br />
<input type="text" name="isim" value="" size="40" /> </p>
<p>Soyisim (gerekli)<br />
<input type="text" name="soyad" value="" size="40" /> </p>
<p>E-Mail (gerekli)<br />
<input type="text" name="email" value="" size="40" /> </p>

<h3><br>Mesajinizi asagiya yaziniz:<br><textarea rows="8"  size="40" width="150" name="mesaj"></textarea></h3><br>

<input  type="submit" value="Gönder">
</form>


<form action="mesajoku.php" method="post">
<input  type="submit" value="mesajoku">  
<br>
<center>
<br>
<br>
<h5>
<b>Copyright © 2012 Ziyaretçi Formu - Tasarlayan ve kodlayan: By Badosh<b><br>
</center>

</h5>
<body>
<body bgcolor="#D3EEF7" 
</body>
</form>

----



Mesajekle.php

Kod:
<?php ob_start(); ?>

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


<?php
$ID=$_POST['ID'];
$isim=$_POST['isim'];
$soyad=$_POST['soyad'];
$mesaj=$_POST['mesaj'];
$email=$_POST['email'];


include("ayar.php");

$sorgu=mysql_query("INSERT INTO mesajlar (ID, isim, soyad, mesaj, email) values ('$ID', '$isim', '$soyad', '$mesaj', '$email')");



if ($sorgu) {
echo "  <font color=#0F7219> TEBRIKLER!<BR><br>MESAJIN GIRILDI</font><br><br>Yönlendiriliyorsunuz, Lütfen bekleyin";
header("refresh:3; url=form.php");
	
	
	}
	else{
echo "<br><font face=$verdane color=$#FF0000>ÜZGÜNÜZ<br><br>MESAJ GIRILEMEDI</font><br><br>Yönlendiriliyorsunuz,<br> Lütfen bekleyin";
header("refresh:3; url=form.php");

}
?>
<?php ob_end_flush(); ?>
</h1>
</center>
</html>


Mesajoku.php


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=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

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.<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(); ?>

Yardımlarınızı Bekliyorum ... :mad::mad:
 

CryForLive

0
İyinet Üyesi
Katılım
31 Ocak 2012
Mesajlar
164
Reaction score
0
Konum
İstanbul
Mesaj eklede id kendin vermişsin o kafadan hatalı veri tabanında id autoincrement tanımla ve primary yap otomatik artışlı ve kitli olsun sonra mesaj ekleden hem sorgudan hemde değişkenden id kaldır. bütün sorun bu senin id post etmen den kaynaklı ve ortada post edilecek bir id bulunmuyor. Sen direk bu dediklerimi yap.
 

badosh

0
İyinet Üyesi
Katılım
27 Temmuz 2012
Mesajlar
44
Reaction score
0
Dediklerini yaptım olmadı belki doğru yapamadım kodları bir daha göstereyim
 

badosh

0
İyinet Üyesi
Katılım
27 Temmuz 2012
Mesajlar
44
Reaction score
0
Mesajekle.php

Kod:
<?php ob_start(); ?>

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


<?php
$isim=$_POST['isim'];
$soyad=$_POST['soyad'];
$mesaj=$_POST['mesaj'];
$email=$_POST['email'];


include("ayar.php");

$sorgu=mysql_query("INSERT INTO mesajlar (isim, soyad, mesaj, email) values ('$isim', '$soyad', '$mesaj', '$email')");



if ($sorgu) {
echo "  <font color=#0F7219> TEBRIKLER!<BR><br>MESAJIN GIRILDI</font><br><br>Yönlendiriliyorsunuz, Lütfen bekleyin";
header("refresh:3; url=form.php");
	
	
	}
	else{
echo "<br><font face=$verdane color=$#FF0000>ÜZGÜNÜZ<br><br>MESAJ GIRILEMEDI</font><br><br>Yönlendiriliyorsunuz,<br> Lütfen bekleyin";
header("refresh:3; url=form.php");

}
?>
<?php ob_end_flush(); ?>
</h1>
</center>
</html>


veritabanınında resmi bu:

Ekli dosyayı görüntüle 4036
 

serkantkar

0
İyinet Üyesi
Katılım
17 Temmuz 2012
Mesajlar
977
Reaction score
7
Konum
Sammamish, WA, US
* delete.php icinde $ID degerini query oncesinde ekrana yazdirabilir misin? Bu $ID'nin hemen query oncesinde gecerli bir degeri oldugunu kanitlayacaktir,
* Bu arada asagidaki SQL satirinda $ID kullanimi yanlis olmus. Onunden va ardindan noktalari kaldirmak lazim.
* Bir de bu tip string birlestirme ile kodlama guvenlik acisindan cok riskli. Isi bilen birisi veritabanini ele gecirebilir. En azindan veri tipi denetimi yapmalisiniz.

Scriptten alintin:
$ID = $_GET['ID'];
$Komut=mysql_query("delete from mesajlar where ID=.$ID.");
 

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.

Üst