Warning: Invalid argument supplied for foreach() in on line
51 hatası alıyorum
Kodum
$FilmTur = $_POST['filmtur'];
$dizi= implode(",", $FilmTur);
foreach ($dizi as $key) {
Eğer $_POST['filmtur']; array olarak gelmiyorsa bunu implode yapamazsınız. Implode fonksiyonu belirlenen ayıraç ile dizideki elemanları ayırır. Eğer inputtan virgülle ayırarak gönderiyorsanız burada explode kullanmanız gerekmekte. Explode fonksiyonunu kullandıktan döngüye sokarak satır satır veritabanına ekleyin.
$FilmTur = $_POST['filmtur'];
$dizi= explode(",", $FilmTur);
foreach ($dizi as $key) {
//Insert
}Satır satır eklemek istiyorsanız tavsiyem belirlediğiniz kadar checkbox ekleyin ve checkbox name'lerini "filmtur[]" olarak ayarlayın. $_POST['filmtur'] olarak aldığınızda otomatik olarak dizi şeklinde alacaktır.
$FilmTur = $_POST['filmtur'];
foreach ($FilmTur as $key) {
//Insert
}Yine array olarak geliyorsa ve tek sütuna virgül ile ayırarak eklemek istiyorsanız;
$FilmTur = $_POST['filmtur'];
$virgulleayirma= implode(",", $FilmTur);
// Insert $virgulleayirmaEdit: Cevabı biraz fazla editledim ama anlaşılabillir olmasını istedim. Anlatamadıysam kusuruma bakmayın.