Introducción al PHP |
¿Qué es el PHP?
Hasta ahora hemos creado las webs con html, lo que nos permite únicamente crear el diseño de la web, pero una web no suele ser únicamente diseño, cualquier web que visitemos presenta una cierta interactividad con el usuario que el html no es capaz de darnos, como viene a ser por ejemplo formularios que envían corres, registro de usuarios, recuerdo de sesiones (logueo), envío de comentarios, etc. Pues bien, para esto es para lo que usamos el php, y normalmente nos ayudamos de bases de datos, por ejemplo en el registro de usuarios o en el envío de comentarios.
Ahora bien, ¿el html no me vale ahora de nada y usaré sólo php? La respuesta es no, no puedes usar php sin saber html. Como algunos sabreis podeis mirar el código fuente de una web desde el explorador dándole a "Ver/Código fuente", si haceis eso únicamente vereis en las páginas código html, css y a lo mejor Javascript, aunque tengan registro de usuario. Esto se debe a que los exploradores no leen php, el php se ejecuta en vuestro hosting, en el servidor. El servidor ejecuta el código php, y este código php genera en su lugar un código html, y este código html es el que le llega al explorador mostrando lo que tiene que mostrar. Esto no quiere decir que el php sea inútil porque se valga del html, puesto que este código php no devuelve siempre el mismo código html sino que devuelve uno u otro en función de otras cosas, que es lo que le da la interactividad. Además puede hacer cosas sin devolver ningún código html, como por ejemplo enviar un email.
Debido a que el código php lo ejecuta el servidor no podeis probar el código php en vuestro ordenador como hacíais con el html, para probar un archivo php teneis que subirlo a vuestro hosting y ejecutarlo desde ahí. Otra forma es haceros un servidor en vuestro ordenador, por ejemplo con el programa EasyPHP, pero esto es algo más avanzado.
Otra cosa a saber es los formatos de los archivos. Los archivos .html no leen php, por lo tanto no pongais códigos php en archivos .html. Por contra, los archivos .php leen tanto php como html. Sí, no lo he dicho mal, leen html, es más, podeis poner código html y php mezclado y no pasa nada, el código php se ejecutará en el lugar del código en el que esté y devolverá lo que tenga que devolver en el lugar en el que esté (y no en otro).
Conceptos básicos de php
Vamos a empezar a aprender el código de php con algunos conceptos básicos. Para ello vamos a crear una página de formato php (por ejemplo pagina.php), y le vamos a poner todo el código html que le pondríamos al empezar una página normal de formato html: le ponemos el html, el head, un título en el head y el body. Y ahora dentro del body iremos situando todo el código php que vamos a ir aprendiendo.
Como sabreis ya, todos los código html (llamados etiquetas) empiezan por < y terminan por >. Pues bien, vamos a imaginarnos (que no es verdad) que el código php es también un código html, pues este empieza por <?php y termina por ?>, y en medio se ponen todos los códigos php. Todos los códigos php que pongais fuera de estas etiquetas el servidor no los ejecutará y los entenderá como html, dándonos problemas.
De esta forma todos los códigos php estarán contenidos dentro de estas etiquetas:
<?php
?>
?>
Antes de seguir debeis tener en cuenta que en php cuando terminais un código debeis de poner punto y coma (;), si no lo poneis el servidor entenderá que es el mismo código y os dará error (es un error muy común y que en ocasionas cuesta darse cuenta).
El código básico para poder devolver código html desde php es "echo". Por ejemplo, si queremos que devuelva "<p>Esto es una línea</p>" tenemos que poner el código así:
<?php
echo "<p>Esto es una línea</p>";
?>
echo "<p>Esto es una línea</p>";
?>
Sólo dos comentarios: Si os fijais lo que escribe va entrecomillado (de esto hablaremos en detalle en el próximo capítulo), y además está puesto el punto y coma al final del código.
Este código si lo subís al servidor, lo ejecutais y mirais el código fuente desde el explorador vereis que en lugar del código php te aparece el código html que tenía que devolver.