Ante de nada, yo no te recomendaría jamás comprarte un libro. Suelen ser un coñazo insufrible y lo peor, muchos están completamente desfasados y te harán más daño que beneficio en tu proceso de aprendizaje. Un libro va en contra de la propia filosofía de la programación, donde cada año hay 10000 novedades, por muy bien que escriban un libro en 2013, en 2016 o 2018 va a estar completamente desfasado, obligandote a comprar una y otra vez el mismo libro actualizado ¿para que gastarte ese dinero si tienes internet?
Te recomiendo que vayas buscando tutoriales fijandonte un poco en la fecha en que fueron publicados, si por ejemplo encuentras uno de 2005 o de 2001, pues no pierdas el tiempo con ellos, pero si es de 2010, o como mucho 2009 / 2008, seguramente serán lo suficientemente actuales como para seguirlos.
Dicho esto, al lio ¿que es php?
Es un lenguaje de programación para servidores web. Tiene una licencia de sofware propia un poco pintoresca que para resumir podriamos decir que basicamente es software libre, así que no hay que pagar ni piratear nada.
Es un lenguaje interpretado, así que no hay que compilarlo, pero solo funciona en el entorno de un servidor web, así que antes de empezar, necesitas montar en tu ordenador un pequeño entorno similar a lo que sería un servidor web real, con todo lo que ello implica (servidor web + PHP + servidor de bases de datos MySQL + servidor email SMTP, etc. etc.). La forma sencilla de conseguir todo esto sin pasarte una semana instalando y configurando cada cosa por separado es XAMPP, que ya te instala un servidor web apache (el más usado), una base de datos, una version normalmente muy actualizada de PHP, y más cosas que probablemente no te harán falta, pero tampoco te estorbarán. Aquí te dejo su página oficial donde te puedes descargar la versión adecuada para tu sistema operativo
http://www.apachefriends.org/es/xampp.html
Puede que tengas que leer algun tutorial para instalar XAMPP, pero creeme que es la forma más sencilla de tener disponible todo lo que necesites ahora y en un futuro según vayas avanzando en php, así que vale la pena tomarse la molestia.
El objetivo principal de php (aunque por supuesto sirve para muchisimas más cosas) es construir paginas html de manera dinámica en el servidor y, cuando termina, enviar el resultado al usuario que se conecta a tu web. Está estrechamente ligado a las bases de datos, hasta el punto de que si tu web no necesita usar una BD, probablemente no necesites usar para nada php. Imaginate que estás haciendo un periodico online, las noticias se almacenarían en una base de datos, y tu tendrías que hacer un script php que haga lo siguiente para generar la portada (el script se ejecuta cada vez que un usuario solicita con su navegador web ver la portada de tu periodico online):
-leer de la BD el titulo, contenido, fecha de publicación, etc de las noticias que están en portada en el momento de la solicitud.
-usar las tipicas estructuras de programacion (if else, bucles, etc) para crear dinamicamente el html de la portada
-Finalizar y enviar el html resultante al navegador del usuario.
Es importante darse cuenta que un usuario jamás va a recibir ni una sola linea de código php en su navegador, solo va a recibir un html estatico, la gracia está en que tu has creado de forma dinamica ese html estatico que recibe el usuario.
¿Que puede y que no puede hacer php?
Como el resultado final de la ejecucion de php es un html estatico, olvidate de conseguir solo con php cosas como:
-galerias de imagenes que al pulsar un boton van pasando como si fuesen diapositivas
-zonas de texto que al hacer click se expanden o se contraen
-cualquier elemento que puedas describir como "contenido interactivo", es decir, que para ver un cambio en ese elemento no haga falta que se recargue la pagina.
php genera contenido estatico, o sea que para ver un cambio en la web, hay que hacer una nueva solicitud al servidor y se tiene que recargar la pagina.
Todos los cambios interactivos se consiguen con el otro gran lenguaje de programación del mundillo web: javascript (concretamente yo recomiendo usar su libreria más popular, jquery, que facilita muchisimo el aprendizaje de este lenguaje). Javascript, a diferencia de php, se ejecuta del lado del cliente (en su navegador web), así que puede manipular el aspecto de la pagina en tiempo real, sin necesidad de recargar la pagina. Cuando te empieces a sentir comodo con php y mysql, este debería ser tu siguiente objetivo.
Si de verdad tienes ganas de ser un buen desarrollador web, tienes que ir poquito a poco aprendiendo hasta alcanzar soltura en las 5 piedras angulares de este mundillo:
HTML, CSS, PHP(u otro lenguaje de servidor), MySQL (u otro motor de base de datos) y javascript(usando su popular libreria jquery, en serio, hará tu vida muchisimo más facil)