The php entrance page opens two times with a link

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
mustafamisir
Forum Newbie
Posts: 23
Joined: Wed Jun 22, 2005 1:00 pm
Contact:

The php entrance page opens two times with a link

Post by mustafamisir »

Hi,

My web site includes a language option; so, it has a link which changes based on the current language. When, I clicked the link itopens the main page again in the language that I chose. After that, if I click for other languages, it do not open a new page, it only loads the chosen language page in the same page. Therefore, I created a page which directs the real main page. However, it did not work, too.

I am waiting for your help.
Thank you for now.

NOTE: I uses frames.
theda
Forum Contributor
Posts: 332
Joined: Sat Feb 19, 2005 8:35 am
Location: USA

Post by theda »

Now, are you using cookies and conditional statements to pull this all off? (That's what I used to do).

My suggestion:
1. Create three files:
a. index.php file
b. main.php file
c. splash.php file
2. In the splash file, just put the code you want to show up on the splash page when it's loaded. Same with the main.php file.
3. In the index.php file, put something like this (If you use cookies):

Code: Select all

if (isset($HTTP_COOKIE_VARS['language']) AND empty($HTTP_GET_VARS['language'])) {
        $language = $HTTP_COOKIE_VARS['language'];
        include "main.php";
    } elseif (isset($HTTP_GET_VARS['language'])) {
        $language = $HTTP_GET_VARS['language'];
        setcookie('language',$language, time()+60*60*24*30);
        include "main.php";
    } else {
        include "splash.php";
    }
This will check whether "$language" has been set in a cookie, if it has, then it loads that variable, else it saves the current variable (page.php?language=something). Now if a cookie is set, then it loads main.php, if not, it loads splash.php.

Thats pretty much directly out of the code I use for my website. As I have 8 themes and 2 languages you can view my site with/in.

If you want a prettier way of doing the same thing without using conditionals (using switch()'s), then ask, because I do that too ^_^;
timvw
DevNet Master
Posts: 4897
Joined: Mon Jan 19, 2004 11:11 pm
Location: Leuven, Belgium

Post by timvw »

Btw, $HTTP_*_VARS are depreciated. We use $_POST, $_GET, .. now. More at http://www.php.net/variables (predefined variables)

You could use JavaScript to reload _all_ the pages..
Post Reply