<html>
<? include("config.php"); ?>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title><? echo "Makale Düzenle - $sitename"; ?></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<? include("ust.php");?>
<table align="right" width="900" border="0">
<tr>
<td height="30" background="images/alt.gif"><div id="menuyazisi">Makale Düzenle</div></td>
</tr>
<tr>
<td class="menu" background="images/cizgi300.jpg" height="100"><div id="myazisi">
<?php
if ( empty($_POST) ) {}
else
{
$konu = htmlspecialchars($_POST['konu']);
$baslik = htmlspecialchars($_POST['baslik']);
$makale_id = htmlspecialchars($_POST['makale_id']);
if (empty($baslik)) { echo '<div id="myazisi" class="menu">Başlığı Boş Bırakamazsınız !!!</div>'; }
elseif (empty($konu)) { echo '<div id="myazisi" class="menu">Konuyu Boş Bırakamazsınız !!!</div>'; }
else
{
$uye_ekle = mysql_query("UPDATE makaleler SET konu='$konu',baslik='$baslik' WHERE id='$makale_id'");
header("Location: makale_duzenle.php?kayit=basarili");
}
}
if ( $_GET['kayit'] )
{
echo '<div id="myazisi" class="menu">Makale Başarıyla Değiştirildi...</div>';
kapat();
}
else
{
?>
<?
@$makale_id = $_GET['makale_id'];
$kayitlar = mysql_query("SELECT * FROM makaleler WHERE id=$makale_id");
while($kayit = mysql_fetch_array($kayitlar)) {
$konu = $kayit['konu'];
$baslik=$kayit['baslik'];
?>
<form action="makale_duzenle.php" method="post">
<Label>Yeni Başlık:</Label>
<input value="<? echo $baslik ?>" name="baslik" size="110"><br><br>
<input type="hidden" name="makale_id" value"<?=$makale_id ?>">
<label>Yeni Konu:</label>
<textarea cols="110" rows="15" name="konu"><? echo $konu; } ?></textarea><br>
<button name="gonder">Kaydet</button>
<a href="javascript:history.go(-1)">Geri Git</a>
</form></div>
</td>
</tr>
</table>
<? include("sol.php"); ?>
<? include("alt.php"); } ?>
</body>
</html>Yardım Ederseniz Sevinirim....
Mysql Update[Sorun]
7
●692
- 10-07-2009, 01:46:15Arkadaşlar makaleoku.php?makale_id=$id ye adminlere görünen makaleyi düzenle linki ekledim oda makale_duzenle.php?makale_id=$id ye gidiyor update ile değiştirmek istiyorum ama yapamadım bir türlü makale_duzenle.php;
- 10-07-2009, 02:05:14Sanırım makale_id'yi alamadığından update işlemi gerçekleşmiyor.
hidden input ile gönderme makale.php?makale_id=$makale_id olarak gönderip $_GET ile çek is_numeric ile gelen id'nin sayısal karakter olup olmadığınıda kontrol edebilirsin.
<html> <? include("config.php"); ?> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title><? echo "Makale Düzenle - $sitename"; ?></title> <meta name="keywords" content="" /> <meta name="description" content="" /> </head> <body> <? include("ust.php");?> <table align="right" width="900" border="0"> <tr> <td height="30" background="images/alt.gif"><div id="menuyazisi">Makale Düzenle</div></td> </tr> <tr> <td class="menu" background="images/cizgi300.jpg" height="100"><div id="myazisi"> <?php if ( empty($_POST) ) {} else { $konu = htmlspecialchars($_POST['konu']); $baslik = htmlspecialchars($_POST['baslik']); $makale_id = is_numeric($_GET['makale_id']); if (empty($baslik)) { echo '<div id="myazisi" class="menu">Başlığı Boş Bırakamazsınız !!!</div>'; } elseif (empty($konu)) { echo '<div id="myazisi" class="menu">Konuyu Boş Bırakamazsınız !!!</div>'; } else { $uye_ekle = mysql_query("UPDATE makaleler SET konu='$konu',baslik='$baslik' WHERE id='$makale_id'"); header("Location: makale_duzenle.php?kayit=basarili"); } } if ( $_GET['kayit'] ) { echo '<div id="myazisi" class="menu">Makale Başarıyla Değiştirildi...</div>'; kapat(); } else { ?> <? @$makale_id = $_GET['makale_id']; $kayitlar = mysql_query("SELECT * FROM makaleler WHERE id=$makale_id"); while($kayit = mysql_fetch_array($kayitlar)) { $konu = $kayit['konu']; $baslik=$kayit['baslik']; ?> <form action="makale_duzenle.php?makale_id=$makale_id" method="post"> <Label>Yeni Başlık:</Label> <input value="<? echo $baslik ?>" name="baslik" size="110"><br><br> <label>Yeni Konu:</label> <textarea cols="110" rows="15" name="konu"><? echo $konu; } ?></textarea><br> <button name="gonder">Kaydet</button> <a href="javascript:history.go(-1)">Geri Git</a> </form></div> </td> </tr> </table> <? include("sol.php"); ?> <? include("alt.php"); } ?> </body> </html> - 10-07-2009, 11:38:31olmadı idyi sanırım çekebiliyor evet doğru olan inputla id yollamamamstar2218 adlı üyeden alıntı: mesajı görüntüle
çünkü html form kodları üstünde @$makale_id = $_GET['makale_id']; var ve bu idye göre input içine ve textarea kodları içine o idye göre konu ve başlığı çekiyor ve bende echo $makale_id yazdığımda düzenlemeye çalıştığım makalenin idsi çıkıyor o zmn idde bir problem yok sanırım.
sanırım başka bir sorun var ? - 10-07-2009, 13:42:03orada yanlışlık olmaması lazım öyle yollanılır bildiğim kadarı ile ama gereksizmiş oraEnigmatic adlı üyeden alıntı: mesajı görüntüle
_get ile makale_id yi çekebiliyormuşum makaleoku.php?makale_id den. sonradan fark ettim bunu ama yinede hala update yapamıyorum.
- 10-07-2009, 14:21:23Sen kodu iyice karıştırmışsın, şimdi;
Eğer inputla göndereceksen giden sayfada $_POST ile veriyi çekeceksin, input değilde adres satırından id i çekeceksen o zaman da $_GET kullanacaksın, ama kodlarında bunu n tam tersi var, birde noktalama hataları yapmışsın bazı yerlerde, bu error döndürmeyebilir ama değişkenlerin ekrana basılması için noktalama işaretleri önemlidir, value kısmıda benim dediğim şekilde yazılır, oradaki eşittir input içinde kullanılan bir html kodu durumunda, sen ise php kodu içine almışsın.. - 10-07-2009, 14:57:27inputla göndermiyorum makaleoku.php?makale_id=12 mesela burda bi link makale_duzenle.php?makale_id=12 ye link veriyor makale_duzenle.php ye @$makale_id=$_GET['makale_id']; ile id çekiyorum makale_duzenle.phpnin alta doğru form kodları var orda başlığı ve konuyu yolluyorum yine makale_duzenle.php ye yani aynı sayfaya sonra normal bir şekilde yanşiEnigmatic adlı üyeden alıntı: mesajı görüntüle
$konu = htmlspecialchars($_POST['konu']);
$baslik = htmlspecialchars($_POST['baslik']);
ile alıyorum ve $uye_ekle = mysql_query("UPDATE makaleler SET konu='$konu',baslik='$baslik' WHERE id='$makale_id'");
header("Location: makale_duzenle.php?kayit=basarili"); ile değiştirmeye çalışıyorum ama localhostta olduğum için şuan yönlendirmeyi yapmıyor. geriside görünmüyor zaten böyle doğru değil mi ? ve ayrıca dosyanın en sonki halini de yazayım ne olur ne olmaz
<html> <? include("config.php"); ?> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title><? echo "Makale Düzenle - $sitename"; ?></title> <meta name="keywords" content="" /> <meta name="description" content="" /> </head> <body> <? include("ust.php");?> <table align="right" width="900" border="0"> <tr> <td height="30" background="images/alt.gif"><div id="menuyazisi">Makale Düzenle</div></td> </tr> <tr> <td class="menu" background="images/cizgi300.jpg" height="100"><div id="myazisi"> <?php @$makale_id = $_GET['makale_id']; if ( empty($_POST) ) {} else { $konu = htmlspecialchars($_POST['konu']); $baslik = htmlspecialchars($_POST['baslik']); if (empty($baslik)) { echo '<div id="myazisi" class="menu">Başlığı Boş Bırakamazsınız !!!</div>'; } elseif (empty($konu)) { echo '<div id="myazisi" class="menu">Konuyu Boş Bırakamazsınız !!!</div>'; } else { $uye_ekle = mysql_query("UPDATE makaleler SET konu= '$konu' ,baslik= '$baslik' WHERE id= '$makale_id'"); header("Location: makale_duzenle.php?kayit=basarili"); } } if ( $_GET['kayit'] ) { echo '<div id="myazisi" class="menu">Makale Başarıyla Değiştirildi...</div>'; kapat(); } else { ?> <? $kayitlar = mysql_query("SELECT * FROM makaleler WHERE id='".$makale_id."'"); while($kayit = mysql_fetch_array($kayitlar)) { $konu = $kayit['konu']; $baslik=$kayit['baslik']; ?> <form action="makale_duzenle.php" method="post"> <Label>Yeni Başlık:</Label> <input value="<?=$baslik ?>" name="baslik" size="110"><br><br> <label>Yeni Konu:</label> <textarea cols="110" rows="15" name="konu"><?=$konu; } ?></textarea><br> <button name="gonder">Kaydet</button> <a href="javascript:history.go(-1)">Geri Git</a> </form></div> </td> </tr> </table> <? include("sol.php"); ?> <? include("alt.php"); } ?> </body> </html>
çünkü html form kodları üstünde @$makale_id = $_GET['makale_id']; var ve bu idye göre input içine ve textarea kodları içine o idye göre konu ve başlığı çekiyor ve bende echo $makale_id yazdığımda düzenlemeye çalıştığım makalenin idsi çıkıyor o zmn idde bir problem yok sanırım.