Soru & Cevap

PHP ADMİN PANELİNDEN RESİMLİ İÇERİK NASIL EKLENİR ? ...

23.04.2020 - 03:36

Merhaba;

PHP ile yönetici panelli bir web sitesi yaptım. Sitem de haber ekleme kısmında;

Haber Adı, Haber Tarih, Haber İçerik alıyorum ve bunları PDO ile database e aktarıyorum. 

Haber adını ve Tarihi alırken sıkıntı yaşamadım. Ama içerik eklerken Summernote isimli Editörü kullanıyorum. O editör ile yazıları alıp DB ye ekleyebiliyorum. Ama editör içerisine eklediğim resimler haberi ekledikten sonra görünmüyor. Localden çağırınca da gelmiyor.. <img src"weblink"> şeklinde çağırınca da gelmiyor.

Ben Editör içerisine koymak istediğim içerik tipi;

Yazı

Resim

Yazı

Resim

Yazı

Şeklinde olacak ama editör e koyduğum resimler haberi paylaştıktan sonra sitede görünmüyor. Bunu nasıl yapabilirim.

LÜTFEN YARDIMCI OLURSANIZ SEVİNİRİM.

1,527 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-227158-1589293791.jpg
mnknsro413
23.04.2020 - 06:36

Tamam sorunumu çözdüm. Farklı yere kaydedip ordan çağırmaya çalışıyordum.

Summernote u indirdim sada sonra editör sayfasına

 <!-- Main content -->
            <section class="content">
              <div class="row">
                <div class="col-md-12">
                  <div class="card card-outline card-info">
                    <div class="card-header">
                      <h3 class="card-title">
                        Haber İçerik Ekleme
                      </h3>
                      <!-- tools box -->
                      <div class="card-tools">
                        <button type="button" class="btn btn-tool btn-sm" data-card-widget="collapse" data-toggle="tooltip"
                        title="Collapse">
                        <i class="fas fa-minus"></i></button>
                        
                      </div>
                      <!-- /. tools -->
                    </div>
                    <!-- /.card-header -->
                    <div class="card-body pad">
                      <div class="mb-3">
                        <textarea class="summernote" id="blog_content"></textarea>
<!--                        <textarea name="saglik_detay" id="editor" rows="10" cols="80"></textarea>
-->   
<textarea hidden id="saglik_detay" name="saglik_detay"></textarea>
</div>
</div>
</div>
</div>
<!-- /.col-->
</div>
<!-- ./row -->
</section>
<!-- /.content -->
<script type="text/javascript">

    $(document).ready(function() {
      $('#blog_content').summernote({
        height: "300px",
        dialogsInBody: true,
        callbacks: {
          onImageUpload: function(files) {
            uploadFile(files[0]);
          }
        }
      });
    });
$("#blog_content").on("summernote.change", function (e) {   // callback as jquery custom event 
  var plainText = $("#blog_content").summernote("code");
  $('#saglik_detay').val(plainText)
});
function uploadFile(file) {
  data = new FormData();
  data.append("file", file);
  $.ajax({
    data: data,
    type: "POST",
        url: "netting/islemler.php?blog_content=blog_content", //replace with your url
        cache: false,
        contentType: false,
        processData: false,
        success: function(url) {
          if(url==0){
              //  notify("Error","Incorrect picture!!!","error","topRight");
              alert("eklenemedi");
            }else{
              $('#blog_content').summernote("insertImage", url);
            }
          }
        });
}  
</script>

şu kodları yazdım.  

başka bir function.php sayfası oluşturup verileri database kaydederken 

if(isset($_POST['saglikkaydet']))
	{
		$uploads_dir = '../../img/saglik';
		@$tmp_name = $_FILES['saglik_resim']['tmp_name'];
		@$name = $_FILES['saglik_resim']['name'];
		$benzersizsayi1=rand(20000,32000);
		$benzersizsayi2=rand(20000,32000);
		$benzersizsayi3=rand(20000,32000);
		$benzersizsayi4=rand(20000,32000);
		$benzersizad=$benzersizsayi1.$benzersizsayi2.$benzersizsayi3.$benzersizsayi4;
		$refimgyol=substr($uploads_dir,6)."/".$benzersizad.$name;
		@move_uploaded_file($tmp_name, "$uploads_dir/$benzersizad$name");

		$tarih = $_POST['saglik_tarih'];
		$saat = $_POST['saglik_saat'];

		$zaman = $tarih." ".$saat;

		$kaydet = $db->prepare("INSERT INTO saglik SET
			saglik_title=:saglik_title,
			saglik_detay=:saglik_detay,
			saglik_durum=:saglik_durum,
			saglik_anasayfa=:saglik_anasayfa,
			saglik_keyword=:saglik_keyword,
			saglik_tarih=:zaman,
			editor_id=:editor_id,
			saglik_resim=:saglik_resim");
		$insert = $kaydet->execute(array(
			'saglik_title' => $_POST['saglik_title'],
			'saglik_detay' => $_POST['saglik_detay'],
			'saglik_durum' => $_POST['saglik_durum'],
			'saglik_anasayfa' => $_POST['saglik_anasayfa'],
			'saglik_keyword' => $_POST['saglik_keyword'],
			'editor_id' => $_POST['editor_id'],
			'zaman' => $zaman,
			'saglik_resim' => $refimgyol
		));

		if($insert){
			header("Location:../saglik-ekle.php?durum=ok");
		}
		else
		{
			header("Location:../saglik-ekle.php?durum=no");
		}
	}


if(isset($_GET['blog_content']) && $_GET['blog_content']=="blog_content"){
		$record_place="http://localhost/viral/assest/img/";
		$record="../../assest/img/";
		
		$allowed = array( 'png', 'jpg', 'gif','svg' );
		if( isset($_FILES['file']) && $_FILES['file']['error'] == 0 ) {

			$explode_file=sanitize($_FILES['file']['name']);
			$explode=explode(".",$explode_file);
			$explode[count($explode)-2]=$explode[count($explode)-2]."_".rand(0,99999);
			$implode=implode(".",$explode);
			$file_name=$implode;

			$extension = pathinfo( $_FILES['file']['name'], PATHINFO_EXTENSION );
			if( !in_array( strtolower( $extension ), $allowed ) ) {
				echo "0";
				exit;
			}
			if( move_uploaded_file( $_FILES['file']['tmp_name'], $record.$file_name ) ) {
		            echo $record_place.$file_name; // echo absolute file_url
		            exit;
		        }
		    }
		    echo "0";
		    exit;


	}

Şeklinde funksiyon yazdım.