Avatar billede newbie_dk Nybegynder
26. marts 2004 - 12:25 Der er 12 kommentarer og
1 løsning

header location problem!

Jeg har et problem med min header, det er lidt svært at forklare men jeg giver det et prøv..

Sagen er den at jeg har lavet et forum, hvor man selvfølgelig kan oprette brugere, spørgsmål og svar.. Men jeg prøver at finde ud af hvordan jeg kan gøre mine header locations dynamiske, istedet for statiske...
For jeg vil lave nogle fejl medelelser, til når man f.eks. ikke skriver en overskrift til sit indlæg, og umiddelbart er den eneste måde jeg kender, at sende denne fejl i url'en, via error=noget (gider ikke bruge sessions eller cookies til det). Men da headeren bliver defineret i toppen af siden, så undre jeg mig lidt over hvordan jeg kan ændre denne...
Avatar billede photop Nybegynder
26. marts 2004 - 12:33 #1
Hvad med at bruge en output-buffer.
Start dit script med ob_start()
Herefter bliver der ikke sendt noget fra scriptet udover headers før du afslutter scriptet med ob_end_flush(). På den måde sikrer du dig at alle headers bliver afsendt som det første!

http://dk.php.net/ob_start
Avatar billede newbie_dk Nybegynder
26. marts 2004 - 12:38 #2
Mit problem er jo lige netop at headeren bliver sendt som noget af det første..

Problemet er at headeren er defineret og sendt, inden at scriptet finder ud af om der er nogen fejl!! =(
Avatar billede photop Nybegynder
26. marts 2004 - 12:41 #3
Så melder jeg pas...
Avatar billede newbie_dk Nybegynder
26. marts 2004 - 12:42 #4
øv... nåmen ellers tak for forsøget...
Avatar billede detox Nybegynder
26. marts 2004 - 12:46 #5
Skulle vel ikke være noget problem, bare du sørger for der ikke er noget output inden du bruger: header(). Du kan jo sagtens udføre dit php inden HTML.
Avatar billede newbie_dk Nybegynder
26. marts 2004 - 13:08 #6
selv om jeg gør det, så får jeg stadig den gode gamle, cannot modify header information fejl...
Avatar billede detox Nybegynder
26. marts 2004 - 13:33 #7
Så har du output inden header() kaldet. Prøv at post lidt kode.
Avatar billede newbie_dk Nybegynder
26. marts 2004 - 13:42 #8
session_start();
        $user_id = $_SESSION['user_id'];

        $url = $_SERVER['REQUEST_URI'];
        list (, $subdir, $filename) = split('[/]', $url);
        $url = $filename;

        $show = $_GET[show];


        header("Cache-control: private");

        include './config.php';               
        database_login();

      if ( $show == "view_post" ) {


        if (isset($_POST["add_answer"])){

                $post_text = $_POST["post_answer"];

                if ( $post_text == "" ) {

                        $error = "Du mangler at indtaste et svar";

                        } else {

                $dato = strtotime($result['dato']);
                $dato1 = date("j-n-Y",$dato);
                $answer_author_id = $user_id;
                $post_id = $_GET["post_id"];

                $insertSQL = "insert into forum_answers (post_id, answer_author_id, answer_date, answer_text)
                values ('$post_id', '$answer_author_id', '$dato1', '$post_text')";
                mysql_query($insertSQL);

       
               
                }}
Avatar billede detox Nybegynder
26. marts 2004 - 14:38 #9
Hvor fejler den og hvilken fejlmeddelelse, mere præcist.
Avatar billede detox Nybegynder
26. marts 2004 - 14:40 #10
Jeg kan ikke se nogen: header('Location:......');
Avatar billede newbie_dk Nybegynder
26. marts 2004 - 16:12 #11
hmmm... jeg fik løst problemet.....
Avatar billede newbie_dk Nybegynder
26. marts 2004 - 16:29 #12
tak for hjælpen
Avatar billede newbie_dk Nybegynder
01. august 2006 - 15:09 #13
luk
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