Avatar billede nicklasw Nybegynder
12. januar 2007 - 22:15 Der er 5 kommentarer og
1 løsning

Header may not contain more than a single header, new line detec

Hej eksperter.
Jeg har lavet denne upload og besked form, men den får fejl når billedet endten er for stort eller forkert fil type...
det den skal gøre hvis det er for stort eller forkert fil type så skal den sende en tilbage fra hvor man kom fra men det gør den ikke. den kommer med denne fejl meddelse:
Warning: Header may not contain more than a single header, new line detected.

jeg forstå godt error'en men ikke hvorfor den kommer med den, da jeg ikke syntes jeg kalder header to gange, da det er i en if(){}
her er min kode:

            case "nyhed":
                if(TjekSecID(3)){
                    $overskrift = $_POST['overskrift'];
                    $indhold = $_POST['indhold'];
                    $type = $_POST['type'];
                   
                                            //upload billed
                    /*--------------------------------------*/
                    //få fat i filen
                    $Ufile = $_FILES["file"]["tmp_name"];

                    //lav det om til små bogstaver
                    $ext = strrchr($_FILES["file"]["name"],".");
                    $ext = strtolower($ext);

                    //lav mellemrum om til underscore
                    $name = $_FILES["file"]["name"];
                    $name = str_replace(" ","_",$name);

                    //lav en destination til filen
                    $path = "../img/" . time() . "_" . $name;

                    //lav og tjek sikkerhed
                    $Atypes = array(".gif",".jpg",".jpeg",".bmp",".png");
                    $max_size = 2000000;

                    //tjek om tilladt
                        //tjek om det er tilladt fil type
                    if(in_array($ext,$Atypes) == false)
                    {
                        header("location: ../?p=2275&valg=forside&fejl=file_type&over=$overskrift&indhold=$indhold");
                        exit();
                    }
                        //-----------------------------------------
                        //tjek om tlladt størelse
                       
                    if($_FILES["file"]["size"] <= $max_size)
                    {
                        //flyt filen til dens rigtige placering
                        move_uploaded_file($Ufile,$path);

                        //Ret rettigheden på filen
                        chmod($path,0644);

                        //indsæt i sql DB
                        mysql_query("INSERT INTO news (overskrift,billed,indhold,type) VALUES ('$overskrift','$path','$indhold','$type')");

                        //send tilbage
                          header("location: ../");
                          exit();
                    }else{
                        header("location: ../?p=2275&valg=forside&fejl=file_size&over=$overskrift&indhold=$indhold");
                        exit();
                    }
            }

håber i kan hjælpe mig da det irrettere mig vildt meget...

M.V.H Nicklas
Avatar billede erikjacobsen Ekspert
12. januar 2007 - 22:18 #1
Måske har du et linieskift i $indhold? Man kan iøvrigt ikke sende mere end nogle få KB tegn i en URL.
Avatar billede nicklasw Nybegynder
12. januar 2007 - 22:20 #2
du har ret, det når der er linjeskift... havde jeg ikke lige opdaget...
hvordan kan jeg ellers sende brugeren tilbage, med hans text så han ikke skal skrive det hele om?
Avatar billede erikjacobsen Ekspert
12. januar 2007 - 22:21 #3
Du kan gemme teksten på serveren (fx i databasen - der ender den jo alligevel på et tidspunkt, formentlig). Eller gem teksten i en sessionsvariabel.
Avatar billede nicklasw Nybegynder
12. januar 2007 - 22:25 #4
når ja kan jeg selvfølelig... tror jeg nupper Sessions...
det var jo meget hurtigt... bare lig et svar... hehe
Avatar billede erikjacobsen Ekspert
12. januar 2007 - 22:32 #5
Jeg samler ikke på point, tak.
Avatar billede nicklasw Nybegynder
12. januar 2007 - 22:37 #6
okay... men så bare et stort tak, istedet... hehe
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester