foreach ile post çoklu post ??? ACİL
19
●399
- 25-05-2020, 13:57:30Evet benim için gayet iyi bir destek oldu faydalı oldu gercekten biraz değiştirmek zorunda kaldım şimdi kaydetme aşamasındaAbdullahx adlı üyeden alıntı: mesajı görüntüle
$value['soru_id'],
$value['aksiyon'],
$value['sicil'],
$value['uye_ad'],
$value['uye_soyad'],
şu şekilde kullanım için hata veriyor acaba ben postlarımı yanlış çekiyorum diye düşündüm fakat postlarda dogruydu ama hata veriyor
////////////////////////////////////////////////////////////////////////////////////////////////////
Warning: Illegal string offset 'soru_id' in .../kaydet.php on line 95
Warning: Illegal string offset 'aksiyon' in .../kaydet.php on line 96
Warning: Illegal string offset 'sicil' in .../kaydet.php on line 97
Warning: Illegal string offset 'uye_ad' in .../kaydet.php on line 98
Warning: Illegal string offset 'uye_soyad' in .../kaydet.php on line 99
Warning: Illegal string offset 'uye_bolum' in .../kaydet.php on line 100
Warning: Illegal string offset 'uye_birim' in .../kaydet.php on line 101
Warning: Illegal string offset 'santral_il' in .../kaydet.php on line 102
Warning: Illegal string offset 'santral_ilce' in .../kaydet.php on line 103
Warning: Illegal string offset 'santral_adi' in .../kaydet.php on line 104
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in .../kaydet.php on line 104
////////////////////////////////////////////////////////////////////////////////////////////////////
kaldığım noktadan epey ilerledim fakat burda kaldım henüz arastırıyorum nasıl yaparım diye - 25-05-2020, 14:14:48Aslına bakarsanız tecrübenizden yazdıklarınızın mantıklı olduğunu düşünüyorum lakin post etme sebebim hem kodları gruplayabilmek hemde asıl amacım aynı sayfa içinde birçok soru cevap çıkıp post post işleminin karışmaması bu yazdığım da pek mantıklı değildi ama böyle yaptım peki post etmenin bir sakıncası varmıdır. ?bluexpres adlı üyeden alıntı: mesajı görüntüle
Açıkcası yapmam gereken
kişi uye bilgileriyle giriş yaptığı zaman
kotnrol et --> butonuna tıklandığında daha önce fiziksel yapılmış işin standartlarını tekrar check edebilmek için bazı sorular çıkıyor sorular db de kayıtlı bölüm birime göre farklı sayılarda soru çıkıyor ve altlarında o işle alakalı yapılması gerekn birşey varsa evet butonunu tıklayınca textarea butonu açılıp yapılması gerekenler yazılıp bir sonraki soruya geçiyor ortalama 20 soru var ben şu anda foreach ile listelemeyi db den çekip kaydet.php ye dizi olarak post edip print_r ile tüm istediklerimialabildiğimi görüyorum.Bu aşamada insert işlemini yaptırmak kalıyor onu birkaç değişik şekilde denememe ragmen arastırmaya devam ediyorum ama sonuç elde edemedim.
//////////////////////aldığım hata///////////////////////////////////////
Warning: Illegal string offset 'soru_id' in .../kaydet.php on line 95
Warning: Illegal string offset 'aksiyon' in .../kaydet.php on line 96
Warning: Illegal string offset 'sicil' in .../kaydet.php on line 97
Warning: Illegal string offset 'uye_ad' in .../kaydet.php on line 98
Warning: Illegal string offset 'uye_soyad' in .../kaydet.php on line 99
Warning: Illegal string offset 'uye_bolum' in .../kaydet.php on line 100
Warning: Illegal string offset 'uye_birim' in .../kaydet.php on line 101
Warning: Illegal string offset 'santral_il' in .../kaydet.php on line 102
Warning: Illegal string offset 'santral_ilce' in .../kaydet.php on line 103
Warning: Illegal string offset 'santral_adi' in .../kaydet.php on line 104
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in .../kaydet.php on line 104
----
//////////////////////kodun db kısmı////////////////////////////////
foreach ($_POST as $key => $value ) {
$yaz = $db->prepare("INSERT INTO kayit
(kurulum_soru_id,aksiyon,aciklama,uye_sicil_numara si,uye_ad,uye_soyad,uye_bolum,uye_birim,santral_il ,santral_ilce,santral_adi) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)");
$yaz->execute([
$value['soru_id'],
$value['aksiyon'],
$value['sicil'],
$value['uye_ad'],
$value['uye_soyad'],
$value['uye_bolum'],
$value['uye_birim'],
$value['santral_il'],
$value['santral_ilce'],
$value['santral_adi']
]);
//////////////////////kodun db kısmı////////////////////////////////
NOT: Acemiden bir tık belki ilerdeyim fakat bi ka proje ve site tarzım işim var bütün bilgilerimi internet üzerinden youtube udemy ile geliştirdim severekde uğraşıyorum ama soracak yol gösterecek birşey olmadımı da insan pes etme noktasına geliyor bu arada bu işi para için yapmıyorumhobi asıl işim bu değil
biraz sıkmış olabilirim bu kadar soru sormamın ssebebini yazmak istedim
teşekürler.....!
Teşekkürler biraz daha uğraşıp çözmeye çalışayım olmadı yine yardımlarınıza basvurucam iyi bayramlar dilerim herkeseAbdullahx adlı üyeden alıntı: mesajı görüntüle - 25-05-2020, 23:17:34Merhaba,
foreach ($_POST as $key => $value )
Tam emin değilim ama $_POST'lar multi dimensional sanırım. Değilse burada key post edilen değişkeni value de düzeyi verir. yani ;
$_POST['soru_id'] = 4 ise $key soru_id value 4 verir.
altta $value['soru_id'] kullanımınız yanlış. ondan illegal offset alıyorsunuz. Ama soru_id name'li birden fazla input'unuz varsa illegal almamanız lazım. Bence test etmek için print_r gibi fonksiyonlarla gelen değerlerinizi bir kontrol edin.
Ben net anlayamadım mevzuları. Belki ekran görüntüsü html dizilimi ya da varsa canlı link atarak daha net aktarabilirsiniz sorunu.
Araştırarak öğrenmeniz güzel bence iyi bi noktadasınız. sadece deneyime dayalı bazı algoritmik eksiklikler var gibi. Onları da pratik yaparak çözersiniz. - 26-05-2020, 20:36:18Merhaba tavsiyeleriniz ile epey yol katettim print_r ile de verileri çekebildiğimi görmekteyimbluexpres adlı üyeden alıntı: mesajı görüntüle
..vaue-->Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 [10] => 11 [11] => 12 [12] => 13 [13] => 14 [14] => 15 [15] => 16 [16] => 23 [17] => 30 [18] => 43 [19] => 49 )
**key-->Cevap---
..vaue-->Array ( [0] => 1.soru cevabı [1] => 2.soru cevabı [2] => 3.soru cevabı [3] => boş [4] => boş [5] => boş [6] => boş [7] => boş [8] => boş [9] => cevap cevap cevap [10] => cevap cevap cevap [11] => cevap cevap cevap [12] => boş [13] => boş [14] => boş [15] => boş [16] => boşş [17] => boşl [18] => boş [19] => 49 nolu id sorusunun cevap textarea sı )
bu şekilde geliyor şimdi de array veri olmasa postları ayrı ayrı yakalayabilsem direk insert ile value degerlerini db ye kaydedicem lakin bu arraylar haricinde tabloya aynı anda işlemem gereken
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
her soru için
--------------------------|uye_adi | sicil_no | sehir | ilce | soru_id($key) | soru_cevabi($value) |
bu alanları her soru için |ahmet | 19098 | bursa | nilüfer | 1.soru | 1.cevap |
bu alanları her soru için |mehmet| 11097 | izmir | konak| 2.soru | 2.cevap |
bu alanları her soru için |hasan| 14087 | ankara | merkez| 3.soru | 3.cevap |
gibi ki daha fazla field var lakin örnek olsun ve daha iyi anlatabileyim diye yazdım
array verileri bu şekilde nasıl kaydedebilirim yine araştırmaya devam ediyorum. Yardımcı olursanız sevinirim.
iyi çalışmalar - 28-05-2020, 01:25:17Merhabalar
yaşadığım sıkıntı yı sizlerin yardımlarıyla sonunda çözebildim.Herkese Teşekkürler.
arayan olursa diye yazıyorum
foreach ile yapmadım while ile listeleyip kaydet php ye gönderdim
sonra kaydet php de count()
ile kaç post geldiğini gördüm sonra print_r ile geleni test edttim sonra for döngüsü altında insert işlemi pdo ya göre yaptım sadece iki gelen postumu hem post ederken hemdeyakalarken name[] olarak aldım ve sorun bu şekilde hallolmuş oldu ama bu sayede zamanında hiç sevmediği array larıda epey pekiştirdim...
- 29-05-2020, 02:36:26Tebrikler ellerinize sağlık, çözülmesine sevindim. İleri programlama açısından doğru bir yol değil. Ama bunu bu şekilde çözmüş olmak ileri programlama için temel de oluşturmuş olmak demek. Bu alana yatkınsınız bence daha da ilerleyeceksinizdir.TeknoCinim adlı üyeden alıntı: mesajı görüntüle
İyi çalışmalar. - 30-05-2020, 02:23:17Peki hocam ileri progralama için doğru yol tavsiyeniz nedir?bluexpres adlı üyeden alıntı: mesajı görüntüle
biraz sıkmış olabilirim bu kadar soru sormamın ssebebini yazmak istedim