Merhabalar,

Başlık karmaşık biliyorum.

Localde çalıştığımızda kodda herhangi bir sıkıntı olmadığını görüyoruz. Bunu başka local sunucularda da denedik. Lakin projeyi online sunucuya alınca birkaç sorunla karşılaşıyoruz. Birkaç sorunun sebebi de aslında aynı hata.

Aşağıdaki kod localde bizim yazdığımız ve hatasız şekilde çalışan kod:

<?php for ($i = 0; $i < 8; $i++) { ?>
    <?php
    $query = $pdo->prepare("SELECT {$belgeler[$i]} FROM ihbarlar WHERE id=?");
    $query->execute([$_GET["id"]]);
    $ihbarcek = $query->fetch(); ?>
    <div class="form-group">
        <label for="exampleInputFile"><?= $belgeler[$i]; ?></label>
        <div class="input-group">
            <div class="custom-file">
                <input name="file<?= $i + 1; ?>" type="file" class="custom-file-input is-<?= (isset($ihbarcek[$belgeler[$i]])) ? "valid" : "warning"; ?>" id="exampleInputFile" accept=".jpg,.jpeg">
                <label class="custom-file-label" for="exampleInputFile"><?= (isset($ihbarcek[$belgeler[$i]])) ? "Dosya Mevcut" : ".jpg  formatında olmasına dikkat edin!"; ?></label>
            </div>
        </div>
    </div>
<?php } ?>
Yukarıdaki kodu online sunucuya attığımızda hata alıyoruz. Hata ise, yukarıdaki kodun başına gelince kodu kesiyor ve kendisinden sonra gelen hiçbir kodu çalıştırmıyor. 561. satırdan sonraki kodlar gözükmüyor. Resim aşağıdadır:

Lakin kodu aşağıdaki gibi düzelttiğimde kodun sıkıntısız şekilde çalıştığını görüyorum.
<?php for ($i = 0; $i < 8; $i++) { ?>
    <?php
    $query = $pdo->prepare("SELECT {$belgeler[$i]} FROM ihbarlar WHERE id=?");
    $query->execute([$_GET["id"]]);
    $ihbarcek = $query->fetch();
    $belge = $belgeler[$i];
    $kosul = isset($ihbarcek->$belge); ?>
    <div class="form-group">
        <label for="exampleInputFile"><?= $belge; ?></label>
        <div class="input-group">
            <div class="custom-file">
                <input name="file<?= $i + 1; ?>" type="file" class="custom-file-input is-<?= (strlen($ihbarcek->$belge) >= 1) ? "valid" : "warning"; ?>" id="exampleInputFile" accept=".jpg,.jpeg">
                <label class="custom-file-label" for="exampleInputFile"><?= (strlen($ihbarcek->$belge) >= 1) ? "Dosya Mevcut" : ".jpg formatında olmasına dikkat edin!"; ?></label>
            </div>
        </div>
    </div>
<?php } ?>
İki kodun tek farkı koşulları direkt yazmak yerine değişkene kaydedip öyle koşula sokmam. Daha doğrusu ben şuana kadar böyle çözebildim.
Bu soruna ilk defa yaşıyorum sebebi ne olabilir.

Not: Hosting şirketi ile iletişime geçtim lakin yazılım departmanları olmadığı için sonuç veremediler. Deneme amaçlı profree host'da denedim onda da aynı hatayı aldım.