• 30-11-2006, 22:09:13
    #1
    Merhaba
    Verileri çekip ekrana bastıktan sonra, duzeltme veya sime işlemi yaptırmak istiyorum. Duzeltme de hat vermiyor, fakat veritabanında duzelme yok. Yardımlarınızı rica ediyorum.
    <html><head><title>Untitled</title>
    <link rel="stylesheet" type="text/css" href="stil1.css">
    </head>
    <body oncontextmenu="return false" style="text-decoration: none;" leftmargin=0 topmargin=0 bgproperties="FIXED" bgcolor="White">
    <center>
    <?php
    include ("yol.php");
    switch ($_GET['mode']){
    case "posduzelt": 
    $isim=$_POST['isim'];
    $email=$_POST['email'];
    $konu=$_POST['konu'];
    $mesaj=$_POST['mesaj'];
    $sorgu = mysql_query("SELECT * FROM posta WHERE posta_id = '$_GET[posta_id]'");
    while ($bilgi = mysql_fetch_array($sorgu)){
    ?>
    <br>
    <a href='yonetim.php'>Ana Sayfa</a>
    <br><br>
    <?=$_GET[posta_id];?>
    <form action="yonetim.php?mode=posduzelt&posta_id=<?=$okunan['posta_id']?>" method="POST">
      <table width="400" border="0" cellspacing="0" cellpadding="0">
      <tr><td width="150"><font face="Verdana" size="2" color="Black">Isim:</font></td>
      <td width="250"><input type="Text" name="isim" size="35" value="<?=$bilgi[isim];?>"></td></tr>
      <tr><td><font face="Verdana" size="2" color="Black">e-mail:</font></td>
      <td><input type="Text" name="email" size="25" value="<?=$bilgi[email];?>"></td></tr>
      <tr><td width="150"><font face="Verdana" size="2" color="Black">Konu:</font></td>
      <td width="250"><input type="Text" name="konu" size="50" value="<?=$bilgi[konu];?>"></td></tr>
        <tr><td><font face="Verdana" size="2" color="Black">Mesaj:</font></td>
      <td><textarea name="mesaj" cols="35" rows="10"><?=$bilgi[mesaj];?></textarea></td></tr>
      <tr><td><font face="Verdana" size="2" color="Black"></font> </td>
      <td>
      <input type="hidden" name="kaydet" value="1" />
      <input type="hidden" name="posta_id" value="<?=$bilgi[posta_id];?>" />
      <input type="Submit" name="Send Mail" value="Gonder">&nbsp;&nbsp;&nbsp;<input type="Reset" name="Reset" value="Temizle"></td></tr>
      </table></form><br>
    <?
    	}
    break; 
    if ($kaydet == 1)
    {
    $yaz = mysql_query("UPDATE posta set isim='".$isim."', email='".$email."', konu='".$konu."', mesaj='".$mesaj."' WHERE posta_id='".$posta_id."'");
    echo ("UPDATE posta set isim='$isim',  email='$email', konu='$konu', mesaj='$mesaj' WHERE posta_id='.$posta_id.'");
        print mysql_error();
     echo "<script language='javascript'>alert('Düzenleme İşlemi Başarıyla Tamamlanmıştır...'); location.href='yonetim.php';</script>";
    }else{
    			echo "Hata oluştu";
    		}
    case possil:
    	$sil1 = mysql_query("DELETE FROM posta WHERE posta_id='".$_GET['posta_id']."'");
            if ($sil1){
    			echo "<script language='javascript'>alert('Veri silindi...'); location.href='yonetim.php';</script>";
    		}else{
    			echo "Hata oluştu";
    		}
    break;
    default:
    ?>
    <table width="800" border="1" cellspacing="0" cellpadding="0" align="CENTER">
    <tr>
        <td colspan="9" align="CENTER" valign="MIDDLE">MESAJLAR</td>    
    </tr>
    <tr>
        <td align="CENTER"><b>id<b></td> 
        <td align="CENTER"><b>isim<b></td> 
    	<td align="CENTER"><b>email<b></td> 
    	<td align="CENTER"><b>konu<b></td> 
    	<td align="CENTER"><b>mesaj<b></td> 
    	<td align="CENTER"><b>tarih<b></td> 
    	<td align="CENTER"><b>ip<b></td>
    	<td align="CENTER"><b>Duzelt<b></td> 
    	<td align="CENTER"><b>Sil<b></td>
    </tr>
    <?
    $oku = mysql_query("SELECT * FROM posta ORDER BY posta_id DESC");
    while ($okunan = mysql_fetch_array($oku)){
    ?>
    <tr>
    	<td><?=$okunan['posta_id']?></td>
    	<td><?=$okunan['isim']?></td>
        <td><?=$okunan['email']?></td>
    	<td><?=$okunan['konu']?></td>
    	<td><?=$okunan['mesaj']?></td>
    	<td><?=$okunan['tarih']?></td>
    	<td><?=$okunan['ip']?></td>		
    	<td bgcolor="#FF8C8C"><a href="yonetim.php?mode=posduzelt&posta_id=<?=$okunan['posta_id']?>">Düzelt</a></td>
    	<td bgcolor="#FF8C8C"><a href="yonetim.php?mode=possil&posta_id=<?=$okunan['posta_id']?>">&nbsp;Sil&nbsp;</a></td>
    </tr>
    <?php
    }
    }
    ?>
    </center></body></html>
  • 01-12-2006, 10:08:32
    #2
    Üyeliği durduruldu
    WHERE posta_id='".$posta_id."'
    tanımlı değil gibi geldi bana bu değişken
    WHERE posta_id='".$_POST[posta_id]."'
    gibi denermisin
  • 01-12-2006, 10:44:23
    #3
    WHERE posta_id = '$_GET[posta_id]'

    Bi de buna biraz güvenlik ekle stripslashes($_GET[posta_id]);
  • 01-12-2006, 11:13:57
    #4
    Üyeliği durduruldu
    burası admin sayfası yani kendisi veri girecek + stripslashes siliyordu - addslashes ile synatx hata vermesenini engelleyebilir bu hikaye bence en iyisi
    mysql_real_escape_string mysql e işlerken veriyi güvenli şekilde almak için
  • 01-12-2006, 20:30:27
    #5
    ha doru benim aklım stripslashes ta kalmış napiyim
  • 01-12-2006, 23:27:00
    #6
    WHERE posta_id='.$posta_id.'
    kısmı yanlış sanırım. noktalar olmamalı burada.
  • 02-12-2006, 11:52:47
    #7
    Verdiğiniz cevaplar için teşekkür ederim..

    Şu kilde yazdım..
    WHERE posta_id='".$posta_id."'

    birde case "posduzelt": in break'ini, yanlış koymuşum ....