Is PHP the way to go?
I am just creating my first website, so far using HTML and CSS only.
Among other things, part of the website function to provide information about golf courses in Scotland. I want it to have the functionality for the user to specify several variables (i.e. location, cost, number of holes etc.) and for the website to generate the results that match their search...much in the same way that many job or property sites do.
Obviously, I will create and maintain the database, but is PHP the best way to generate this type of content? If so, I'd appreciate your recommendations as to how I best go about starting another learning curve?!
Also, as a future development, I'd also want to use a more visually appealing way of finding the same information. What I mean is, for example, the user knows they are going to be staying in Edinburgh and are interested in playing golf nearby. They can click the appropriate section of a map of Scotland and it brings up the potential venues.
Don't worry, there will be more to it than I describe above, but it's the basic principles and next steps that I'm interested in hearing your opinions on.
It all depends on your past and future experience.
Have you done any programming before? If so, which programming languages?
Are you going to do more with this or just get the functionality in and then leave it at that?
PHP is a great language, and it's easy to learn; though only a small minority master it to an advanced level. If you have used C# or VB in the past, however, ASP.Net would be your best route because you can use a language you're already familiar with.
If you've never done programming and don't want to pursue it after this site, you may be better off with a CMS system which has what you require. For example, Wordpress or *shivers* Joomla?
By the way, not sure if you'll agree but clicking on a map isn't very effective. For one, it limits the sections of a site that search engines view. Secondly it is much easier to select 'Edinburgh' from a link or a drop-down box.
User input needs to be thought about carefully. What if someone is partially sighted and wants to use your website? A screenreader can read links easily, but it isn't the case for a map.
Besides, do you like clicking on maps? What if you know the name of the place but not the location? It's unlikely to be the other way round, is it.
Zero programming experience I'm afraid, just getting up to speed with HTML and CSS.
I'm not looking to become a web-designer or programmer in the sense that I'd sell that service to someone else. I do however want this golf site to become my main job, and I always want to understand why things are happening (so that I can fix them when they go wrong). I do not want to take short cuts and appreciate there will be much to learn.
I take your point regarding SEO, usabilty and assessibility etc. however I would hope to incorporate both opinions. I'm just trying to strike the balance between usability and look/feel. i.e. Would there be any reason why a user couldn't select Edinburgh in the dropdown and the corresponding area on a map would brighten for example. Or the other way around.
Out of interest, I personally would prefer to click an area of a map...but then, since it's my idea I probably would say that!
Back to my original question, and bearing in mind my comments above, would your answer still be CMS or would you change it PHP?
Appreciate your thoughts Jake.
Well, I don't see why you can't give PHP a go. There are some that can get comfortable with PHP within weeks. However, there are also people who've been doing it for years and still get stuck at the most simple of things.
It won't be quick - I mean, you won't be able to write PHP code to accomplish what you're after straight away. It'll take time - usually months.
So, if you want something quickly you should use a CMS. I can't believe I'm saying that, because I'm against using CMSs, however if you don't want to pursue programming then there's nothing wrong with it. They won't give you everything you want and they'll also have alot that you don't want (bloat) but that's always the case with CMSs.
If, however, you're willing to spend time on it, I'd say go for it. Make some static pages (i.e. just HTML/CSS) to put up for now, and develop a dynamic PHP version on either a subdomain or a Localhost server (WAMP or XAMPP (both free) would be a good place to start with getting an apache server with MySQL and PHP pre-installed on your computer). That way you'll have a basic website to show until you're ready to deploy the full version.
PHP is the easiest popular web programming language you can learn, IMO. The only issue is that PHP has a number of several security traps... but a good book should go over that. You should be able to pick it up pretty easily. The language doesn't have a lot of complicated or confusing elements to it, unlike a lot of other languages. So you wouldn't be looking at a piece of code and be like "what... the?!"
Can't recommend a book for you though. Never read one.