Hi there!,
I've looked over this thread and from what I gather you want to know if you
can/should use JavaScript for redirecting, my usual way of going about
things is to put a JavaScript <script>location.href='page.aspx'</script>
call in the head of the document (putting JS in the head causes it to
execute before the page is rendered, or should at any rate), and then I use
a meta refresh tag as my backup, set for 3 seconds.
That usually covers everything,
it stops spiders (google has a strong dislike of meta refresh), it redirects
JS users transparently, it's almost instantaneous for the
paranoid-shouldn't-be-let-out-of-the-ward non JS people, and it's easy to
code.
Plus it works in any server side scripting language, as it's all client-side
code.
Just my $0.02,
Dw.
Sqlcoders.com Dynamic data driven web solutions
----- Original Message -----
From: "Hunter Vaughn" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: May 22 2002 11:19 AM
Subject: [PHP] Re: JavaScript vs. Header redirect
> Okay, looks like I was stupid/lazy for including the pseudo code instead
of
> something closer to what I was using. Also, perhaps I'm being dense, but
I
> don't understand what Michael's response has to do with this situation.
Can
> he or someone else enlighten me? Here's a more accurate/detailed
> description of what's going on, complete with the exact code (minus
> sensitive info) that I'm using:
>
> The chunk of code in question is a login handler. It's supposed to collect
> two form fields named username and password from the Post method
variables.
> Then it's supposed to check the password against an encrypted version
stored
> in a database (I didn't include the database variables/code in the example
> below). If it matches, it's supposed to redirect them to a page where they
> can perform administrative functions. In the course of debugging it, I
found
> that the header("Location: ...") command worked perfectly until I called
on
> the $_POST or $HTTP_POST_VARS arrays (which seem to be synonymous). If I
> removed the calls to the arrays, it worked fine. I looked through the
> comments on the header function on www.php.net and through some of the
> previous questions posted in the news group, and it seems like others have
> experienced this problem as well. However, the most common situation noted
> was that it broke as soon as they called a function. I guess I'm calling a
> function implicitly when I ask for the $_POST variables. The most obvious
> way I can see around this is simply to cause the client to redirect using
> JavaScript. Of course, the downside to this is that the user may have
> disabled scripting, but I'm working in a pretty closed environment, so I
> think I can avoid that contingency. I'm using 4.1.2 as a cgi in a UNIX
> environment w/ MySQL 3.22.x.
> --Hunter Vaughn
>
>
> <?php
> $Host = "_______";
> $User = "_______";
> $Pass = "_______";
> $dbName = "_______";
> $username = $_POST[username];
> $password = $_POST[password];
>
> $Link = mysql_connect($Host, $User, $Pass) or die ("Could not connect
to
> the database.");
> mysql_select_db($dbName);
>
> if((ereg(".+@.+\..+", $username)) && (eregi("^[[:alnum:]]{8,16}$",
> $password))) {
>
> $Query = "SELECT email, memberID, pass FROM Login where
> email='$username'";
> $Result = mysql_query($Query);
> $Row = @mysql_fetch_array($Result);
> if((crypt($password, $Row[pass])) == $Row[pass]) {
> session_start();
> $email = $Row[0];
> $memberID = $Row[1];
> session_register('email');
> session_register('memberID');
> //header("Location: http://some.domain.com/PHP/update.php");
> This doesn't work...
> print("<script language=\"JavaScript\">window.location =
> \"http://some.domain.com/PHP/update.php\";</script>");
> exit;
> }
> else {
> $message = urlencode("The username and password submitted do not
> match those on file. Please try again.");
> }
> }
> else {
> $message = urlencode("Please enter your username and password to log
> in.");
> }
> print("<script language=\"JavaScript\">window.location =
> \"http://some.domain.com/HTML/letsboogie22.html\";</script>");
> exit;
> ?>
>
> "Hunter Vaughn" <[EMAIL PROTECTED]> wrote in message
> [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> > Is there any reason I can't just use a JavaScript redirect from a PHP
> login
> > handling script since I can't seem to get the header("Location: URL");
> > function to work? Any security concerns or anything else? As far as I
> can
> > tell, all calls to header fail as soon as I attain variables based on a
> POST
> > submission. See example below.
> >
> > <?
> > $username = $_POST[username];
> > $password = $_POST[password];
> >
> > if(some username/password format verification) {
> > query the database
> > if($password matches pass in database) {
> > session_start();
> > $email = $Row[0];
> > $memberID = $Row[1];
> > session_register('email');
> > session_register('memberID');
> > //header("Location: URL"); This doesn't work.
> > print("<script language=\"JavaScript\">window.location =
> >
>
\"http://depts.washington.edu/bionano/HTML/letsboogie22.html\";</script>");
> > exit;
> > }
> > else {
> > print("That didn't work...");
> > }
> > }
> > else {
> > print("Please enter your username & password.");
> > }
> > ?>
> >
> >
>
>
>
> --
> 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