Sie sind auf Seite 1von 15

PHP

Un tutorial sencillo
Tabla de contenidos

Qu necesito? Su primera pgina con PHP Algo til Uso de Formularios Usando cdigo antiguo en nuevas versiones de PHP Y ahora qu?

A continuacin, nos gustara mostrate las bases de PHP en un corto y sencillo tutorial. Este documento explica cmo crear pginas web dinmicas con PHP, aunque PHP no solamente es capaz de crear pginas web. Consulte la seccin titulada Qu se puede hacer con PHP? para ms informacin. Las pginas web que usan PHP se tratan igual que pginas HTML comunes y corrientes, y se pueden crear o editar de la misma manera que normalmente crea pginas HTML.

Su primera pgina con PHP


Comienze por crear un archivo llamado hola.php y pngalo en el "directorio raz" (DOCUMENT_ROOT) con el siguiente contenido: Ejemplo #1 Nuestro primer script PHP: hola.php
<html> <head> <title>Ejemplo PHP</title> </head> <body> <?php echo '<p>Hola Mundo</p>'; ?> </body> </html>

Utilice su navegador web para acceder al archivo en su servidor, con la URL terminando en /hola.php. Si est programando localmente este URL ser algo como http://localhost/hola.php o http://127.0.0.1/hola.php pero esto depende de la configuracin de su servidor web. Si todo est configurado correctamente, el fichero ser analizado por PHP y el siguiente contenido aparecer en su navegador:
<html> <head>

<title>Ejemplo PHP</title> </head> <body> <p>Hola mundo</p> </body> </html>

Este script es extremadamente simple y no es necesario usar PHP para crear una pgina como esta. Lo nico que muestra es: Hola mundo usando la sentencia de PHP echo. El fichero no debe ser ejecutable o especial de ninguna forma. El servidor reconoce que este fichero debe ser interpretado por PHP porque estamos usando la extensin ".php", el cul est configurado para enviarlo a PHP. Piensa como si fuera un fichero HTML normal el cual tiene una serie de etiquetas especiales disponibles con las que puedes hacer muchas cosas interesantes. Si ha intentado usar este ejemplo y no produjo ningn resultado, preguntando si deseaba descargar el archivo, o mostr todo el archivo como texto, lo ms seguro es que PHP no se encuentra habilitado en su servidor. Pdale a su administrador que active esta funcin usando el captulo titulado Instalacin en el manual. Si est trabajando localmente, lea tambin el captulo dedicado a la instalacin para asegurarse de que todo est configurado apropiadamente. Asegrese que est accediendo al fichero va http a travs del servidor para mostrar el resultado. Si est abriendo el archivo desde el sistema de archivos, entonces probablemente no estar siendo analizado por PHP. Si el problema persiste no dude en usar alguna de las mltiples opciones de Soporte de PHP. El objetivo de este ejemplo es demostrar cmo puede usar el formato especial de las etiquetas PHP. En este ejemplo usamos <?php para indicar el inicio de la etiqueta PHP. Despus indicamos la sentencia y abandonamos el modo PHP usando ?>. Puede salir de PHP y regresar cuantas veces lo desee usando este mtodo. Para ms informacin, puede leer la seccin en el manual titulada Sintaxis bsica de PHP. Nota: sobre los avances de lnea Los avances de lnia tienen poco sentido en HTML, igualmente sigue siendo buena idea hacer que el cdigo HTML se vea limpio y bien, poniendo avances de lnea. PHP automticamente eliminar los avances de lnea puestos inmediatamente despus de cerrar ?>. Esto puede ser muy til si pone muchos bloques de PHP o incluye ficheros que contienen PHP que no se supone que deban mostarar nada. Al mismo tiempo, puede resultar un poco confuso. Se puede poner un espacio despus de cerrar ?> para forzar el mostrar un espacio y un avance de lnea , o se puede poner un avance de lnea explcitamente en el ltimo echo o print dentro de tu bloque en PHP. Nota: acerca de editores de texto Hay muchos editores de texto y Entornos Integrados de Desarrollo (IDE por sus siglas en Ingls) que puede usar para crear, editar, y organizar archivos PHP. Puede encontrar una lista parcial de stos en Lista de editores de PHP. Si desea recomendar un editor, por favor visite la pgina mencionada anteriormente, y comunique su recomendacin a las

personas encargadas del mantenimiento para que lo incluyan en la lista. Contar con un editor que resalte la sintaxis de PHP puede ser de mucha ayuda. Nota: acerca de los procesadores de texto Los procesadores de texto como StarOffice Writer, Microsoft word y Abiword no son buenas opciones para editar archivos de PHP. Si desea usar uno de stos programas para probar sus scripts, primero debe asegurarse de guardar el documento en texto sin formato o PHP no ser capaz de leer y ejecutar el script. Nota: acerca del "Bloc de Notas de Windows" Si escribe sus archivos PHP usando el "Bloc de Notas de Windows", debe asegurarse de que sus archivos sean guardados con la extensin .php (El Bloc de Notas automticamente aade la extensin .txt a los archivos a menos que tome los siguientes pasos para prevenirlo). Cuando guarde sus archivos y el programa le pregunte qu nombre le desea dar al archivo, use comillas para indicar el nombre (es decir, "hola.php"). Una alternativa es, en la lista de opciones "Archivos de Texto *.txt", seleccionar la opcin "Todos los archivos *.*". Aqu puede escribir el nombre del archivo sin las comillas. Ahora que ha creado un pequeo script de PHP que funciona correctamente, es hora de trabajar con el script de PHP ms famoso; vamos a hacer una llamada a la funcin phpinfo() para obtener informacin acerca de su sistema y configuracin como las variables predefinidas disponibles, los mdulos utilizados por PHP, y las diferentes opciones de configuracin. Tomemos algo de tiempo para revisar esta informacin.

Algo til
Hagamos ahora algo que puede ser ms til. Vamos a comprobar qu clase de navegador est utilizando el usuario. Para hacerlo, vamos a consultar la informacin que el navegador nos enva como parte de su peticin HTTP. Esta informacin es guardada en una variable. Las variables siempre comienzan con un signo de dlar ("$") en PHP. La variable que vamos a utilizar en esta situacin es $_SERVER['HTTP_USER_AGENT'] . Nota: $_SERVER es una variable especial reservada por PHP que contiene toda la informacin del servidor web. Es conocida como Superglobal. Consulte el manual en su seccin titulada Superglobales para ms informacin. stas variables especiales fueron introducidas en la versin 4.1.0 de PHP. Antes podamos usar las arrays $HTTP_*_VARS, tales como $HTTP_SERVER_VARS. Aunque stas han sido marcadas como obsoletas, tales arrays todava existen. (Tambin puede echar un vistazo a las notas relacionadas con el cdigo antiguo.) Para mostrar esta variable, se puede simplemente hacer:

Ejemplo #1 Imprimir una variable (Elemento array)


<?php echo $_SERVER['HTTP_USER_AGENT']; ?>

Un ejemplo del resultado de esta secuencia de comandos sera:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Hay muchos tipos de variables en PHP. En el ejemplo anterior imprimimos un array. Los arrays pueden ser muy tiles. $_SERVER es simplemente una variable que se encuentra disponible automticamente en PHP. Puede encontrar una lista en la seccin titulada Variables Reservadas del manual, o puede generar una lista completa creando un archivo como el ejemplo de la seccin anterior. Puede usar ms de un declaracin PHP dentro de una etiqueta PHP, y crear pequeos segmentos de cdigo que pueden hacer ms que un nico echo. Por ejemplo, si quisiramos detectar el uso de Internet Explorer, haramos algo as: Ejemplo #2 Ejemplo usando estructuras de control y funciones
<?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { echo 'Est usando Internet Explorer.<br />'; } ?>

Un ejemplo del resultado de esta secuencia de comandos sera:


Est usando Internet Explorer.<br />

A continuacin introduciremos un par de conceptos nuevos. Tenemos una declaracin if. Si est familiarizado con la sintaxis bsica del lenguaje C, esto se vera lgico, Pero si no entiende C, u otros lenguajes de programacin donde encuentra la sintaxis usada anteriormente, probablemente debera conseguir un libro que le introduzca mejor a PHP, y lea los primeros captulos, o tambin puede ver la parte del manual titulada Referencia del lenguaje parte del manual. El segundo concepto que introducimos fue la funcin llamada strstr(). strstr() es una funcin integrada de PHP que busca un cadena dentro de otra cadena. En este caso anterior estamos buscando 'MSIE' (llamado aguja) dentro de $_SERVER['HTTP_USER_AGENT'] (llamado pajar). Si la cadena fue encontrada, la funcin devolver la posicin de la aguja relativa al inicio del pajar. De lo contrario devolver FALSE. Si no devuelve FALSE, la

declaracin if se evala a TRUE y el cdigo adentro de las llaves {} es ejecutado. De lo contrario, el cdigo no ser ejecutado. Tmese la libertad de crear ejemplos similares usando if, else, y otras funciones como strtoupper() y strlen(). Cada pgina del manual contiene ejemplos que puede usar. Si no est seguro sobre el modo de uso stas funciones, es recomendable que lea las pginas del manual tituladas Cmo leer una definicin de funcin y la seccin relacionada a Funciones en PHP. Podemos continuar y demostrar cmo puede saltar adentro y afuera del modo PHP en el medio de un bloque de cdigo: Ejemplo #3 Mezcla de los modos HTML y PHP
<?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { ?> <h3>strpos() debe haber devuelto no falso</h3> <p>Est usando Internet Explorer</p> <?php } else { ?> <h3>strpos() debi devolver algo diferente de falso</h3> <p>No est usando Internet Explorer</p> <?php } ?>

Un ejemplo del resultado de la secuencia de comandos podra ser:


<h3>strpos() debe haber devuelto falso</h3> <p>Est usando Internet Explorer</p>

En vez de usar una sentencia PHP echo para demostrar algo, saltamos fuera del cdigo PHP y escribimos solamente HTML. Este es un punto muy importante y potente que debemos observar aqu, y es que la fluidez lgica de la secuencia de comandos permanece intacta. Slamente las partes donde hay bloques HTML sern enviadas al visor dependiendo del resultado que strstr() devuelva. En otras palabras, si la cadena MSIE fue encontrada o no.

Uso de Formularios

Su primera pgina con PHP

[edit] Last updated: Fri, 09 Nov 2012

add a note User Contributed Notes Algo til

Jay Walker 06-Dec-2011 02:09


Suggesting a better way to detect the Firefox browser: I see that, at least for a recent download of the Firefox browser, the PHP command: <?php echo $_SERVER['HTTP_USER_AGENT']; ?> returns: Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20100101 Firefox/8.0 ... So, note the term 'Firefox' in the returned string, and therefore you can search for the substring 'Firefox'. Therefore the PHP code: <?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== FALSE) { echo 'I see you are using Mozilla Firefox browser.<br />'; } ?> works just fine.

Uso de Formularios
Otra de las caractersticas ms importantes de PHP es que gestiona formularios HTML. El concepto bsico que es importante entender es que cualquier elemento de los formularios estar disponible automticamente en su cdigo PHP. Por favor lea la seccin del manual titulada Variables fuera de PHP para ms informacin y ejemplos sobre cmo usar formularios HTML con PHP. Observemos un ejemplo: Ejemplo #1 Un formulario HTML simple
<form action="accion.php" method="post"> <p>Su nombre: <input type="text" name="nombre" /></p> <p>Su edad: <input type="text" name="edad" /></p> <p><input type="submit" /></p> </form>

No hay nada especial en este formularo, es solamente HTML sin ninguna clase de etiquetas especiales de ningn tipo. Cuando el usuario rellena ste formulario y oprime el botn Submit, una pgina titulada accion.php es llamada. En este archivo encontrar algo as:

Ejemplo #2 Imprimir informacin desde nuestro formulario


Hola <?php echo htmlspecialchars($_POST['nombre']); ?>. Usted tiene <?php echo (int)$_POST['edad']; ?> aos de edad.

Un ejemplo del resultado de esta secuencia de comandos puede ser:


Hola Jos. Usted tiene 22 aos de edad.

Aparte de las funciones htmlspecialchars() y (int), debera ser obvio lo que hace el cdigo. htmlspecialchars() se asegura que todos los caracteres que son especiales en html sean codificados adecuadamente de manera que nadie pueda inyectar etiquetas HTML o Javascript en tu pgina web. El campo edad, como sabemos que es un nmero, podemos convertirlo en un integer que automticamente se deshar de cualquier carcter no numrico. Tambin puede hacer lo mismo con PHP con la extensin filter Las variables $_POST['nombre'] y $_POST['edad'] son establecidas automticamente por PHP. Anteriormente hemos usado la superglobal $_SERVER y ahora estamos apunto de introducirte la superglobal $_POST que contiene todos los datos del POST. Dese cuenta que el mtodo de nuestro formulario es POST. Si usa el mtodo fuera GET entoces los datos del formulario estaran en la superglobal $_GET. en lugar de POST. En su lugar tambin puedes usar la superglobal $_REQUEST, si no le importa el tipo de datos enviados desde el formulario. Contiene toda la informacin de GET, POST y COOKIE. Vea tambin la funcin import_request_variables(). En PHP, tambin puede tratar entradas desde formularios XForms; aunque probablemente en un comienzo se sienta a gusto con los formularios de HTML, que estn ampliamente respaldados. A pesar de que los XForms no son trabajo de principiantes, es posible que tenga inters en ellos. Si es el caso, en la seccin caractersticas de la documentacin puede encontrarse una pequea introduccin a la manipulacin de datos recibidos desde XForms.

Usando cdigo antiguo en nuevas versiones de PHP


Ahora que PHP ha crecido y se ha convertido en un lenguaje popular, hay muchos ms repositorios y librerias que contienen cdigo que puede reusar. Los desarrolladores de PHP han tratado en toda medida que sea compatible con versiones anteriores, es decir, si una secuencia de comandos fue escrita para una versin antigua en principio funcionara (idealmente) sin ningn cambio en una versin reciente de PHP. A la prctica, usualmente algunos cambios son necesarios. Dos de los cambios mas importantes que afectan el cdigo viejo son:

La desaparicin de las antiguas arrays $HTTP_*_VARS (que usualmente son usadas como globales al interior de una funcin o mtodo). Las siguientes variables superglobales que fueron introducidas en la versin 4.1.0 de PHP. Son: $_GET,

$_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST, y $_SESSION. Las antiguas $HTTP_*_VARS, como $HTTP_POST_VARS, todava existen. A partir de PHP 5.0.0, las arrays de tipo long variables predefinidas se pueden desactivar con la directiva register_long_arrays . Las variables externas ya no son registradas globalmente de forma automtica, por defecto. En otras palabras, a partir de PHP 4.2.0, la directiva PHP register_globals est off por defecto en php.ini. El mtodo preferido para obtener acceso a stos valores es por medio de las variables superglobales mencionadas anteriormente. Antiguas secuencias de comandos, libros y tutoriales antiguos puede que asuman que sta directiva est definida como on. Si fuera on, puede usar, por ejemplo, $id desde la URL http://www.example.com/foo.php?id=42. Por otra parte, no importa si el valor de la directiva es on u off, $_GET['id'] est siempre disponible.

Para ms informacin relacionada con estos cambios, puede ver la seccin sobre variables predefinidas y los enlaces que hay dentro.

Y ahora qu?
Con sus nuevos conocimientos debera ser capaz de entender la mayora del manual y de los diversos scripts de ejemplo disponibles en los archivos. Puede encontrar otros ejemplos en la seccin de enlaces de php.net: http://www.php.net/links.php. Para ver varias presentaciones que muestra ms acerca de lo que puede hacer PHP, visite los diferentes sitios con material relacionado a las conferencias realizadas: http://talks.php.net/
Instalacin: http://www.php.net/manual/es/install.php Referencia del lenguaje: http://www.php.net/manual/es/langref.php Seguridad: http://www.php.net/manual/es/security.php Caractersticas: http://www.php.net/manual/es/features.php Referencia de funciones: http://www.php.net/manual/es/funcref.php

El ncleo de PHP: Gua del Hacker para el motor de Zend


http://www.php.net/manual/es/internals2.php Preguntas frecuentes: http://www.php.net/manual/es/faq.php Apndices: http://www.php.net/manual/es/appendices.php

PHP. Introducin
Introduccin Acrnimo:

Originariamente (1994): "Personal Home Page" Actualmente: "PHP: Hipertext Preprocessor"

PHP. Introducin
Lenguaje orientado para la programacin en entorno web

Lenguaje de scripting que se inserta en documentos html El cdigo PHP se interpreta en el Servidor Web, generando cdigo html que es enviado al browser

PHP. Introducin
Integracin en la web

Embebido (embedded) en una pgina html Servidores Web que soportan PHP o Apache o Mdulo ISAPI para Microsoft Internet Information Server (IIS) o ...

PHP. Introducin

Multiplataforma (GNU/Linux, Windows, Mac)

Independiente del Sistema Operativo!

PHP. Ejemplos
Primeros Ejemplos "Hello World (I)"

El cdigo PHP se inserta dentro del cdigo html utilizando las marcas: o <?php y ?>

<html> <head> <title>PHP Hello World</title> </head> <body> <?php print("Hello World!"); ?> </body> </html>

PHP. Ejemplos
"Hello World" (II)

Mostrar informacin : print / echo Aadir comentarios a una lnea: // Sentencias terminan con ;

<html> <head> <title>PHP Hello World</title> </head> <body> <?php // echo y print son equivalentes echo "Hello World!"; ?> </body> </html>

PHP. Ejemplos
"Hello World" (III)
<html>

Declaracin de variables ($nombreVariable)

<head> <title>PHP Hello World</title> </head> <body> <?php // las variables siempre empiezan con $ $strHello = "Hello"; /* las lneas de cdigo comentadas pueden ocupar ms de una lnea */ print("$strHello World!"); ?> </body> </html>

PHP. Ejemplos
"Hello World" (IVa)

Combinacin de tags (etiquetas) html y cdigo PHP

<html> <head> <title>PHP Hello World</title> </head> <body> <b> <?php print("Hello World"); ?> </b> </body> </html>

PHP. Ejemplos
"Hello World" (IV-b)

Insertar tags html dentro de un script PHP

<html> <head> <title>PHP Hello World</title> </head> <body> <?php print("<b>Hello</b> <i>World</i>"); ?> </body>

</html>

PHP. Ejemplos
"Hello World" Ejemplo slo con PHP!

Insertar TODOS los tags html dentro de un script PHP

<?php print print print print print print print print ?>

("<html>"); ("<head>"); (" <title>PHP Hello World</title>"); (" </head>"); (" <body>"); (" <p>Hello World!</p>"); (" </body>"); ("</html>");

PHP. Ejemplos
Con el ejemplo "Hello World" hemos aprendido:

Mostrar datos por pantalla: echo o print (son equivalentes) Aadir comentarios o // Esto es un comentario que slo puede ocupar una lnea o /* Esto es un comentario que ocupa ms de una lnea */ Declaracin de variables: o $strHello = "Hello"; // Variable $strHello de tipo String Insertar Tags html dentro de un script PHP: o print("<b>Hello</b> <i>World</i>");

PHP. Ejercicios
Ejercicios

Hacer un programa en PHP que escriba vuestro nombre (en negrita) y la ciudad dnde naciste. Hacer un programa en PHP que escriba el resultado de la suma de dos variables (x = -1 e y = 9, por ejemplo).

PHP. Ejercicios

Solucin Ejercicios

Hacer un programa en PHP que escriba vuestro nombre (en negrita) y la ciudad dnde vives.
<?php $nombre = "Oscar"; $ciudad = "Barcelona"; print("<p>Mi nombre es: <b>$nombre</b> </p>"); print("<p>Nac en $ciudad</p>"); ?>

Resultado (HTML) del cdigo anterior (con un ejemplo de CSS): Mi nombre es: Oscar
Conexin wifi: [DllImport("coredll.dll", SetLastError = true)] private static extern int SetDevicePower( string pvDevice, int dwDeviceFlags, DevicePowerState DeviceState); [DllImport("coredll.dll", SetLastError = true)] public static extern int DevicePowerNotify(string name, CEDEVICE_POWER_STATE state, int flags); public enum CEDEVICE_POWER_STATE { PwrDeviceUnspecified = -1, D0 = 0, // Full On: full power, full functionality D1 = 1, // Low Power On: fully functional at low power/performance D2 = 2, // Standby: partially powered with automatic wake D3 = 3, // Sleep: partially powered with device initiated wake D4 = 4, // Off: unpowered PwrDeviceMaximum = 5 } public enum DevicePowerState { Unspecified = -1, D0 = 0, // Full On: full power, full functionality

D1, // Low Power On: fully functional at low power/performance D2, // Standby: partially powered with automatic wake D3, // Sleep: partially powered with device initiated wake D4, // Off: unpowered } private const int POWER_NAME = 0x00000001; Encender: DevicePowerNotify(WIFIKEY, CEDEVICE_POWER_STATE.D0, POWER_NAME); SetDevicePower(WIFIKEY, POWER_NAME, DevicePowerState.D0); Apagar: DevicePowerNotify(WIFIKEY, CEDEVICE_POWER_STATE.D4, POWER_NAME); SetDevicePower(WIFIKEY, POWER_NAME, DevicePowerState.D4); La variable WIFIKEY debera ser un string con el valor que se encuentra en el registro HKLM System\CurrentControlSet\Control\POWER\State\WIFIK EY. _________________________________ QUe tal, nada mas queria aportar algo a este tema, que aunque ya tiene varios meses inactivo, estoy seguro que es informacion que le va a servir a muchos. titanelamo menciona que WIFIKEY debera ser un string con el valor que se encuentra en el registro HKLM, ps si, aunque tambien podemos decir que es el numero de serie de la tarjeta de red o el dispositivo de red, Les menciono que la primera parte del numero de serie, al parecer es igual para todos los equipos, el cual es: 98C5250D-C29A-4985-AE5F-AFE5367E5006\******* lo que cambia son los carecteres siguientes que estan separados con la diagonal, el cual es el nombre de la tarjeta de red, por ejemplo, en mi caso es: SDIO86861, de tal forma que al final, este es el metodo que uso para prender el WiFi: public static void PowerDownWLANRadio() { try { DevicePowerNotify(@"{98C5250D-C29A-4985-AE5F-AFE5367E5006}\SDIO86861", PowerState.D4,

1); SetDevicePower(@"{98C5250D-C29A-4985-AE5F-AFE5367E5006}\SDIO86861", 1, PowerState.D4); } catch { } } Yo programo en una Unitech PA600 y funciona muy bien este codigo en C# Saludos a todos....

Das könnte Ihnen auch gefallen