Your SlideShare is downloading. ×
Php
Php
Php
Php
Php
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Php

311

Published on

Php

Php

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
311
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. electrónico contadorescontadoresyy CorreoCorreo u s e r s . t e c t i m e s . c o m 59 DevelopersDEVELOPERS 68 60 electrónico 64 Cómo enviar e-mails con PHP ¡La cara opuesta de ASP! Aprendé a programar en este nuevo lenguaje y a construir aplicaciones para tu sitio web. Por Martín Ramos Monso E-mails desde la Web con ASP Como si fuera poco, además de enseñarte aplicaciones con PHP, te mostramos cómo hacer lo mismo con ASP. Por Marcelo Ruiz Un contador en Perl Continuamos con la nota del número anterior y damos los últimos retoques a nuestro contador de visitas. Por Martín Scandroli Developers_1_PHP_UI#5.qxd 4/4/01 1:48 PM Page 59
  • 2. DevelopersDEVELOPERS Programando en PHP En la actualidad, no basta sólo con tener una página web; tampoco sirve, exclusivamente, que ésta sea sólo “linda”. La gente está pi- diendo más interactividad, más dinamismo y velocidad; por lo cual es importante llevar nuestros sitios a la dimen- sión dinámica, con el fin de aumentar tanto su tráfico de visitantes como su utilidad. La forma de interacción más conocida y más sencilla es un Formulario, cualquiera sea el tipo, en donde básicamente el usuario completará los datos que le solicitemos para lue- go enviárnoslo y que nosotros lo procesemos. El uso de es- te formulario puede ser tan atractivo como diverso. Con él podremos recabar datos sobre nuestros visitantes, subir ar- chivos a la Web (por ejemplo, banners publicitarios), reali- zar encuestas interactivas y muchas cosas más. En síntesis: el límite sólo es nuestra imaginación. Una excelente herramienta para desarrollar esto y potenciar nuestro sitio con muchísimas funciones es el lenguaje PHP, con el cual dejamos de lado la dimensión estática de nues- tro sitio web para pasar a realizar programas para la Red. PHP (Hypertext Preprocessor) es un lenguaje de programa- ción que interpreta los comandos en tiempo real (no com- pila), ejecuta los procesos del lado del servidor (no del la- do del cliente, como JavaScript) y va embebido con el có- digo HTML. Además, posee otra ventaja: es gratis. En esta nota, veremos el procesamiento de los resultados de formularios: por ejemplo, su envío por e-mail. A trabajar con PHP PHP funciona mezclando el código HTML con el de PHP en una misma página web. La inserción se realiza de mo- do muy similar a como lo hace JavaScript: insertando el código entre los tags <? y ?>. Un ejemplo claro de esto sería, para el caso de una pági- na en HTML puro: <html> <head> <title>Acá ponemos el título de la página</title> </head> <body> <p>Ésta es una página en HTML Puro</p> </body> </html> Cómo enviar e-mails con PHP Programando en PHPMartín Ramos Monso mramos@infcomercial.com u s e r s . t e c t i m e s . c o m60 PHP es un lenguaje nuevo y muy poderoso que nos ofrece un gran número de posibilidades para agregar interactividad entre nuestra página y los usuarios. En esta ocasión, Martín Ramos Monso, un experto en PHP, nos explica los conceptos básicos de este lenguaje y nos enseña cómo enviar e-mails desde páginas web. Developers_1_PHP_UI#5.qxd 4/4/01 1:48 PM Page 60
  • 3. Para saber más La página principal de estadísticas de CACE muestra un u s e r s . t e c t i m e s . c o m 61 Página en PHP En este ejemplo de página haremos una que nos imprima la suma de dos números. Las variables que guardarán esos núme- ros serán num_1 y num_2, y la variable que guardará el total de la suma será “resultado”. <html> <head> <title>Acá ponemos el título de la página</title> </head> <body> <p>Ésta es una página en HTML y PHP</p> <? // con el signo // indico los comentarios // Inicializo dos variables (num_1 y num_2) $num_1 = 10; $num_2 = 5; // calculo la suma de ambos números y los guardo en la variable resultado $resultado = $num_1 + $num_2; // Imprimo el resultado sin formato echo $resultado; // Imprimo el resultado con formato html printf(“<p><font face=Arial size=2><u>El resultado es</u>: <b>%s</b></font></p>”, $resultado); ?> </body> </html> Notemos que el código PHP va embebido en el HTML; por lo tanto, es muy sencillo en principio, pero se va complicando en la medida en que uno va realizando páginas más complejas; por ejemplo, con muchas tablas, etc. En estos casos, una vez que ya tenemos definida cuál es la función del programa y qué resultados va a mostrar, es recomendable proceder de la si- guiente forma: 1) Armamos el HTML general, con datos ficticios y el forma- to que quedará finalmente a la vista del usuario. 2) Reemplazamos los lugares donde deben ir los datos váli- dos por las variables que contienen dichos datos, quitando los ficticios. Ahora que ya hemos visto las diferencias básicas, armaremos un formulario y comenzaremos a ver el manejo de datos. Sobre los formularios En una primera instancia, sabemos que tenemos un formula- rio donde introducimos datos y, luego de presionar un botón de enviar, lo que hacemos es llamar al programa que maneja- rá los resultados de dicho formulario. Ese tipo de programas puede ser en PHP, PERL, ASP, etc. Este programa recibe como parámetros los campos del formu- lario (los visibles y los no visibles) y se ejecuta produciendo el resultado, para lo cual fue creado. Por ejemplo, mostrar los Figura 1. El sitio oficial de PHP en la Web. Desde aquí podremos bajar su última versión (www.php.net). Figura 2. Así se verá nuestro formulario de ejemplo a medida que vayamos introduciendo los datos. Figura 4. El mail que le enviaremos a los usuarios que completen el formulario será similar a éste. Figura 3. Ésta es la vista de nuestro programa luego de que el usuario completó el formulario y presionó [Enviar]. Developers_1_PHP_UI#5.qxd 4/4/01 1:48 PM Page 61
  • 4. DevelopersDEVELOPERSDEVELOPERS u s e r s . t e c t i m e s . c o m62 DevelopersDEVELOPERS <html> <head> <title>PHP</title> </head> <body> <?if ($tipo != “enviar”){?> <p>Por favor complete el siguiente formulario</p> <form method=”POST” action=”formulario.php”> <p>Nombre <input type=”text” name=”nombre”></p> <p>Direccion <input type=”text” name=”direccion”></p> <p>Telefono <input type=”text” name=”telefono”></p> <p>E-mail <input type=”text” name=”e_mail”></p> <p>Que hacemos <select size=”1” name=”hacemos”> <option value=”resultados”>Mostramos los resultados</option> <option value=”e_mail”>Enviamos los resultados por e-mail</option> <option value=”ambas”>Ambas - Mostramos los resultados y mandamos el mail</option> </select></p> <p><input type=”submit” value=”Enviar” name=”B1”><input type=”reset” value=”Restablecer” name=”B2”></p> <input type=”hidden” name=”tipo” value=”enviar”> </form> <? } else{ // Supuestamente tengo los campos completos // Aquí debo elegir qué hacer con los resultados if ($hacemos == “resultados”){ ?> <p>Hemos recibido los siguientes datos</p> <p><b><u>Nombre</u></b>: <? echo $nombre; ?></p> <p><b><u>Dirección</u></b>: <?echo $direccion; ?></p> <p><b><u>Teléfono</u></b>: <? echo $telefono; ?></p> <p><b><u>E-mail</u></b>: <? echo $e_mail; ?></p> Listado #1 resultados y enviarlos por e-mail, o guardarlos en una base de datos, etc. Los métodos POST y GET sirven para especificar cómo serán enviados los parámetros al programa. El autor del formulario selecciona el método más apropiado: <FORM METHOD= POST ACTION = “ejemplo.php”> <FORM METHOD= GET ACTION = “ejemplo.php”> Armando el formulario Comenzaremos armando un formulario básico que sirva para introducir el nombre, la dirección y el teléfono. Notemos que donde dice action=”......” debe ir la dirección de nuestro programa para procesar dicho formulario. Por ejem- plo, programa.php: <form method=”POST” action=”http://wwwww...”> <? }if ($hacemos == “e_mail”){ // Para enviar un mensaje utilizamos la función mail $contenido = “Gracias por darse de altann”; $contenido .= “Nombre: “ . $nombre . “n”; $contenido .= “Direccion: “ . $direccion . “n”; $contenido .= “Telefono: “ . $telefono . “n”; $contenido .= “E-mail: “ . $e_mail . “n”; $contenido .= “nnMartin”; mail ($e_mail, “Confirmacion”, $contenido, “From: Martin <mramos@infocomercial.com>”); echo “El mensaje ya ha sido enviado”;} if ($hacemos == “ambas”){ // Primero muestro los resultados ?> <p>Hemos recibido los siguientes datos</p> <p><b><u>Nombre</u></b>: <? echo $nombre; ?></p> <p><b><u>Dirección</u></b>: <? echo $direccion; ?></p> <p><b><u>Telefono</u></b>: <? echo $telefono; ?></p> <p><b><u>E-mail</u></b>: <? echo $e_mail; ?></p> <? // Envio los resultados por e-mail $contenido = “Gracias por dase de altann”; $contenido .= “Nombre: “ . $nombre . “n”; $contenido .= “Direccion: “ . $direccion . “n”; $contenido .= “Telefono: “ . $telefono . “n”; $contenido .= “E-mail: “ . $e_mail . “n”; $contenido .= “nnMartin”; mail ($e_mail, “Confirmacion”, $contenido, “From: Martin <mramos@infocomercial.com>”); echo “El mensaje ya ha sido enviado”; } } ?> </body> </html> Developers_1_PHP_UI#5.qxd 4/4/01 1:48 PM Page 62
  • 5. u s e r s . t e c t i m e s . c o m 63 <p>Nombre y Apellido <input type=”text” name=”nombre” size=”20”></p> <p>Direccion <input type=”text” name=”direccion” size=”20”></p> <p>Telefono <input type=”text” name=”telefono” size=”20”></p> <p><input type=”submit” value=”Enviar” name=”B1”><input type=”reset” value=”Restablecer” name=”B2”></p> <input type=”hidden” name=”tipo” value=”enviar”> </form> En este ejemplo hemos introducido un campo oculto, llama- do tipo, y cuyo valor es enviar. Generalmente, la mayoría de los formularios constan de dos páginas: la primera es la página principal donde aparece el formulario, y la segunda, la página o programa que procesa sus resultados. En nuestro ejemplo próximo, realizaremos un programa que se ocupará de ambas funciones en una única página. El obje- tivo es procesar los datos antes mencionados (nombre, direc- ción, teléfono y mail) y sobre estos datos producir las siguien- tes acciones, según la elección del usuario. Las acciones posibles son: • Opción 1: Mostrar los resultados. • Opción 2: Enviar los resultados por e-mail. • Opción 3: Realizar ambas cosas (mostrar los resultados y enviarlos por correo electrónico). Analizando el código En nuestro código vemos dos secciones bien definidas se- paradas por un condicional if. El if pregunta por si el pará- metro tipo tiene un valor distinto (!=) de enviar. Si tiene un valor diferente, significa que entramos en el programa por primera vez, con lo cual lo primero que deberá mostrar es el formulario. Cuando el usuario complete dicho formulario y presione el botón [Enviar], junto con los datos, enviará el parámetro oculto que mencionamos anteriormente, llamado tipo, y el va- lor que enviará es enviar para dicha variable. Cuando se vuelva a ejecutar el programa “formulario.php”, recorrerá el if principal, y entrará en el segundo segmento de código (por el else). Ahora, la variable “tiene” como valor el string enviar. En este segmento de código, el programa nos vuelve a pre- guntar, con distintos condicionales if, qué operación quere- mos realizar (mostrar los resultados, enviarlos, etc.). Tendre- mos un if por cada tipo de operación. El tipo de operación es el que el usuario seleccionó previa- mente en el formulario (en la lista desplegable), cuyo nombre de variable es “hacemos”. Si la operación elegida es Mostrar los resultados, entrará en el if donde la variable “hacemos” tenga como valor el string resultados. Si es otra, irá recorriendo los distintos if hasta en- contrar la opción correspondiente a la selección del usuario. Analicemos cada una de las opciones posibles: • Opción 1: Mostrar resultados. En esta opción, simplemen- te imprimimos, mediante el comando echo, printf o similar, los resultados obtenidos del formulario. • Opción 2: Enviar los resultados por e-mail. En este caso, utilizamos la función mail de PHP, para enviar los resultados por e-mail al destinatario. La función mail tiene la siguiente sintaxis: mail (para, tema, contenido, headers); Cualquier mensaje que nosotros deseemos enviar deberá con- tener las siguientes partes: • Destinatario: la persona que recibirá dicho mensaje • Tema: título del mensaje • Contenido: el texto principal del mensaje • Respuesta: dirección a la cual se enviarán las respuestas a dicho mensaje La dirección de correo electrónico del destinatario será el campo e-mail, completado por el usuario en el formulario. El tema del mensaje será el contenido, y la dirección de respues- ta, la que nosotros ingresemos en el código del programa cuando lo armemos. En este caso fueron utilizadas las si- guientes: • Tema: confirmación • Contenido: armamos un string con el contenido que de- seamos enviar. Podemos utilizar “n” para comenzar una nue- va línea, con el fin de no ver todo el mensaje corrido, sin sal- tos de líneas. En esta parte, también utilizamos el punto para concatenar el texto a los valores de las variables. $contenido .= “Telefono: “ . $telefono . “n”; El .= significa que la variable “contenido” será igual a su va- lor actual más lo que continúa. Es lo mismo que poner lo si- guiente: $contenido = $contenido . “xxxxxxxx”; • Respuesta: mramos@infocomercial.com. Debemos incluir un string del tipo From: Martin <mramos@infocomercial.com>. • Opción 3: Mostrar resultados y enviarlos por e-mail. Aquí utilizamos los códigos escritos arriba para ambas opciones an- teriores. Pueden encontrar el código completo en la página 62 y en la carpeta DEVELOPERS del CD que acompaña a esta revista. Conclusión Vimos cómo crear un formulario sencillo con PHP. También vimos cómo armar el programa para procesarlo, con formulario incluido, identificando el tipo de operación que el usuario quiera realizar. Ya nada nos impide comenzar a experimentar con este lenguaje y hacer, por ejemplo, el mismo formulario para almacenar dicha información en una base de datos. Pero bueno, eso lo dejaremos para la próxima. Developers_1_PHP_UI#5.qxd 4/4/01 1:48 PM Page 63

×