folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder İnsert İşlemi Gerçekleşmiyor (PHP)



İnsert İşlemi Gerçekleşmiyor (PHP)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Nvidia
    Nvidia's avatar
    Banlanmış Üye
    Kayıt Tarihi: 13/Nisan/2013
    Erkek

    Hocalar  insert işlemi gerçekleşmiyor  dosyada bişeyimi bozdum dedim eski yedeği yükledim gene  yemedi birde siz bakın istedim gözünüze birşeyler çarparmı diye. Şimdiden eyvallah  Birde  son zamanlar  bu tarz  konuları çok açıyorum kusurumuza bakmayın  :)  Ek olarak  etiketler  konuya  kod  koyduğum için öyle

     

    <?php
     
    $query = $db->query("SELECT * FROM konular ORDER BY id DESC LIMIT 1", PDO::FETCH_ASSOC);
    if ( $query->rowCount() ){
         foreach( $query as $row ){
    		  $kid = $row['id'];
         }
    }
    
    ?>
    
    
    <!DOCTYPE HTML>
    <html lang="tr-TR">
    <head>
        <meta charset="iso-8859-9">
    	<title></title>
    		
    </head>
    <body>
    <?php 
    if($_SERVER['REQUEST_METHOD'] == "POST"){ // post metoduyla çağırıldıysa
            
    	$file = $_FILES['file'];  // formdan gelen dosya adını alıyoruz.
    	$uzantilar = array("jpg", "png", "images/jpeg", "images/png"); // izin verilecek uzantılar
    	$dizin = realpath($_SERVER['DOCUMENT_ROOT']) . DIRECTORY_SEPARATOR . "_uploads"; 
    $dizin = "/_uploads/"; // yüklenecek dizini belirle
    $upload_file = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $dizin . DIRECTORY_SEPARATOR . $file['name']; // yüklenecek dizini belirle
    	//$upload_file = $dizin.basename($file['name']); // yüklenecek dizin ile dosya adını bir araya getir. basename = gelen dizin adından dosya ismini verir
    	$size = $file['size']; // dosya boyutunu al
    	$uzanti = explode(".", $file['name']); // uzantiyi almak için explode ile böl
    	$uzanti = $uzanti[count($uzanti)-1]; // sonuncu eleman uzanti olacağından count-1
    	$tip = $file['type']; // dosya tipini al
    	if($file['name'] != ""){ // dosya ismi boş değilse
    	if(in_array($tip, $uzantilar) || in_array($uzanti, $uzantilar)){ // izin verilen uzantilar arasında var varsa
    			if($size < (1024*1024*10)){ // size 10M den küçük mü
    				if(move_uploaded_file($file['tmp_name'], $upload_file)){ // yükleme işlemi gerçekleşmişse
                        $query = $db->prepare("INSERT INTO facts SET
    konu_id = ?,
    resim = ?,
    tanim = ?");
    $insert = $query->execute(array(
         $kid, $dizin.$file['name'], $_POST['icerik']
    ));
    if ( $insert ){
        $last_id = $db->lastInsertId();
        print "insert işlemi başarılı!";
    }else{
    
    print "yüklenemedi";
    }
    					echo "<h3>Resim başarılı bir şekilde Eklendi!..</h3>"; // olumlu
    				}else{
    					echo "<h3>Yükleme İşlemi Başarısız, Tekrar deneyin!..</h3>"; // hata
    				}
    			}else{
    				echo "<h3>Resim boyutu 10M den yüksek olmamalıdır!..</h3>"; // hata
    			}
    		}else{
    			echo "<h3>Sadece JPG ve PNG uzantılar kabul edilir!..</h3>"; // hata
    		}
            }
    					
    }
    ?>
    	<form  action="" method="POST" enctype="multipart/form-data">
    		
    		<input type="file" name="file" /></br>
            <textarea class="ckeditor" name="icerik"></textarea>        
    		<button type="submit">Yükle</button>
    	
    	</form>
        
                            
    
    </body>
    </html>
    
    
    
    
    
    
    
        
        
        
        
        
      

     


    Milyarlarca yıl ölüydüm dirildim ve tekrar dirilmemek üzere öleceğim günü bekliyorum!
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PcK0
    PcK0's avatar
    Kayıt Tarihi: 13/Nisan/2007
    Erkek
    <?php
    
    define('DS', DIRECTORY_SEPARATOR);
    
    $query = $db->query("SELECT * FROM konular ORDER BY id DESC LIMIT 1", PDO::FETCH_ASSOC);
    if( $query->rowCount() ) {
      foreach( $query as $row ) {
        $kid = $row['id'];
      }
    }
     
    ?>
    <!DOCTYPE HTML>
    <html lang="tr-TR">
    <head>
        <meta charset="iso-8859-9">
        <title></title>
    </head>
    <body>
      <?php
      // post metoduyla çağırıldıysa
      if( $_SERVER['REQUEST_METHOD'] == "POST" ) {
        // formdan gelen dosya adını alıyoruz.
        $file = $_FILES['file'];
    
        // izin verilecek uzantılar
        $uzantilar = array("jpg", "png", "images/jpeg", "images/png");
    
        $dizin = realpath($_SERVER['DOCUMENT_ROOT']) . DS . "_uploads";
    
        // yüklenecek dizini belirle
        $dizin = "/_uploads/";
    
        // yüklenecek dizini belirle
        $upload_file = $_SERVER['DOCUMENT_ROOT'] . DS . $dizin . DS . $file['name'];
    
        // yüklenecek dizin ile dosya adını bir araya getir. basename = gelen dizin adından dosya ismini verir
        //$upload_file = $dizin.basename($file['name']);
    
        // dosya boyutunu al
        $size = $file['size'];
    
        // uzantiyi almak için explode ile böl
        $uzanti = explode(".", $file['name']);
    
        // sonuncu eleman uzanti olacağından count-1
        $uzanti = $uzanti[count($uzanti)-1];
    
        // dosya tipini al
        $tip = $file['type'];
    
        // dosya ismi boş değilse
        if($file['name'] != "") {
          // izin verilen uzantilar arasında var varsa
          if(in_array($tip, $uzantilar) || in_array($uzanti, $uzantilar)) {
            // size 10M den küçük mü
            if($size < (1024*1024*10)) {
              // yükleme işlemi gerçekleşmişse
              if(move_uploaded_file($file['tmp_name'], $upload_file)){
                $query = $db->prepare("INSERT INTO facts SET konu_id = ?, resim = ?, tanim = ?");
                $insert = $query->execute(array($kid, $dizin.$file['name'], $_POST['icerik']));
                if ( $insert ) {
                  $last_id = $db->lastInsertId();
                  print "insert işlemi başarılı!";
                } else {
                  print "yüklenemedi";
                }
                echo "<h3>Resim başarılı bir şekilde Eklendi!..</h3>"; // olumlu
              } else {
                echo "<h3>Yükleme İşlemi Başarısız, Tekrar deneyin!..</h3>"; // hata
              }
            } else {
              echo "<h3>Resim boyutu 10M den yüksek olmamalıdır!..</h3>"; // hata
            }
          } else {
            echo "<h3>Sadece JPG ve PNG uzantılar kabul edilir!..</h3>"; // hata
          }
        }
      }
      ?>
      <form  action="" method="POST" enctype="multipart/form-data">
        <input type="file" name="file" /></br>
        <textarea class="ckeditor" name="icerik"></textarea>       
        <button type="submit">Yükle</button>
      </form>
    </body>
    </html>php

     

    İlk önce kodunu bir güzel yaz şöyle benim gibi. Sonra bu şekilde iç içe if else yapma. Bu noktada en azından fonksiyon kullanmalısın, her hata noktasında return yaparak daha okunaklı ve hatasız kod yazabilirsin. Fonksiyonda return çalıştıktan sonra altındaki kodlar çalışmaz. Fonksiyondan çıkılır. Şöyle ki:

    <?php
    
    define('DS', DIRECTORY_SEPARATOR);
    define('DR', $_SERVER['DOCUMENT_ROOT']);
    
    $query = $db->query("SELECT * FROM konular ORDER BY id DESC LIMIT 1", PDO::FETCH_ASSOC);
    if($query->rowCount()) {
      foreach($query as $row) {
        $kid = $row['id'];
      }
    }
    
    function aaa() {
      if( $_SERVER['REQUEST_METHOD'] != "POST" ) { return [0, '']; }
    
      // Bize lazım olan verileri topluyoruz.
      $file = $_FILES['file'];
      $uzantilar = array("jpg", "png", "images/jpeg", "images/png");
      $dizin = realpath(DR) . DS . "_uploads";
      $dizin = "/_uploads/";
      $upload_file = DR . DS . $dizin . DS . $file['name'];
      $size = $file['size'];
      $uzanti = explode(".", $file['name']);
      $uzanti = $uzanti[count($uzanti)-1];
      $tip = $file['type'];
    
      if($file['name'] == '') {
        return [1, 'Dosya adı yok'];
      }
    
      if(!in_array($tip, $uzantilar) && !in_array($uzanti, $uzantilar)) {
        return [2, 'Sadece JPG ve PNG uzantılar kabul edilmektedir'];
      }
    
      if(move_uploaded_file($file['tmp_name'], $upload_file)) {
        return [3, 'Yükleme işlemi başarısız, tekrar deneyin'];
      }
    
      $query = $db->prepare("INSERT INTO facts SET konu_id = ?, resim = ?, tanim = ?");
      $insert = $query->execute(array($kid, $dizin.$file['name'], $_POST['icerik']));
      if( $insert ) {
        $last_id = $db->lastInsertId();
        return [0, 'insert işlemi başarılı'];
      } else {
        return [4, 'yüklenemedi'];
      }
    }
    $cikti = aaa();
    
    ?>
    <!DOCTYPE HTML>
    <html lang="tr-TR">
    <head>
        <meta charset="iso-8859-9">
        <title></title>
    </head>
    <body>
      <?php
        echo('<pre>');
        print_r(aaa());
        echo('</pre>');
      ?>
    
      <form  action="" method="POST" enctype="multipart/form-data">
        <input type="file" name="file" /></br>
        <textarea class="ckeditor" name="icerik"></textarea>
        <button type="submit">Yükle</button>
      </form>
    </body>
    </html>

     

    Ben çalıştırmadım kodu sen birde böyle bak bakalım. Sorunu yakalayamazsan tekrar sor.

     

     

     

     

    PcK0 tarafından 30/Nis/16 04:12 tarihinde düzenlenmiştir

    Sadece bi imza..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Nvidia
    Nvidia's avatar
    Banlanmış Üye
    Kayıt Tarihi: 13/Nisan/2013
    Erkek

    @pskpt hocam  sağolsun yardımcı  oldu hallettik sorunu  eyvallah hocalar 


    Milyarlarca yıl ölüydüm dirildim ve tekrar dirilmemek üzere öleceğim günü bekliyorum!
Toplam Hit: 520 Toplam Mesaj: 3
pieçpi insört