formdan array olarak gelen verileri veritabanına nasıl kaydedebilirim?
Merhaba,
Bir adet formum var ve bu formun bir bölümünde şu şekilde bir sistem var:
Gördüğünüz gibi yeni ekle dediğimiz zaman forma yeni select ve input öğesi ekleniyor. Buraya 3 adet veri eklemek isteyeceğimiz zaman da kodun html karşılığı aşağıdaki gibi oluyor.
<!-- İlk Satır -->
<select class="form-control mt-3" name="ara_durak[]">
<option value="12">Ankara</option>
<option value="14">Balıkesir</option>
<option value="13">İzmir</option>
</select>
<input type="time" class="form-control mt-3" name="ara_durak_saat[]">
<!-- İkinci Satır -->
<select class="form-control mt-3" name="ara_durak[]">
<option value="12">Ankara</option>
<option value="14">Balıkesir</option>
<option value="13">İzmir</option>
</select>
<input type="time" class="form-control mt-3" name="ara_durak_saat[]">
<!-- Üçüncü Satır -->
<select class="form-control mt-3" name="ara_durak[]">
<option value="12">Ankara</option>
<option value="14">Balıkesir</option>
<option value="13">İzmir</option>
</select>
<input type="time" class="form-control mt-3" name="ara_durak_saat[]">
Ben bu verileri veritabanına kayıt etmek ve kullanıcıya görüntülemek istiyorum. İşin mantığı; bir otobüs seferi oluşturuyorsunuz, başlangıç ve iniş durağı var. Bunun haricinde de ara duraklar var. Buradaki mantık o ara durakları ve o durağa hangi saatte varılacağını eklemek. Ben günün sonunda kullanıcıya şunu göstermek istiyorum:
İki gündür ciddi araştırdım ama kesin bir sonuca ulaşamadım. Ümidimi yitirmek üzereyim yardımlarınızı bekliyorum efendim 😁
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
Merhaba @emretarhan
Öncelikle iyi günler iyi çalışmalar.
verileri json_encode
fonksiyonundan geçirip base64_encode
fonksiyonundan geçirebilirsin. Bu şekilde basitçe şifrelenmiş json verin olacaktır. Örenğin;
<?php
$data = $_POST['ara_durak'];
$json_type = json_encode($data); // Çıktı: ["1","2","3"]
$base64_type = base64_encode($json_type); // WyIxIiwiMiIsIjMiXQ==
örnekteki gibi kullanabilirsin. fakat veritabanından veri eçekerden bunları tekrar json_decode
ve base64_decode
fonksiyonlarından geçirmen gerekir. tavsiyem sadece json_encode
ve json_decode
kullanman
Umarım yardımcı olabilmişimdir. İyi günler iyi çalışmalar...
Sorunu kısa sürede str_replace()
ile kökten çözdüm 😅
function transliterateTurkishChars($inputText) {
$search = array('\u00e7', '\u00c7', '\u011f', '\u011e', '\u0131', '\u0130', '\u00f6', '\u00d6', '\u015f', '\u015e', '\u00fc', '\u00dc');
$replace = array('ç', 'Ç', 'ğ', 'Ğ', 'ı', 'İ', 'ö', 'Ö', 'ş', 'Ş', 'ü', 'Ü');
$outputText=str_replace($search, $replace, $inputText);
return $outputText;
}
# Örnek kullanımı
$text = base64_decode('bWVyaGFiYSBkw7xueWEh'); # Merhaba dünya!
echo transliterateTurkishChars($text);
Umarım başkalarının da işine yarar. İyi forumlar
Hocam merhaba geç dönüş için kusura bakmayın @bilinmez1i
Öncelikle çok teşekkür ederim bu method aklıma gelmemişti ve gerçekten işe yarayacağına eminim.
Birkaç problem var umarım istişare edip çözümleyebiliriz.
Dediğiniz yöntemi uyguladığım zaman base64_decode ile çıktı bu şekilde oluyor:
Gördüğünüz üzere Türkçe karakter sorunum var 😕
Ben araştırmaya ve denemeye devam edeceğim. Aklınıza bir çözüm gelirse dinlemekten mutluluk duyarım. İyi akşamlar