Header help

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • DaRemedy

    Header help

    Hiya, just need help with PHP headers.

    I have an index php page which has the following code within a header
    redirect:

    <?php
    if ( empty($_GET['month']) )
    if (empty($_GET['year']) )
    {
    $month = date(n);
    $year = date(Y);
    header("Locatio n: index.php?month =$month&year=$y ear");
    }
    ?>

    On the same index.php page, I have a shoutbox (include file) which inputs
    the content of the shoutbox form into a database. After the user fills out
    the form, I want the index page to refresh again because if I leave it as it
    is and a user inputs info into the form, if they press refresh, the form
    resubmits thus recording two entries into the shoutbox, or however many
    times refresh is pressed.

    When I add a header redirect into the shoutbox include file, once the user
    clicks on send, index.php throws a headers cannot be sent error message.

    Can anyone help?

    Cheers.



  • Janwillem Borleffs

    #2
    Re: Header help

    DaRemedy wrote:[color=blue]
    > Hiya, just need help with PHP headers.
    >[/color]

    Multi-posting to at least three different news groups, it looks like you
    need some help posting to usenet properly to...

    If you want to post to more than 1 newsgroup, use the Newsgroups: field to
    compose a comma-seperated list of target news groups. This procedure is
    called "Cross-posting" and prevents individual threads on the same topic.
    See the headers of this reply.
    [color=blue]
    > When I add a header redirect into the shoutbox include file, once the
    > user clicks on send, index.php throws a headers cannot be sent error
    > message.
    >[/color]

    To quote the manual page at http://www.php.net/header:

    "Remember that header() must be called before any
    actual output is sent, either by normal HTML
    tags, blank lines in a file, or from PHP. It is a
    very common error to read code with include(), or
    require(), functions, or another file access function,
    and have spaces or empty lines that are output before
    header() is called. The same problem exists when using
    a single PHP/HTML file."


    JW



    Comment

    • DaRemedy

      #3
      Re: Header help

      I do apologise for cross posting.

      "Janwillem Borleffs" <jw@jwscripts.c om> wrote in message
      news:415729d9$0 $61750$abc4f4c3 @news.euronet.n l...[color=blue]
      > DaRemedy wrote:[color=green]
      > > Hiya, just need help with PHP headers.
      > >[/color]
      >
      > Multi-posting to at least three different news groups, it looks like you
      > need some help posting to usenet properly to...
      >
      > If you want to post to more than 1 newsgroup, use the Newsgroups: field to
      > compose a comma-seperated list of target news groups. This procedure is
      > called "Cross-posting" and prevents individual threads on the same topic.
      > See the headers of this reply.
      >[color=green]
      > > When I add a header redirect into the shoutbox include file, once the
      > > user clicks on send, index.php throws a headers cannot be sent error
      > > message.
      > >[/color]
      >
      > To quote the manual page at http://www.php.net/header:
      >
      > "Remember that header() must be called before any
      > actual output is sent, either by normal HTML
      > tags, blank lines in a file, or from PHP. It is a
      > very common error to read code with include(), or
      > require(), functions, or another file access function,
      > and have spaces or empty lines that are output before
      > header() is called. The same problem exists when using
      > a single PHP/HTML file."
      >
      >
      > JW
      >
      >
      >[/color]


      Comment

      • DaRemedy

        #4
        Re: Header help

        Even if I add the headers before any html output and making sure that there
        is no whitespace, the header still doesn't work, is it because the header o
        the index.php page is already being called? how do I get around it?

        Many thanks.

        "DaRemedy" <demonnet@btint ernet.com.nospa m> wrote in message
        news:cj7e8l$49r $1@titan.btinte rnet.com...[color=blue]
        > I do apologise for cross posting.
        >
        > "Janwillem Borleffs" <jw@jwscripts.c om> wrote in message
        > news:415729d9$0 $61750$abc4f4c3 @news.euronet.n l...[color=green]
        > > DaRemedy wrote:[color=darkred]
        > > > Hiya, just need help with PHP headers.
        > > >[/color]
        > >
        > > Multi-posting to at least three different news groups, it looks like you
        > > need some help posting to usenet properly to...
        > >
        > > If you want to post to more than 1 newsgroup, use the Newsgroups: field[/color][/color]
        to[color=blue][color=green]
        > > compose a comma-seperated list of target news groups. This procedure is
        > > called "Cross-posting" and prevents individual threads on the same[/color][/color]
        topic.[color=blue][color=green]
        > > See the headers of this reply.
        > >[color=darkred]
        > > > When I add a header redirect into the shoutbox include file, once the
        > > > user clicks on send, index.php throws a headers cannot be sent error
        > > > message.
        > > >[/color]
        > >
        > > To quote the manual page at http://www.php.net/header:
        > >
        > > "Remember that header() must be called before any
        > > actual output is sent, either by normal HTML
        > > tags, blank lines in a file, or from PHP. It is a
        > > very common error to read code with include(), or
        > > require(), functions, or another file access function,
        > > and have spaces or empty lines that are output before
        > > header() is called. The same problem exists when using
        > > a single PHP/HTML file."
        > >
        > >
        > > JW
        > >
        > >
        > >[/color]
        >
        >[/color]


        Comment

        • J.O. Aho

          #5
          Re: Header help

          DaRemedy wrote:[color=blue]
          > Even if I add the headers before any html output and making sure that there
          > is no whitespace, the header still doesn't work, is it because the header o
          > the index.php page is already being called? how do I get around it?[/color]

          You have to be sure there aren't any whitespaces or html output on files that
          are included too.

          If you have more tha one header in the same file and they try to do simlare
          things you will run into a conflict (think the first one is the one that will
          be executed).

          Comment

          • Sippy

            #6
            Re: Header help

            Cheers for that,

            I managed to get it sorted using an 'if statement'. I made is so that if the
            shoutbox form is sent then to go to back index.php otherwise go to
            index.php?month =$month&year=$y ear. Telling the form to go back to index.php
            would call the month and year variables anyway, using:
            <?php
            (if form is sent do this) {
            header("Locatio n: index.php");
            } else {
            if ( empty($_GET['month']) )
            if (empty($_GET['year']) )
            {
            $month = date(n);
            $year = date(Y);
            header("Locatio n: index.php?month =$month&year=$y ear");
            }
            ?>

            Cheers for the help guys, really do appreciate it.

            "J.O. Aho" <user@example.n et> wrote in message
            news:2rpg9cF1d0 h92U1@uni-berlin.de...[color=blue]
            > DaRemedy wrote:[color=green]
            >> Even if I add the headers before any html output and making sure that
            >> there
            >> is no whitespace, the header still doesn't work, is it because the header
            >> o
            >> the index.php page is already being called? how do I get around it?[/color]
            >
            > You have to be sure there aren't any whitespaces or html output on files
            > that are included too.
            >
            > If you have more tha one header in the same file and they try to do
            > simlare things you will run into a conflict (think the first one is the
            > one that will be executed).[/color]


            Comment

            • Michael Fesser

              #7
              Re: Header help

              .oO(Sippy)

              One more thing:
              [color=blue]
              >header("Locati on: index.php?month =$month&year=$y ear");[/color]

              The Location-header requires an absolute address, including the scheme
              (http://) and hostname.

              Micha

              Comment

              • DaRemedy

                #8
                Re: Header help

                Thanks Michael,

                Is it absolutely nessecary to use an absolute address? because the code i
                posted in an earlier post seems to work fine without any problems.

                What I would really need to do is to change the header redirect slightly to
                redirect to the same page that the shoutbox was filled in from, e.g. the
                shoutbox was filled in from, lets say, the about.php page, so I would want
                the shoutbox to go back to that particular page after the form is submitted.
                Would I need to use $_SERVER['PHP_SELF'];

                Cheers.

                Sippy.

                "Michael Fesser" <netizen@gmx.ne t> wrote in message
                news:fapgl0p1a6 ss3i74prbfacvv9 cak8i36cj@4ax.c om...[color=blue]
                > .oO(Sippy)
                >
                > One more thing:
                >[color=green]
                > >header("Locati on: index.php?month =$month&year=$y ear");[/color]
                >
                > The Location-header requires an absolute address, including the scheme
                > (http://) and hostname.
                >
                > Micha[/color]


                Comment

                • Michael Fesser

                  #9
                  Re: Header help

                  .oO(DaRemedy)
                  [color=blue]
                  >Is it absolutely nessecary to use an absolute address? because the code i
                  >posted in an earlier post seems to work fine without any problems.[/color]

                  It works in most browsers (doesn't necessarily mean it'll work in all),
                  but a full address is required by the HTTP specification (RFC 2616):

                  "The field value consists of a single absolute URI."

                  In the PHP manual there's a little example on how to add scheme and
                  hostname automatically to build an absolute address from a relative one
                  for an RFC-compliant Location-header.


                  [color=blue]
                  >What I would really need to do is to change the header redirect slightly to
                  >redirect to the same page that the shoutbox was filled in from, e.g. the
                  >shoutbox was filled in from, lets say, the about.php page, so I would want
                  >the shoutbox to go back to that particular page after the form is submitted.
                  >Would I need to use $_SERVER['PHP_SELF'];[/color]

                  Yep.

                  Micha

                  Comment

                  • DaRemedy

                    #10
                    Re: Header help

                    Cheers matey, I really do appreciate your help.

                    "Michael Fesser" <netizen@gmx.ne t> wrote in message
                    news:1ntgl0l368 vrqt06t56r5qd5c oneu8k0sm@4ax.c om...[color=blue]
                    > .oO(DaRemedy)
                    >[color=green]
                    > >Is it absolutely nessecary to use an absolute address? because the code i
                    > >posted in an earlier post seems to work fine without any problems.[/color]
                    >
                    > It works in most browsers (doesn't necessarily mean it'll work in all),
                    > but a full address is required by the HTTP specification (RFC 2616):
                    >
                    > "The field value consists of a single absolute URI."
                    >
                    > In the PHP manual there's a little example on how to add scheme and
                    > hostname automatically to build an absolute address from a relative one
                    > for an RFC-compliant Location-header.
                    >
                    > http://www.php.net/header
                    >[color=green]
                    > >What I would really need to do is to change the header redirect slightly[/color][/color]
                    to[color=blue][color=green]
                    > >redirect to the same page that the shoutbox was filled in from, e.g. the
                    > >shoutbox was filled in from, lets say, the about.php page, so I would[/color][/color]
                    want[color=blue][color=green]
                    > >the shoutbox to go back to that particular page after the form is[/color][/color]
                    submitted.[color=blue][color=green]
                    > >Would I need to use $_SERVER['PHP_SELF'];[/color]
                    >
                    > Yep.
                    >
                    > Micha[/color]


                    Comment

                    • Guest's Avatar

                      #11
                      help

                      Îòâåòüòå, ïîæàëóéñòà, åñëè âàì, ýòî, íå îáèäíî, åñëè íå òðóäíî!
                      Ìîé ñåðâåð íå ïîääåðæèâàåò CGI, ASP, PHP, SSI , íî ÿ èìåþ ñêðèïò PHP, êîòîðûé íåîáõîäèì äëÿ ðàáîòû ñòðàíèöû ....
                      Êóäà èéòè, ÷òî ñäåëàòü, ÷òîáû äàòü ïîääåðæêó ñòðàíèöû íà ìî¸ì ñåðâåðå? ×òî, åù¸, ðåêîìåíäóåòå? perovss@rol.ru

                      Answer, please, if to you, it, is not insulting, if not it is difficult!
                      My server does not support CGI, ASP, PHP, SSI, but I have ñêðèïò PHP, which is necessary for work of page....
                      Where èéòè what to make to give support of page on my server? What, still, recommend?
                      perovss@rol.ru

                      Comment

                      • nice.guy.nige

                        #12
                        Re: help

                        While the city slept, petrovss@rol.ru (petrovss@rol.r u) feverishly typed...[color=blue]
                        > Answer, please, if to you, it, is not insulting, if not it is
                        > difficult!
                        > My server does not support CGI, ASP, PHP, SSI, but I have ñêðèïò PHP,
                        > which is necessary for work of page....
                        > Where èéòè what to make to give support of page on my server? What,
                        > still, recommend?[/color]

                        If you need to use a php script for your site, but your server doesn't
                        support PHP, you have 2 options.

                        1. Persuade whoever hosts your site to install PHP for you.

                        2. Move to a host that does support PHP. I personally reccomend Affordable
                        Host ( http://www.affordablehost.com ). You can get PHP enabled hosting
                        there for as little as $35.95USD / Year if you don't need MySQL, or
                        $5.95USD/month if you do need MySQL.

                        Hope that helps,
                        Nige

                        --
                        Nigel Moss
                        This is the personal website of Nigel Moss - Web and software developer, musician, photographer. It is home to my CV, portfolio, general info and more.

                        Mail address not valid. nigel@DOG.nigen et.org.uk, take the DOG. out!
                        In the land of the blind, the one-eyed man is very, very busy!


                        Comment

                        Working...