• 26-10-2020, 02:53:41
    #1
    Merhaba,

    Sorunum şudur;

    while ile donen bir inputum var. Bu inputlarda ki değeri json ile alıyor veritabanına kaydediyorum. Buraya kadar bir sıkıntı yok. Fakat kaydedilen veriyi sef url fonskiyonundan geçirerek kaydetmem gerekmekte. Array olarak geldiği için veri seo fonskiyonundan geçirdiğimde haliyle harf dışındaki herşeyi silmekte yada saçma sapan şekillerde veritabanına kaydetmekte.

    veriyi aldığım input :
    <input type="text" class="form-control" name='seourl[<?=$checkLT['language_code'] ?>]'>
    veritabanına kaydettığım değeride şu şekilde alıyorum
    json_encode($_POST['seourl'])
    standart ekleme kodlarını yazıpta uzatmak ıstemıyorum olayı. Kafam patatese döndü saatlerdir çözemedim.

    Amacım "seourl" den aldığım değerleri sef url yapısında alabilmek.
    Tekrar belirteyim verileri sef url ye çevirmeden veritabanına kaydetmek istemiyorum. Öğrnemek istediğim olay array olarak yada json olarak aldığım veriyi sef url şeklinde almak.
    Yardımlarınız için şimdiden teşekkür ederim.
  • 26-10-2020, 03:32:42
    #2
    Örnek bir kayıt verisi paylaşır mısınız hocam, yazdığınızdan çok anlayamadım.
  • 26-10-2020, 04:17:40
    #3
    @Birdilimask; Eğer verinizi veritabanına array olarak gönderip, array içindeki her elemanı sef url fonksiyonundan geçirmek istiyorsanız;

    function sefurl(){
      // sef url fonksiyonu burada
    }
    
    $array = $_POST['formdangelenveri'];
    array_walk($array, 'sefurl');
    ya da
    $yenidizi = [];
    foreach($_POST['formdangelenveri'] as $value){
      $yenidizi[] = sefurl($value);
    }
    
    $sonhali = json_encode($yenidizi);
    
    // bu şekilde yaparak yeni diziyi veritabanına json olarak kayıt edebilirsiniz.
    şeklinde olması gerekiyor.
  • 26-10-2020, 12:28:57
    #4
    Zalmoxis adlı üyeden alıntı: mesajı görüntüle
    @Birdilimask; Eğer verinizi veritabanına array olarak gönderip, array içindeki her elemanı sef url fonksiyonundan geçirmek istiyorsanız;

    function sefurl(){
      // sef url fonksiyonu burada
    }
    
    $array = $_POST['formdangelenveri'];
    array_walk($array, 'sefurl');
    ya da
    $yenidizi = [];
    foreach($_POST['formdangelenveri'] as $value){
      $yenidizi[] = sefurl($value);
    }
    
    $sonhali = json_encode($yenidizi);
    
    // bu şekilde yaparak yeni diziyi veritabanına json olarak kayıt edebilirsiniz.
    şeklinde olması gerekiyor.
    Buna benzer bir yapi kurmuştum. Lakin array in listelenme sekli

    Array (
    "tr" :"tr seo url",
    "en" :"en seo url"
    )

    Sizin veridiginiz yapi da tr ve en i json encode yapinca almayacak yuksek ihtimalle. Sanirim ajax kullanarak inputu guncellicem o daha mantıklı geliyor suanda