Okay, der er et par ting der går galt her, og fejlmeddelelserne fortæller faktisk det hele, hvis man studerer dem godt nok.
Du får 3 fejlmeddelelser:
Notice: Undefined index: profilbillede in /home/jesperbo/public_html/,,,,.dk/activate_updater.php on line 8
Notice: Undefined index: file in /home/jesperbo/public_html/,,,,.dk/activate_updater.php on line 37
Warning: Cannot modify header information - headers already sent by (output started at /home/jesperbo/public_html/,,,,.dk/activate_updater.php:8) in /home/jesperbo/public_html/,,,,.dk/activate_updater.php on line 48
Fejl nr. 1 (linie 8):
- $handle = new Upload($_FILES['profilbillede']);
Dit upload input hedder "file", ikke "profilbillede".
Fejl nr. 2 (linie 37):
- $profilbillede = $_POST["file"];
"file" oprettes i $_FILES, ikke $_POST. Desuden vil du i dette tilfælde nok have fat i din $pb variabel.
Fejl nr. 3 (linie 48):
- header("Location: http://,,,.dk/logind/");
Dit kald til header() fungerer ikke, fordi der allerede er sendt output til browseren. De to første fejlmeddelelser tæller nemlig også som output, da de trods alt bliver sendt som HTML til browseren. Fejlmeddelelsen fortæller sågar hvornår dit output startede: linie 8, hvor første fejlmeddelelse udskrives, fordi dit input hedder "file", ikke "profilbillede".
Når du får rettet det vil PHP dog stadig brokke sig, såfremt din upload lykkes, da du på linie 24 og 25 sender tekst til browseren (echo). Så vil dit kald til header på linie 48 igen mislykkes. For at løse det, kan du benytte dig af output buffering, som tidligere nævnt, eller omstrukturere din kode, så dit kald til header ligger før nogen som helst form for output.