Solved

header in php for more the one website

Posted on 2012-04-05
5
233 Views
Last Modified: 2012-08-14
I have 2 websites, basically the same thing except the language is different. I know I could do this all on one domain, but I want to have an english and a french domain name for certain reasons, both with have the same code obviously.  Im working roght now in the header which basically is the main navigation.

I was thinking of doing something like this - because I may want to add more domains later

$currentDomainName = $_SERVER['SERVER_NAME'];
$myDomains = array("domainEng.com", "domainFr.com");

while($myDomains)
{
     Show navigation for domain
}

however the navigation could difer from site to site, I want to be able to chose the name of the links for each site.
0
Comment
Question by:prowebinteractiveinc
  • 3
  • 2
5 Comments
 
LVL 109

Accepted Solution

by:
Ray Paseur earned 500 total points
ID: 37811686
Have a look at this article and see if the design pattern makes sense for you.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_8910-A-Polyglot-Web-Site-in-PHP.html
0
 

Author Comment

by:prowebinteractiveinc
ID: 37811832
your not understanding what i want... forget the fact that im trying to control languages. I want to control the main navigation of multiple websites, contained in one file shared upon all websites...
0
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 37811908
OK, If I am understanding this correctly, you want to detect the name of the domain.  You've got that part right in $_SERVER["SERVER_NAME"].  Then perhaps you would want a switch/case construct something like this (untested but probably valid in principle).  It will provide an abstraction layer that matches the detected domain to the name of the file that contains the navigation script.
<?php // UNTESTED CODE
switch (strtolower($_SERVER["SERVER_NAME"]))
{
    case "domainen.com": $inc = "english_nav.php"; break;
    case "domainfr.com": $inc = "french_nav.php";  break;
    default: $inc = "english_nav.php";
}
require_once($inc);

Open in new window

0
 

Author Comment

by:prowebinteractiveinc
ID: 37812744
ok, I think I get the idea, however instead of using a file for the navigation I have to arrays link names and link urls such as:

	$pgName = array("Accueil", "Profil", "Application de credit", "Inventaire virtuel", "Credit 101", "Contact");
	$pgUrl = array("index.php", "profil.php", "application.php", "inventaire.php", "credit101.php", "contact.php");

Open in new window


what is line 6 and line 8 for ?
0
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 37812873
Line 6 is the default navigation if the domain does not match any case in the switch structure.
Line 8 brings into the current scope of the script, and runs the script, named in the variable $inc.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to count occurrences of each item in an array.

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question