> Manuales > Sistema de envío de postales en PHP

Describimos el programa que se encarga de visualizar la postal al destinatario una vez ésta ha sido enviada

En el e-mail recibido, el destinatario verá una URL que nosotros mismos hemos generado dinámicamente. Al dirigirse a ella lo que estará haciendo es ejecutar un script que, en base al identificador que su URL, mostrará la postal correspondiente por una simple llamada a la base de datos.

El script ha de tener en cuenta la posibilidad de que el identificador sea erróneo ya sea debido a que dicho registro haya sido borrado de la base o bien a causa de que el internauta esté intentando acceder a una postal que no es la suya.

Si se trata efectivamente del identificador correcto, por medio de la llamada a la base de datos, podremos ir sacando uno a uno los parámetros almacenados para recomponer la postal tal y como el remitente la ha creado.

A continuación, en el caso en el que el remitente lo haya solicitado, le enviaremos un mensaje notificándole de la recepción de la postal:

<?
//Incluimos la libreria de funciones
include("funciones.php");

//Creamos el encabezado HTML
html_encabezado("Servicio de postales de DesarrolloWeb","Servicio de postales gratuitas para todo tipo de felicitaciones","postal, navidad, san valentin, cumpleaños, felicitacion");

//En $id_postal tenemos la clave de la postal que se solicita
//Extraemos de la BD los datos para generar la postal

//Conectamos a la BD
$connectid=mysql_conexion();

//Ejecutamos sentencia SQL y recogemos resultado en damefila
$resultid = mysql_db_query("postal","SELECT * FROM postal WHERE id_postal=" . $id_postal);
$damefila=mysql_fetch_array($resultid);

//Si el identificador es correcto, deberiamos tener valores en damefila
if ($damefila) //Si existe esa postal la muestro
{

//Recreamos la postal con los datos extraidos
?>
<br>
<table align="center" cellspacing="0" cellpadding="2" border="0" bgcolor="White">
<tr>
   <td align="left" valign="middle"><img src="2lightho.gif" width="32" height="32" border="0" alt=""></td>
   <td rowspan="2" width="300"><? echo $damefila["nombre_destinatario"].',<br>&nbsp;&nbsp;&nbsp;'.$damefila["texto"].'<br>'.$damefila["nombre_remitente"];?></td>
</tr>
<tr>
   <td><img src="<? echo"imagenes/".$damefila["id_imagen"].".gif" ?>" border="0" alt=""></td>
</tr>
</table>
<div align="center"><a href="index.php">Envía una postal a alguien</a></div>
<?
//En caso de haberlo pedido, enviamos un mail para notificar la recepcion
   if ($damefila["avisar"]="checked")
   {

//Variables de configuracion del correo
      $asunto = "Tu postal ha sido recibida";
      $cuerpo_mensaje = "Saludos cordiales ".$damefila["nombre_remitente"].",\n\n";
      $cuerpo_mensaje .= $damefila["nombre_destinatario"]." ha recibido bien tu postal.\n";
      $headers_mensaje = "From: DesarrolloWeb.com>\n";

//Funcion para enviar el correo
      $mailenviado = mail ($damefila["email_remitente"], $asunto, $cuerpo_mensaje, $headers_mensaje);
   }
}
else //El identificador era erroneo, la postal no existe
   echo "<div align=\"center\">Lo sentimos, pero esa postal no existe</div>";

//Liberamos la memoria de consulta
mysql_free_result($resultid);
?>
</body>
</html>

Con este script finaliza este manual práctico de programación en PHP.

Esperamos que hayáis sacado partido de él y que os haya dado un poco más de soltura para poder abordar vuestros primero proyectos en PHP con una base suficiente.

Os agradeceremos cualquier comentario sobre este o cualquier otro de los manuales a la vez que os invitamos a plantearnos vuestras posibles dudas en la dirección de ayuda de esta misma web.

Asimismo os recordamos la existencia de foros especializados y ponemos a vuestra disposición la lista de recursos de PHP más significativos del web.

¡Manos a la obra!



Ir a la aplicación

Rubén Alvarez

Rubén es doctor en química y programador aficionado con experiencia en PHP.

Manual