script in body

S

Sentinel

how can i place a script in body (it must be ran automaticly when html
interpreter reaches it) that will redirect to another page?


what i am doing is

checking in php if login is successful (php script is in javascript
that is in body) and if so i will print out the url to wich the
javascript must redirect the browser


<body>
<script language="javascript">
window.location=<?php a lots of ifs thens and elses and finaly print
"index2.php"; ?>
</script>
</body>



everything works fine but he browser doesn't redirect...

the page source shows
<body>
<script language="javascript">
window.location=index2.php
</script>
</body>



please help



thanks
 
D

Daniel Kirsch

Sentinel said:
window.location=index2.php

Don't forget the quotes. Otherwise php will be interpreted as a property
of an index2 object.

window.location="index2.php"
Daniel
 
J

Jc

Sentinel said:
how can i place a script in body (it must be ran automaticly when html
interpreter reaches it) that will redirect to another page?


what i am doing is

checking in php if login is successful (php script is in javascript
that is in body) and if so i will print out the url to wich the
javascript must redirect the browser

There are better ways to do this than relying on javascript, which the
browser might not support, or have enabled. It also requires
downloading the page, parsing it, loading the script into the scripting
engine, and then (from script) navigating to a different page.

Since you have control over the web server response in the first place
(through php), you should really use the built-in HTTP mechanism to
redirect a web browser to a different page. This method will be much
nicer/faster than using javascript, and the user will likely not even
know they were redirected since they won't see a page load and then
quickly redirect, it will happen at a lower level.

This site has an example php script you can use:
http://www.edoceo.com/creo/php-redirect.php

FYI: Another solution that is better than using javascript is to output
a meta redirect to the browser, this is a special HTML tag that doesn't
require javascript support.
 
K

Kimmo Laine

Sentinel said:
how can i place a script in body (it must be ran automaticly when html
interpreter reaches it) that will redirect to another page?


what i am doing is

checking in php if login is successful (php script is in javascript
that is in body) and if so i will print out the url to wich the
javascript must redirect the browser


<body>
<script language="javascript">
window.location=<?php a lots of ifs thens and elses and finaly print
"index2.php"; ?>
</script>
</body>



everything works fine but he browser doesn't redirect...

the page source shows
<body>
<script language="javascript">
window.location=index2.php
</script>
</body>

Ditch the javascript and redirect with php directly
<?php header("Location: index2.php"); ?>
 
K

Kimmo Laine

Sentinel said:
can i send any data to the child page this way?


Yes, via GET method.

<?php header("Location: index2.php?foo=1&bar=2"); ?>
Parameters foo and bar are now available to index2.php. Oh and I should
mention also, that the example I gave you works in most browsers, but the
standard says you need to always always include the entire address, and not
just the relative filename. In other words: always use
<?php header("Location: http://www.your-domain.com/path/to/index2.php"); ?>
and never ever use
<?php header("Location: index2.php"); ?> without the entire url.

I should also mention that header data must be sent before any output. You
can't print or echo anything before you've sent headers.

Copy & Follow-up to: comp.lang.php
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,813
Messages
2,569,696
Members
45,486
Latest member
Deanna5597

Latest Threads

Top