v2.5.2
Giriş yap

PHP ile İşlem Sonrası Aynı Sayfa'da Kalma

gorkem59
487 defa görüntülendi

Bir excelden veri okuyorum ve okuduğum verileri db'ye kaydediyorum. Kaydetme işlemi başarılı oluyor ancak boş bir sayfa geliyor. Linke baktığımda hala aynı sayfadayım, ama sayfamdaki hiç bir eleman gözükmüyor. Exit'den sonra header fonksiyonu ile aynı sayfaya tekrar gitmek istiyorum (belki elemanlarım tekrar gözükür diye) bu sefer de 'Cannot modify header information - headers already sent by ' hatası alıyorum. Bunu nasıl düzeltebilirim bilgisi olan yardımcı olabilir mi?

     if (isset($_FILES['file'])) {
        if ($xlsx = SimpleXLSX::parse($_FILES['file']['tmp_name'])) {
            $dim = $xlsx->dimension();
            $cols = $dim[0];
            foreach ($xlsx->readRows() as $k => $r) {
                for ($i = 0; $i < $cols; $i++) {
                    $dizi[] = $r[$i];
                }
            }
            echo ' tamam';

            $baslanacakDeger = 7;
            for ($i = 1; $i < $xlsx->rows(); $i++) {
                for ($j = $baslanacakDeger; $j <= count($dizi); $j++) {
                    $sorgu = $db->prepare('INSERT INTO veriler SET
                    isim = ?,
                    soyisim = ?,
                    okulno = ?,
                    tc = ?,
                    bolum = ?,
                    form = ?,
                    onay = ?
                    ');

                    if (!empty($dizi[$j])) {
                        $ekle = $sorgu->execute(
                            [
                                $dizi[$j],
                                $dizi[$j + 1],
                                $dizi[$j + 2],
                                $dizi[$j + 3],
                                $dizi[$j + 4],
                                $dizi[$j + 5],
                                $dizi[$j + 6],
                            ]
                        );
                    } else {
                        header('Location:index.php');
                        exit;
                    }

                    $baslanacakDeger += 7;
                    break;
                }
            }
        } else {
            echo SimpleXLSX::parseError();
        }
munzevi
960 gün önce

çıktıyı tamponlarsan sorun ortadan kalkacaktır.

ob_start('yonlendirme');
exit(header('Location:index.php'));
$redirect = ob_get_clean('yonlendirme');
$redirect;