• 17-09-2021, 18:08:24
    #1
    merhaba arkadaşlar iki resim alanım var birini ekleyince diğer resim kayboluyor yani boş veri güncelliyor ikisine bir resim eklersem sorun yok;
    bu problemi nasıl çözerim

    image.php
    <form action="../netting/islem.php" method="POST" id="demo-form2" data-parsley-validate class="form-horizontal form-label-left" enctype="multipart/form-data">
    
                                    <div class="form-group">
                                        <label class="control-label col-md-2 col-sm-2 col-xs-12" for="first-name">İmage Adı<span class="">*</span>
                                        </label>
                                        <div class="col-md-9 col-sm-9 col-xs-12">
                                            <input type="text" id="image_adi" name="image_adi" value="<?php echo $imagecek['image_adi']; ?>" class="form-control col-md-7 col-xs-12">
                                        </div>
                                    </div>
                   
    
                    <div class="form-group">
                      <label class="control-label col-md-3 col-sm-3 col-xs-12" for="first-name"><span class=""></span>
                      </label>
                      <div class="col-md-6 col-sm-6 col-xs-12">                    
                      </div>
                    </div>
    
                    <div class="form-group">
                                        <label class="control-label col-md-2 col-sm-2 col-xs-12" for="first-name">Video Resmi<span class=""></span>
                                        </label>
                                        <div class="col-md-9 col-sm-9 col-xs-12">
                                            <?php 
                        if (strlen($imagecek['image1'])>0) {?>
    
                        <img width="150"  src="../../<?php echo $imagecek['image1']; ?>">
    
                        <?php } else {?>
    
    
                        <img width="150"  src="../../dimg/kullanici-resim-yok.jpg">
    
    
                        <?php } ?>
                                            <input type="file" id="image1" name="image1" value="<?php echo $imagecek['image1']; ?>" class="form-control col-md-7 col-xs-12">
                                        </div>
                                    </div>
    
                    <div class="form-group">
                                        <label class="control-label col-md-2 col-sm-2 col-xs-12" for="first-name">Video Resmi<span class=""></span>
                                        </label>
                                        <div class="col-md-9 col-sm-9 col-xs-12">
                                            <?php 
                        if (strlen($imagecek['image2'])>0) {?>
    
                        <img width="150"  src="../../<?php echo $imagecek['image2']; ?>">
    
                        <?php } else {?>
    
    
                        <img width="150"  src="../../dimg/kullanici-resim-yok.jpg">
    
    
                        <?php } ?>
                                            <input type="file" id="image2" name="image2" value="<?php echo $imagecek['image2']; ?>" class="form-control col-md-7 col-xs-12">
                                        </div>
                                    </div>
    
    
                                    <div align="right" class="col-md-9 col-sm-9 col-xs-12 col-md-offset-3">
    
                                        <button type="submit" name="imagekaydet" class="btn btn-primary">Güncelle</button>
                                    </div>
    
                                </form>
    islem.php
    if (isset($_POST['imagekaydet'])) {
    
    
        if (!empty($_FILES['image1'])) {
            $uploads_dir1 = 'images/';
    
            $tmp_name1 = $_FILES['image1']["tmp_name"];
            $name1 = $_FILES['image1']["name"];
            $refimgyol1=substr($uploads_dir1, 6)."images/".$name1;
            move_uploaded_file($tmp_name1, "$uploads_dir1/$name1");
    
            $image1kaydet=$db->prepare("UPDATE image SET
                image_adi=:image_adi,
                image1=:image1
                WHERE image_id=1");
            $update=$image1kaydet->execute(array(
                'image_adi' => $_POST['image_adi'],
                'image1' => $refimgyol1
            ));
        }
        if ($update) {
    
            Header("Location:../production/image.php?durum=ok");
    
        } else {
    
            Header("Location:../production/image.php?durum=no");
        }    
    
    if (!empty($_FILES['image2'])) {
        $uploads_dir2 = 'images/';
    
            $tmp_name2 = $_FILES['image2']["tmp_name"];
            $name2 = $_FILES['image2']["name"];
            $refimgyol2=substr($uploads_dir2, 6)."images/".$name2;
            move_uploaded_file($tmp_name2, "$uploads_dir2/$name2");
    
            $image2kaydet=$db->prepare("UPDATE image SET
                image_adi=:image_adi,
                image2=:image2
                WHERE image_id=1");
            $update=$image2kaydet->execute(array(
                'image_adi' => $_POST['image_adi'],
                'image2' => $refimgyol2
            ));
        }
    
        if ($update) {
    
            Header("Location:../production/image.php?durum=ok");
    
        } else {
    
            Header("Location:../production/image.php?durum=no");
        }
    
    }
  • 17-09-2021, 18:18:08
    #2
    Merhaba ,
    Neden ayrı ayrı işlem yapılıyor onu anlayamadım
  • 17-09-2021, 18:19:12
    #3
    iki ayrı resim inputu var ikiside farklı yerlerde echo ediliyor o yuzden
  • 17-09-2021, 18:23:04
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    URL Değerleri boş gelirse else ile eski değerini verebilir, hiç güncellemeyebilirsiniz. Alternatif olarak resim1, resim2 olarak 2 inputunuz olduğunu varsayarsak düzenleme esnasında ajax ile post gönderip veritabanından halihazırda resim url'lerini inputlara yerleştirebilirsiniz. Böylece sadece resim2'yi güncelleyeceğiniz zaman resim1 aynı değerinde kalır.
  • 17-09-2021, 18:24:39
    #5
    bana bir örnekle yazabılırmısınız
  • 17-09-2021, 18:28:33
    #6
    Merhaba,

    Aşağıdaki kodu kendinize göre uyarlayarak çözebilirsiniz;

    <?php
     if ($_FILES["logo"] && ($_FILES["logo"]["type"] == "image/jpeg" || $_FILES["logo"]["type"] == "image/jpg" || $_FILES["logo"]["type"] == "image/png" || $_FILES["logo"]["type"] == "image/gif")):
        $logo_name = $_FILES["logo"]["name"];
        $logo_newname = "images/logo.png";
        $upload_logo = move_uploaded_file($_FILES["logo"]["tmp_name"], $logo_newname);
    elseif ($imagecek['image1'] != ""):
        $logo_newname = $imagecek['image1'];
    endif;
    İyi çalışmalar.
  • 17-09-2021, 18:33:28
    #7
    logo yazanlar image2 mi
  • 17-09-2021, 18:46:22
    #8
    <script>  
        
       $.ajax({
                   type: "GET",
                   url: '../ornek.php?id='+id
                   dataType: "html",
                   success: function(yanit){
                        var veri = jQuery.parseJSON(yanit);
                        $("#resim1 input ID").val(data.resim1);
                        $("#resim2 input ID").val(data.resim2);
                  }
       });
    </script>
    ornek.php ici

    if($_GET['id']){
         $id = $_GET['id'];
         $sorgu = mysql_fetch_array(mysql_query("SELECT * FROM tabloadi WHERE id='$id'"));
         $resim1 = $sorgu["resim1"];      
         $resim2 = $sorgu["resim2"];
         $tablo = array(
            'resim1' => $resim1,
            'resim2' => $resim2,
         );
        echo json_encode($tablo);
    }
    Bunlar ile düzenleme ekranında resimlerin güncel linklerini görebilir, ona göre işlem yapabilirsiniz. Düzenleyerek farklı alanlarda da kullanabilirsiniz. İşinize şöyle yarar, zaten inputlar girili geliyor, post edilirken boş değer döndürmeyecek. Sorunuzun çözümü bunun kadar uzun değil, benim bunu paylaşma sebebim farklı alanlarda da kullanabilirsiniz ve işinize yarar. Kısa haliyle direk çözmek isterseniz @Softyr; 'nin paylaştığı kodlar işinize yarar gibi. İyi çalışmalar.
  • 17-09-2021, 20:05:36
    #9
    hocam sistem pdo ile yapılmıs siz mysql ile yazmıssınız o kısım karıstı