Originally posted by USSR
Due to the massive shortage of IT/web design professionals in my country (Northern Ireland) I have decided to take up web design as a part time/hobby, in the hopes of getting a few side jobs in the future. I really have no idea where to start. Does anybody have guides or some tips on where to start? Most of the requirements for jobs list PHP, MySQL and java as needed. Which one should I start first, and are there any books on them?
USSR
To clarify what other people have already said:
You'll first and foremost want to learn HTML, probably HTML5, which is the latest version of HTML. You'll also want to learn CSS (probably CSS3, the latest version). Finally, you should learn JavaScript. JavaScript would be the first programming language out of HTML and CSS. It's also not hard, and is an excellent language for new programmers. All these languages (HTML, CSS, and JavaScript) are client-side. They are sent from the web server on which the website is running to the client/user's computer. Their computer's browser then executes the code, and renders the output to the screen. These are all the languages you'll need to know to build visually interesting and interactive websites. Note that while there are alternatives to HTML, CSS, and JavaScript, they are the most common and popular options.
To develop more advanced and dynamic websites, you'll want to learn a server-side language. Websites created with a server-side language will result in websites that are at least partially run on the server. In such a system, your website will first run as a program on your server, prior to being sent to the client. This allows you to do more interesting processing, including maintaining data, which will allow you to do things like create websites with user accounts. Arguably the most popular server-side language is PHP. Often times, server-side languages are accompanied by databases. Databases allows your server-side program/website to store data for long amounts of time. One such database is MySQL.
Java is another server-side language.