v2.5.2
Giriş yap

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

gorkem59
361 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();
        }
Cevap yaz
Cevaplar (2)
munzevi
723 gün önce

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

ob_start('yonlendirme');
exit(header('Location:index.php'));
$redirect = ob_get_clean('yonlendirme');
$redirect;
gokcin
723 gün önce

Farklı bir kod yapısından etkilenip yönlendirme işlemi yapıyor olabilir, bu işlemi ajax ile yapabilirsin