views:

35

answers:

2

I'm developing a site for a local business and I've finished the design and layout in Photoshop and now I'm getting ready to start creating the HTML and CSS. I'm trying to decide which technology to use on the server-side to achieve the following basic dynamic behavior:

  1. Include the site header and footer on all pages without having to have the code live in all of the source files (like a server-side include).
  2. Allow for the user to edit a few pages via a web interface and publish changes.
  3. Have feedback/survey forms.

The solutions available through their current webhost are: PHP, ASP, ASP.NET 2.0, Drupal, Joomla, and Wordpress.

What do you think would be a good (read: easy) path to take? I have experience with VB.NET and C# (but not ASP.NET). I'm open to learning whichever tool would be best for the job.

Thanks!

+3  A: 

For all points PHP would work beautifully. For your header and footer inclusions, you can have a single page that accepts a GET variable of the target page (ex: 'home', 'calendar', 'news'...). Depending on what GET variable you receive, you can include different pages.

if($_GET['page']=="home"){ include(inc/home.php); }

If you don't want to display the ugly GET variables in the URL, you can pretty them up with some apache magic! (Googling 'url masking' or 'apache redirect' should do the trick)

As for the rest of your requirements, PHP has the advantage of a small learning curve, and a large amount of documentation available (both online and off). A combination of PHP and MySQL should be sufficient for what you require. Most webhosts offer these.

Fiarr
+2  A: 

If you don't have experience in any of these, it's going to be a crap shoot! Drupal, Joomla, Wordpress or anyother open source CMS is probably going to give you the features you want (and more) without having to learn a programming language. Read their list of features a couple of tutorials to see how you would accomplish basic tasks in each. If they don't have the flexibility or power you need, you'll likely have to learn a programming language (in which case, personally, I'd stay away from the microsoft-specific options - your next client may not be running windows machines and your investment will be wasted).

Good luck!

Todd R
I agree; using a CMS (Content Management System) is your only option. I don't have experience with CMSs, but I believe Drupal and Joomla are more flexible than Wordpress. I think Wordpress is a blog-focused CMS. Whatever you do, don't make your clients depend on a CMS you wrote yourself. Developing a secure web app is difficult even for professionals.
Evan Kroske