• 06-12-2009, 15:33:14
    #1
    Üyeliği durduruldu
    Bir resim yükleme scriptim var. kendim yazdım. Ancak hata alıyorum..

    Tebrikler Resim Yüklendi
    Warning: Cannot modify header information - headers already sent by (output started at C:\Inetpub\vhosts\carizmania.com\httpdocs\CCP\resi mekle.php:97) in C:\Inetpub\vhosts\carizmania.com\httpdocs\CCP\resi mekle.php on line 98

    hatam bu.

    <?php
    include("../inc/inc_mf.php");
    //-- Resim Ekleme Formu Başlangıç
    
    Function index(){
    echo "<form action=\"resimekle.php?islem=res_kaydet\" enctype=\"multipart/form-data\" method=\"post\">
    
    <table width=\"736\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
      <tr>
        <td width=\"152\" height=\"25\"><strong>Resim Adı</strong></td>
        <td width=\"10\"><strong>:</strong></td>
        <td width=\"574\" height=\"25\"><label>
          <input type=\"text\" name=\"isim\" id=\"isim\">
        </label></td>
      </tr>
      <tr>
        <td height=\"25\"><strong>Resim Kategorisi</strong></td>
        <td><strong>:</strong></td>
        <td height=\"25\"><label>
          <select name=\"katid\">";
          $kat_sor = mysql_query("SELECT id,isim FROM kategori ORDER BY isim ASC");
            while($kat_yaz=mysql_fetch_array($kat_sor)){
            $isim        = $kat_yaz['isim'];
            $id            = $kat_yaz['id'];
            
            echo "<option value=\"$id\" selected>$isim</option>";
            
            }
                
               echo"</select>
        </label></td>
      </tr>
      <tr>
        <td height=\"25\"><strong>Resim</strong></td>
        <td><strong>:</strong></td>
        <td height=\"25\"><input type=\"file\" name=\"resim\"></td>
      </tr>
      <tr>
        <td height=\"25\">&nbsp;</td>
        <td>&nbsp;</td>
        <td height=\"25\"><label>
          <input type=\"submit\" value=\"Yükle\">
        </label></td>
      </tr>
    </table>
    
    
    </form>
    <br>
    ";
    }
    
    //-- Resim Ekleme Formu Bitiş
    //-- Resim Kaydet Başlangıç
    
    Function res_kaydet(){
    
    $katid        = $_POST["katid"];
        $sor        = mysql_fetch_array(mysql_query("SELECT isim FROM kategori WHERE id='$katid'"));
    $kat_adi    = $sor['isim'];
    $isim        = $_POST["isim"];
    $kaynak        = $_FILES["resim"]["tmp_name"];
    $resim        = $_FILES["resim"]["name"];
    $tipi        = $_FILES["resim"]["type"];
    $boyut        = $_FILES["resim"]["size"];
    $uzanti        = substr($resim, -4);
    $yeniad        = substr(uniqid(md5(rand())) , 0,10);
    $yolu        = $yeniad.$uzanti;
    $hedef        = "../resimdosyalari";
    if($kaynak==""){
        
        echo "Resim Seçilmedi.";
        header("Refresh: 2 ; url=kategori.php");
        
        }elseif($isim==""){
        
        echo "Resim İçin Bir Ad Yazın.";
        header("Refresh: 2 ; url=resimvekatyonetimi.php");
        
        }elseif($boyut > 10000000){ // Resim 10 Mb den Büyükse
        
        echo "Boyut Max 10 mb olabilir";
        header("Refresh: 2 ; url=resimvekatyonetimi.php");
        
        }elseif(($tipi != "image/pjpeg") && ($tipi != "image/jpeg") && ($tipi != "image/gif") && ($tipi != "image/png") ) { //Resim Dosyası Tipi (Uzantı)
        
        echo "Resim png jpg veya gif olmalidir.";
        header("Refresh: 2 ; url=resimvekatyonetimi.php"); 
        
        }else{
        
            if(move_uploaded_file($kaynak,$hedef.'/'.$yolu)){        
            $kaydet = mysql_query("INSERT INTO resimler (kat_adi,isim,yolu,katid) values ('$kat_adi','$isim','$yolu','$katid')");
                
                if($kaydet){
                
                echo "Tebrikler Resim Yüklendi";
                header("Refresh: 2; url=kategori.php");
                
                }else{
                
                echo "Resim Yüklenemedi gg.";
                header("Refresh: 2 ; url=kategori.php");
                
                }
            }else{
            
            echo "Resim Yüklenemedi Ch mod Ayrlarına Bakın.";
                header("Refresh: 12 ; url=kategori.php");
            
            }
        
        }
    
    }
    
    //-- Resim Kaydet Bitiş
    
    $islem = $_GET["islem"];
    
    Switch($islem){
    default:
        index();
        break;
        
    case "res_kaydet";
        res_kaydet();
        break;
    }
    ?>
    Ben hata göremedim yada anlamadım.. sorunu çözmeme yardımcı olabilirmisiniz lütfen.
  • 06-12-2009, 15:40:08
    #2
    echo "Tebrikler Resim Yüklendi";
    header("Refresh: 2; url=kategori.php");

    bu ve altındaki gibi sayfaya çıktı verdikten sonra header bilgisi ekleyemezsin
  • 06-12-2009, 15:52:30
    #3
    Üyeliği durduruldu
    header("Refresh: 2; url=kategori.php");
    bu kod tüm browserlar için geçerli uygun bir kullanım değil hocam zaten. Şöyle bir kod kulanabilirsiniz;
    düz html olarak

    <script language="javascript"> window.location = kategori.php </script>
    yada content ile yonlendirme

    <META HTTP-EQUIV="Refresh" CONTENT="2;URL=kategori.php">
    bu ikinci meta ile yonlendirmeyi kullanmanizi oneririm
     
  • 06-12-2009, 15:56:21
    #4
    Sayfanın en başına ob_start(); fonksiyonunu kullanırsanda düzelir.
  • 06-12-2009, 16:12:19
    #5
    Üyeliği durduruldu
    Herkese teşekkür ederm..

    Repax arkadaşımın dediğini uyguladım..
  • 06-12-2009, 17:21:45
    #6
    Üyeliği durduruldu
    MuhammedF adlı üyeden alıntı: mesajı görüntüle
    Herkese teşekkür ederm..

    Repax arkadaşımın dediğini uyguladım..
    ob_start kullanirsaniz sayfanin tepki süresini durduk yere düşürürsünüz