İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

Mysql Veri Listele, Düzenle, Sil Tablo Oluşturma

exfayto

0
İyinet Üyesi
Katılım
3 Ekim 2012
Mesajlar
10
Reaction score
0
Mysql Veri Listele, Düzenle, Sil Tablo Oluşumu Yardım

Merhaba
veri yi çekecegim tablo

kayitlar (id, ad, soyad, tur, telefon, email, sehir, mesaj, onay, durum)

Örnek bir tablo oluşturabilirmiyiz Cok aradım araştırdım ama bir türlü yapamadım.!

listeleme

düzenleme

silme


Şimdiden çok teşekkür ederim..

- - - -Güncellendi - - - - - -

internette örnek olacağını düşünüyorum, çünkü çoğu kişi arıyor.
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
Bende zamanında internette örnek olacağını düşünüyordum da öyle hepsi bir arada temeli veren bir örnek bulamamıştım.
Altta yazdığım kodlar işini görür en azından başlangıç olarak işin mantığını kavrayabilir ufak çaplıda olsa script yazabilirsin.
Ha hazıra konmak pek iyi değildir kendini geliştiremezsin ama verdiklerimden mantğını kavrarsın inşallah.
Unutmadan örnekte verileri formdan POST yöntemi ile gönderdiğini varsaydım.

Tablo Oluşturma
------------------------------------------------------------------------------
PHP:
$sql = "CREATE TABLE IF NOT EXISTS `kayitlar` (
  `id` int(11) NOT lisanssız AUTO_INCREMENT,
  `ad` varchar(30) NOT lisanssız,
  `soyad` varchar(30) NOT lisanssız,
  `tur` varchar(30) NOT lisanssız,
  `telefon` varchar(20) NOT lisanssız,
  `email` varchar(70) NOT lisanssız,
  `sehir` varchar(30) NOT lisanssız,
  `mesaj` text NOT lisanssız,
  `onay` tinyint(1) NOT lisanssız,
  `durum` tinyint(1) NOT lisanssız,
  PRIMARY KEY (`id`)
) ";

$query = mysql_query($sql);
if($query){
echo 'tablo oluşturuldu';
}else{
echo 'tablo oluşturulamadı '.mysql_error();
}

Veri Ekleme
---------------------------------------------------------------
PHP:
$query = mysql_query("insert into kayitlar values('','$_POST[ad]','$_POST[soyad]','$_POST[, ]','$_POST[telefon]','$_POST[email]','$_POST[sehir]','$_POST[mesaj]','$_POST[onay]','$_POST[durum]')");

if($query){
echo 'kayıt eklendi';
}else{
echo 'kayıt eklenemedi '.mysql_error();
}

Veri silme
----------------------------------------------------------------
PHP:
$query = mysql_query("deletefrom kayitlar where id = '$_POST[id]' ");

if($query){
echo 'kayıt silindi';
}else{
echo 'kayıt silinemedi'.mysql_error();
}

Veri düzenleme
----------------------------------------------------------------
PHP:
$query = mysql_query("update kayitlar ad = '$_POST[ad]',soyad= '$_POST[soyad]',tur= '$_POST[tur]',telefon= '$_POST[telefon]',email= '$_POST[email]',sehir= '$_POST[sehir]',mesaj= '$_POST[mesaj]',onay= '$_POST[onay]',durum= '$_POST[durum]',  where id = '$_POST[id]' ");

if($query){
echo 'kayıt düzenlendi';
}else{
echo 'kayıt düzenlenemedi'.mysql_error();
}
 

exfayto

0
İyinet Üyesi
Katılım
3 Ekim 2012
Mesajlar
10
Reaction score
0
bordomavi Çok Teşekkür ederim Ama gercekten Çok ugraştım

yaptıgım
veri listeleme
veri düzenleme yapıyorum ama postta hep sorun cıktı orayı çozemedim
şimdi sizin yaptıgınız kodlamayı deniycem tekrar teşekkür ederimVakit ayırdınız icin
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
Bu verdiklerim sadece temel şeyler. Güvenlik le alakalı en ufak bir işlem dahi yok. bunları direk uygulaman mysql syntax hatası verebilir. bu duruma POST dan gelen verileri kontrol etmemen neden olabilir. sana verdiğim örnekte posttan gelen verileri "mysql_real_escape_string" den geçirmen gerekir ki zararlı verileri ve kötü niyetli olabilecek kişilere birazda olsun önlem alabil.
Örnek kullanım:

PHP:
$_POST[soyad] = mysql_real_escape_string($_POST[soyad]);

bu şekilde posttan gelen ve sql'e girilecek tüm verileri süzgeçten geçirmen gerekir.
tabi ki bunu yapan fonksiyonlarda var forumda arama yaparsan daha detaylı bilgiye ulaşabilirsin.
 

exfayto

0
İyinet Üyesi
Katılım
3 Ekim 2012
Mesajlar
10
Reaction score
0
Bu verdiklerim sadece temel şeyler. Güvenlik le alakalı en ufak bir işlem dahi yok. bunları direk uygulaman mysql syntax hatası verebilir. bu duruma POST dan gelen verileri kontrol etmemen neden olabilir. sana verdiğim örnekte posttan gelen verileri "mysql_real_escape_string" den geçirmen gerekir ki zararlı verileri ve kötü niyetli olabilecek kişilere birazda olsun önlem alabil.
Örnek kullanım:

PHP:
$_POST[soyad] = mysql_real_escape_string($_POST[soyad]);

bu şekilde posttan gelen ve sql'e girilecek tüm verileri süzgeçten geçirmen gerekir.
tabi ki bunu yapan fonksiyonlarda var forumda arama yaparsan daha detaylı bilgiye ulaşabilirsin.
mail adresiniz pm atarsanız bana konuşmak isterim sizinle ( ben link veremiyorum yeni kayıt oldugum icin link yasağı var 10gun icin sanırım )
tabi sizde isterseniz
 

exfayto

0
İyinet Üyesi
Katılım
3 Ekim 2012
Mesajlar
10
Reaction score
0
Düzenle dedigimde düzenledigim yerler tamamen sıfırlanıyor hic birşey olmuyor yani olan veriyi siliyor nedeni nedir?

Örnek verimi aynen sizlerle paylaşıyorum bakın listeleme ve düzenlemede sorun yok düzenle 2 de problem var sanırım anlamadım bakınız



Listele

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

<p><a href="Ekle.php">Yeni Kayıt Ekle +</a></p>
<table width="550" border="1">
  <tr>
    <td width="150" bgcolor="#CCCCCC"><strong>AD</strong></td>
    <td width="150" bgcolor="#CCCCCC"><strong>SOYAD</strong></td>
    <td width="150" bgcolor="#CCCCCC"><strong>TELEFON</strong></td>
    <td width="100"> </td>
  </tr>

<?php

$sql=mysql_query("select * from ilanlar");
while($oku=mysql_fetch_array($sql))
{
	$id=$oku['id'];
	$ad=$oku['ad'];
	$soyad=$oku['soyad'];
	$telefon=$oku['telefon'];

  echo '<tr>
    <td>'.$ad.'</td>
    <td>'.$soyad.'</td>
    <td>'.$telefon.'</td>
    <td><div align="center"><a href=duz.php?ilan='.$id.'>Düzenle</a> / <a href=Sil.php?Kisi='.$id.'>Sil</a></div></td>
  </tr>';
}
?>

</table>

Düzenle

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

$ilan=$_GET["ilan"];



$sql=mysql_query("select * from ilanlar where id=$ilan");

while($oku=mysql_fetch_array($sql)){
	
	$ad=$oku['ad'];
	$soyad=$oku['soyad'];
	$telefon=$oku['telefon'];
	
echo '<form name="form1" method="post" action="duz2.php?ilan='.$ilan.'">
  <table width="252" border="1">
    <tr>
      <td width="92">AD</td>
      <td width="144"><label>
        <input type="text" name="Ad" id="ad" value="'.$ad.'">
      </label></td>
    </tr>
    <tr>
      <td>SOYAD</td>
      <td><input type="text" name="Soyad" id="soyad" value="'.$soyad.'"></td>
    </tr>
    <tr>
      <td>TELEFON</td>
      <td><input type="text" name="Telefon" id="telefon" value="'.$telefon.'"></td>
    </tr>
    <tr>
      <td> </td>
      <td><div align="right">
        <label>
        <input type="submit" name="button" id="button" value="Güncelle">
        </label>
      </div></td>
    </tr>
  </table>
</form>';
} 
?>


Düzenle2 veriyi postalama

Kod:
<?php ob_start(); ?>

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

<?php

$ilan=$_GET["ilan"];

$ad=$_POST["ad"];
$soyad=$_POST["soyad"];
$telefon=$_POST["telefon"];


$Komut=mysql_query("update ilanlar set ad='$ad', soyad='$soyad', telefon='$telefon' where id=$ilan");

if($Komut){
echo "Kaydınız başarıyla güncellenmiştir. Listeleme sayfasına yönlendiriliyorsunuz.";
header("refresh:2; url=Listele33.php");
}

else{
echo "Bir sorunla karşılaşıldı! Kayıt güncellenmiştir. Listeleme sayfasına yönlendiriliyorsunuz.";
header("refresh:2; url=Listele33.php");
}

?>

<?php ob_end_flush(); ?>
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
POST ile gönderim yapıp GET ile veriyi updte etmeye çalışyıorsun aslında get ile id almaya çalışıyorsun ama id yi veriyi kaydettiğin sayfaya göndermiyorsun. hidden value kullanarak işini halledebilirsin
Şurayı
PHP:
echo '<form name="form1" method="post" action="duz2.php?ilan='.$ilan.'">
Şu şekilde
PHP:
echo '<form name="form1" method="post" action="duz2.php'">
<input type="hidden" name="id" value="'.$ilan.'">

Şurayı
PHP:
$Komut=mysql_query("update ilanlar set ad='$ad', soyad='$soyad', telefon='$telefon' where id=$ilan");
Şu şekilde
PHP:
$Komut=mysql_query("update ilanlar set ad='$ad', soyad='$soyad', telefon='$telefon' where id = '$_POST[id]' ");

düzenlersen sorun çıkmaz.
 

exfayto

0
İyinet Üyesi
Katılım
3 Ekim 2012
Mesajlar
10
Reaction score
0
POST ile gönderim yapıp GET ile veriyi updte etmeye çalışyıorsun aslında get ile id almaya çalışıyorsun ama id yi veriyi kaydettiğin sayfaya göndermiyorsun. hidden value kullanarak işini halledebilirsin
Şurayı
PHP:
echo '<form name="form1" method="post" action="duz2.php?ilan='.$ilan.'">
Şu şekilde
PHP:
echo '<form name="form1" method="post" action="duz2.php'">
<input type="hidden" name="id" value="'.$ilan.'">

Şurayı
PHP:
$Komut=mysql_query("update ilanlar set ad='$ad', soyad='$soyad', telefon='$telefon' where id=$ilan");
Şu şekilde
PHP:
$Komut=mysql_query("update ilanlar set ad='$ad', soyad='$soyad', telefon='$telefon' where id = '$_POST[id]' ");

düzenlersen sorun çıkmaz.

aynen uyguladım aynı sorunum devam ediyor :(
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
duz2.php yi alttaki gibi denermisin. Hata mesajının yazdırıldığı satırına mysql_error() ekledim hata mesajını görebilmek için eklemez ise o hatayı da buraya yazabilirsen sorunu daha iyi anlamış oluruz.
PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?php
$query= mysql_query("update ilanlar set ad = '$_POST[Ad]', soyad='$_POST[Soyad]', telefon = '$_POST[Telefon]' where id = '$_POST[id]' ");

if($query){
echo 'Kaydınız başarıyla güncellenmiştir. Listeleme sayfasına yönlendiriliyorsunuz.';
header("refresh:2; url=Listele33.php");
}
else{
echo 'Bir sorunla karşılaşıldı! Kayıt güncellenmiştir. Listeleme sayfasına yönlendiriliyorsunuz.'.mysql_error();
header("refresh:2; url=Listele33.php");
}

?>
 

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.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst