Ben onuda yazacaktım fakat fark etmez diye düşündüm çünkü bende aynısını yaptığım yer ve zamanlar oldu

Bu sayfada get parametresi göndermeden header fonksiyonunu kullanıp tekrar deneyebilir misin?
Ek: Hocam hata bastırma metotlarını kullanarak php kodunun çıktısını alıp atabilir misin? Belki tek satır kuralını bozan parametrelerin ta kendisi olabilir.
Ek 2: Durum böyleyse urlencode uygulamalısın ->
https://www.php.net/urlencode
Ek 3: Yakalayacağın sayfada decode etmeyi unutma ->
https://www.php.net/manual/tr/function.urldecode.php
birinci çözüm sayfa başına ob_start(); ekle
yada
notpad++ ile ut8 bomsuz olarak kaydet sayfası düzelecektir.
$provider_id=$_POST['provider_id'];
Bu satırdan gelen provider_id değeri içerisinde n işareti içeriyor olabilir. başına (int) ekleyerek deneyin.
$provider_id = (int) $_POST['provider_id'];
header fonksiyonu kendisinden önce çıktı verilmeden çalıştırılmalıdır. Eğer kendisinden önce herhangi bir echo, print, var_dump gibi çıktı dönen fonksiyonlar olmamalı. HTML kodları da olmamalı onlar da bir çıktı. Genellikle <?php tagını açmadan önce ufak bir boşluk veya bir satır olması bu sorunu tetikleyebilir. include ettiğiniz dosyaları da aynı şekilde kontrol edin. Bu durum olmadığı sürece böyle bir hata almayacaksınız. Tavsiyem connect.php'deki kodları kontrol et ve herhangi bir output verip vermediğini incele.
Ne yazık ki önerilerinizi denedim ancak çare olmadı. Dosyaları aşağıya bırakıyorum. Gerçekten çözemedim kaç gündür. PHP konusunda kendimi geliştirmeye çalışıyorum. Emrah Yüksel'in Udemy üzerindeki PHP kursunu izleyerek bir uygulama yapmaya çalışıyorum ancak burada tıkandım.
admin_edit_provider.php
https://www.codepile.net/pile/nk5VbW0N
submit.php
https://www.codepile.net/pile/1kOXVg2g
connect.php
https://www.codepile.net/pile/r0y4ZAkp