Thanks Justin

I'll have a go ;-)

Henry

"Justin French" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> I have this code on one of my sites... it sits inthe config file, so every
> page is able to establish their URL.
>
> For my site, the definition of URL is just the stuff after
> http://www.domain.com/.
>
>
> $script = $_SERVER['PHP_SELF'];
> $script = eregi_replace('^/', '', $script);
> $qs = $_SERVER['QUERY_STRING'];
> $this_ref = base64_encode($script."?".$qs);
>
>
> The result?  $this_ref will look like dir/dir/file.php?getvar=foo if the
> current URL is http://www.mysite.com/dir/dir/file.php?getvar=foo
>
>
> The if I need to pass the referrer onto another script (in my case a login
> procedure), I just do this:
>
> <A HREF="login.php?return_ref=<?=$this_ref?>">login here</a>
>
>
> login.php passes $_GET['return_ref'] around in the URL through the login
> form, the validation, the error messages, the password reminder script,
and
> all sorts of other stuff, and once the user is finally logged in, I can do
> this:
>
> $return_ref = base64_decode($_GET['return_ref']);
>
> and supply them with:
>
> <A HREF="<?=$return_ref?>">Click here to continue</a>
>
> ... or better still, once they're logged in, I just:
>
> header("Location: {$return_ref}");
>
>
> If you wanted to do it for a full domain URL, then store your full domain
as
> a var $base_url, and prepend it to $this_ref
>
> $base_url = "http://www.mydomain.com";; // without trailing slash
> $script = $_SERVER['PHP_SELF'];
> $qs = $_SERVER['QUERY_STRING'];
> $this_ref = base64_encode($base_url.$script."?".$qs);
>
>
>
> The only thing this doesn't cover is pages with POST variables, but I
> wouldn't want it to.
>
>
> Justin French
>
>
>
> on 09/08/02 1:40 AM, Henry ([EMAIL PROTECTED]) wrote:
>
> > I have an idea then.
> >
> > How can I best generate a full URL from PHP_SELF and other variables on
the
> > referrer page such that I can generate the back link on the page I get
to
> > even if the referrer page is on a different server?
> >
> > as an eample if I know that the page to go back to will be at
> > http://www.myprimary.com/referrer.php and I generate a page at
> > http://www.mysecondary.com/info.php I can ensure that there is the
following
> > html in place
> >
> > <a href="http://www.myprimary.com/referrer.php";>go back</a>
> >
> > TIA
> >
> > Henry
> >
> > "Stas Maximov" <[EMAIL PROTECTED]> wrote in message
> > news:008601c23eef$cc25f260$ec000064@nexus...
> >> Yes, indeed. Thanks, Justin, I forget to mention this one. It works
really
> >> well on forums and comments, i.e. the cases when you do POSTs. The good
> >> thing here is that you passing the whole URL (taking it from PHP_SELF),
so
> >> you save on the decision logic in the end.
> >>
> >> Regards, Stas
> >>
> >> ----- Original Message -----
> >> From: "Justin French" <[EMAIL PROTECTED]>
> >> To: "Stas Maximov" <[EMAIL PROTECTED]>; "Henry"
<[EMAIL PROTECTED]>
> >> Cc: "PHP General" <[EMAIL PROTECTED]>
> >> Sent: Thursday, August 08, 2002 4:03 PM
> >> Subject: Re: [PHP] Most portable back button in php
> >>
> >>
> >>> Just to add in some more ideas, you can always pass the referring
script
> >> to
> >>> the second script manually...
> >>>
> >>> I do this when someone has to login, then return back to the original
> > page
> >>> they were on...  I just get the URL + query string, base64_encode()
it,
> >> then
> >>> pass it around in the URL or POST until i need it, then
base64_decode()
> > it
> >>> and header("Location: ...") the user to the right page.
> >>>
> >>> Works really well, depending on your situation.
> >>>
> >>>
> >>> Justin
> >>>
> >>>
> >>> --
> >>> PHP General Mailing List (http://www.php.net/)
> >>> To unsubscribe, visit: http://www.php.net/unsub.php
> >>>
> >>>
> >>
> >
> >
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to