Uso de POST, GET y REQUEST en PHP

El lenguaje de PHP es un lenguaje de código abierto muy popular adecuado para el desarrollo web; PHP cuenta con etiquetas que nos ayudan al envió y recuperación de datos desde un servidor como lo son POST, GET  Y REQUEST.

Para utilizar estas etiquetas antes que nada se requiere de tener un servidor activo ya sea WampServer, Xampp, etc.

El siguiente formulario será utilizado para los tres próximos ejemplos modificando solo partes significativas del código.

El código de HTML es el siguiente:

GET

El método GET es un arreglo asociativo de variables enviados por medio de la URL. Consiste en enviar la información de un formulario y que se “incruste” en la URL junto con la página php.

La estructura de la URL es la siguiente.

altaRegistro.php?txtNombre=Nombre&txtAlias=Alias&txtPwd=123&retxtPwd=123

Donde se divide la URL en la dirección y los datos que se envían. El ‘?’ tiene la función de ser un separador entre la página y la información enviada y el ‘&’ sirve para separar los datos entre sí.

Para extraer la información por GET se utiliza la etiqueta $_GET y el nombre de la variable en el arreglo, tomando como ejemplo $_GET[‘txtNombre’].

POST

El método POST es un arreglo dinámico de variables asociadas a una petición. Aunque es algo parecido al método GET la característica de este método es que el envió de información es “invisible” para el usuario ya que a comparación del método GET no se muestra la información en la URL.

Para extraer la información por POST se utiliza la etiqueta $_POST y el nombre de la variable en el arreglo, tomando como ejemplo $_POST[‘txtNombre’].

REQUEST

El método REQUEST es un arreglo asociativo que por defecto contiene el contenido de tres métodos: GET, POST y COOKIE.

Una gran característica que tiene REQUEST es que se considera como una variable “superglobal” lo que significa que es una variable que estará disponible en cualquier parte del script ya sean métodos o funciones dentro del mismo.

Al utilizar REQUEST para obtener la información enviada desde un formulario en la parte de la etiqueta “method” se puede usar tanto GET como POST.

Uso básico de PHPmailer

A continuación les muestro un código que ejemplifica las lineas necesarias para el envío de correo electrónico usando PHPmailer via SMTP.
Inicialmente necesitamos descargar al menos las clases las clases class.phpmailer.php y class.smtp necesarias para su funcionamiento, la descarga se puede hacer desde aquí .

<?php
require "includes/class.phpmailer.php";
$mail = new phpmailer();

//parametros de configuración del servidor de envio
$mail-Mailer = "smtp";
$mail->Host = "servidor.dominio.com";
$mail->Username = "Nombre-de-usuario";
$mail->Password = "******************";
//en caso de que el servidor utilice autenticación para conectarse especificamos
$mail->SMTPAuth = true;
//si el puerto utilizado no es el predeterminado (25) debemos especificar explicitamente el puerto de conexion utilizado por el servidor
$mail->Port = 587;

$mail->From = "usuario@dominio.com";
$mail->FromName = "Nombre del usuario";

$mail->Timeout=30;

//Indicamos cual es la dirección de destino del correo
$mail->AddAddress("destino@dominio.com");

$mail->Subject = "Colocamos aquí el asunto del correo";
$mail->Body = "Dentro de Body colocamos el cuerpo del correo electónico“;

$mail->AltBody = “AltBody es un mensaje de texto alternativo al contenido del cuerpo del mensaje, debe ser descriptivo al contenido del mensaje”;
$seEnvio = false;
//se realizan hasta 5 intentos de envio de correo
$intentos=0;
while ((!$seEnvio) && ($intentos < 5)) {
sleep(5);
$seEnvio= $mail->Send();
$intentos=$intentos+1;
}
if(!$seEnvio)
{
echo “Ocurrio un error al intentar enviar el correo “;
echo “
“.$mail->ErrorInfo;
}
else
{
echo “El mensaje de correo electrónico se envió correctamente”;
}
?>

Las consideraciones que debemos tener son:

  • Verificar el nombre o IP del servidor de correo que utilizaremos para enviar el correo
  • Verificar el puerto de comunicación
  • Verificar si el servidor requiere autenticación
  • Verificar el puerto de comunicación
  • Proporcionar correctamente el nombre y contraseña de la cuenta de usuario

Saludos