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

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

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
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
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
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
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
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
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
0
Dediklerini yaptım olmadı belki doğru yapamadım kodları bir daha göstereyim
 

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
0
Konum
İstanbul
sen en iyisi özelden bana scripti atsana :Ddüzenleyip yollayım sana sql sorgusuyla beraber at
 

badosh

0
Onaylı Üye
Üye
Katılım
27 Temmuz 2012
Mesajlar
44
Açılan Konu
3
Tepki puanı
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
Onaylı Üye
Üye
Katılım
17 Temmuz 2012
Mesajlar
977
Açılan Konu
57
Tepki puanı
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.");
 

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
0
Konum
İstanbul
Allahdan halledildi işlem tamamdır özelden hallettik :D
 
Üst