• 10-07-2009, 01:46:15
    #1
    Arkadaş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;

    <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....
  • 10-07-2009, 02:05:14
    #2
    Sanı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:31
    #3
    star2218 adlı üyeden alıntı: mesajı görüntüle
    Sanı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>
    olmadı idyi sanırım çekebiliyor evet doğru olan inputla id yollamamam çü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:37:00
    #4
    Şurada bi yazım yanlışlığımı var ?

    <input type="hidden" name="makale_id" value"<?=$makale_id ?>">
    Şöyle olması gerekmiyormu ?

    <input type="hidden" name="makale_id" value="<? $makale_id ?>">
    value= kısmını diyorum..
  • 10-07-2009, 13:42:03
    #5
    Enigmatic adlı üyeden alıntı: mesajı görüntüle
    Şurada bi yazım yanlışlığımı var ?
    <input type="hidden" name="makale_id" value"<?=$makale_id ?>">
    Şöyle olması gerekmiyormu ?
    <input type="hidden" name="makale_id" value="<? $makale_id ?>">
    value= kısmını diyorum..
    orada yanlışlık olmaması lazım öyle yollanılır bildiğim kadarı ile ama gereksizmiş ora _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:23
    #6
    Sen 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:27
    #7
    Enigmatic adlı üyeden alıntı: mesajı görüntüle
    Sen 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..
    inputla 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şi
    $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>
  • 10-07-2009, 23:59:18
    #8
    cevap yazanlara teşekkürler...
    tüm işlemleri tek sayfada değilde herzmn yaptığım şekilde yani formu bi sayfada sql kodunu ayrı sayfada yaptım oldu.