Solved

header in php for more the one website

Posted on 2012-04-05
5
229 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 108

Accepted Solution

by:
Ray Paseur earned 500 total points
Comment Utility
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
Comment Utility
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 108

Expert Comment

by:Ray Paseur
Comment Utility
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
Comment Utility
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 108

Expert Comment

by:Ray Paseur
Comment Utility
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

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Suggested Solutions

Author Note: Since this E-E article was originally written, years ago, formal testing has come into common use in the world of PHP.  PHPUnit (http://en.wikipedia.org/wiki/PHPUnit) and similar technologies have enjoyed wide adoption, making it possib…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
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 look for a specific file type in a local or remote server directory using PHP.

772 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now