• 21-01-2023, 19:09:31
    #1
    Merhabalar Veritabanına kayıt yaparken "Uninitialized string offset: 1 in" hatası alıyorum. Sebebi ne bunun?
  • 21-01-2023, 19:23:13
    #2
    Hatanın sebebi veritabanına kayıt yaparken boş dize kaydediyor olmasıymış. Peki aşağıdaki kodlarla veritabanına kayıt yaparken hem sadece 1-9 arası sayıyı kaydediyor hem de bu hatayı alıyorum. Resme bakın. 2. satırdaki verilerden "eskifiyat, yenifiyat, indirimlifiyat, urunsayısı" nı 0 (sıfır) olarak kaydediyor. 2. satırın bu verilerini 1. satıra kaydediyor. Yani

    elma, vitamin, meyve, 10, 20, 30, 40, kasa
    armut, vitamin, meyve, 50, 60, 70, 80, kasa olması gerekirken

    elma, vitamin, meyve, 5, 6, 7, 8, kasa
    armut, vitamin, meyve, 0, 0, 0, 0, kasa olarak kaydediyor.

    if(isset($_POST['eklemeyap'])) {
      $ad = $_POST['ad'];
      $ozellik = $_POST['ozellik'];
      $kategori = $_POST['kategori'];
      $eskifiyat = $_POST['eskifiyat'];
      $yenifiyat = $_POST['yenifiyat'];
      $indirimlifiyat = $_POST['indirimlifiyat'];
      $urunsayisi = $_POST['urunsayisi'];
      $urunalani = $_POST['urunalani'];
      foreach($ad as $index => $names) {
        $s_name = $names;
        $s_ozellik = $ozellik[$index];
        $s_kategori = $kategori[$index];
        $s_eskifiyat = $eskifiyat[$index];
        $s_yenifiyat = $yenifiyat[$index];
        $s_indirimlifiyat = $indirimlifiyat[$index];
        $s_urunsayisi = $urunsayisi[$index];
        $s_urunalani = $urunalani[$index];
        $sorgualani = "INSERT INTO indexsayfaurun (urun_ad, urun_ozellik, urun_kategori, urun_eskifiyat,
                                                  urun_yenifiyat, urun_indirimlifiyat, urun_sayisi,
                                                  urun_alani) VALUES ('s_name', 's_ozellik', 's_kategori',
                                                  's_eskifiyat', 's_yenifiyat', 's_indirimlifiyat',
                                                  's_urunsayisi', 's_urunalani')";
        $sorgu = mysqli_query($db, $sorgualani);
        if($sorgu) {
          echo "tamam";
        } else {
          echo "olmadı";
        }
      }
    }
  • 21-01-2023, 20:38:09
    #3
    Form'un name kısımlarına verdiğim değerler için [] işaretlerini koymamışım. Ondan kaynaklanıyormuş.