zentamedia adlı üyeden alıntı: mesajı görüntüle
  1. prepare() yöntemini çağırdıktan sonra, verileri bağlamak için bindParam() yöntemini kullanmanız gerekiyor.
$islem = $db->prepare("INSERT INTO misafir SET ads = ?");
$islem->bindParam(1, $ads);
$islem->execute();
Burada $ads, her bir adı içeren bir değişken olarak düşünülmelidir. Yani foreach döngüsü içinde $ads değişkeni, her döngüde farklı bir adı temsil edecek şekilde değiştirilmelidir.
  1. $inputsay değişkenini her döngüde artırıyorsunuz, ancak bu değişkeni kodunuzun geri kalanında kullanmıyorsunuz. Bu değişkeni kullanmaya niyetiniz varsa, her bir input alanına name özniteliği ekleyerek kullanabilirsiniz.
<input type="text" class="form-control" name="ads[<?php echo $inputsay; ?>]" required="" placeholder="Adınız" value="<?php if(isset($_SESSION['kullanici']['login'])){ echo $kullanici['ads']; } ?>">
Bu şekilde, $_POST['ads'] dizisi, her bir ad için bir anahtar indeks içerecektir.
Son olarak, if(isset($_SESSION['kullanici']['login'])){...} kontrol yapısını her döngüde kullanıyorsunuz, ancak bu durum, oturum açılıp açılmadığını her seferinde kontrol etmenize neden olacaktır. Bu kontrolleri başka bir yerde yaparak, kodunuzu daha verimli hale getirebilirsiniz.
Bindparam zorunlu değil hocam.