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

Reply via email to