sábado, 10 de enero de 2015

Crear una newsletter y un flujo RSS



Crear una newsletter

Cree una página PHP que recupere la lista de nombres y de e-mails de personas. A continuación envíe un mensaje por e-mail. También actualice en la base de datos la fecha de envío a cada una de estas personas.

Solución

Cree la base de datos Newsletter y ejecute el script.
  • El script SQL que crea la tabla Cliente es:

CREATE TABLE Newsletter.Cliente (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
Nombre VARCHAR( 20 ) NOT NULL ,
Email VARCHAR( 25 ) NOT NULL ,
Fecha_envio DATE NOT NULL
) ENGINE = MYISAM ;
  • La página envío_newsletter.php es:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<title>NewsLetter</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
</head>
<body>
<?php date_default_timezone_set(’Europe/Paris’);?>
<h2>Envío de la newsletter el <?php echo date(
"Y-m-d H:i:s");?></h2>
<hr />
<?php
$connect = mysqli_connect("127.0.0.1", "root", "", "NewsLetter");
/* Comprobar la conexión */
if (!$connect) {
echo "Fallo de la conexión : ".mysqli_connect_error();
exit();
}
$consulta = "SELECT * FROM Cliente ORDER BY Nombre";
if ($resultado = mysqli_query($connect,$consulta)) {
/* busca la matriz asociativa */
while ($registro = mysqli_busca_assoc($resultado)) {
echo "Nombre:".$registro[’Nombre’].", ";
echo "Email:".$registro[’Email’];
echo "<br />";
//mensaje en formato HTML
$mensaje = Hola Sr/Sra ’.$registro[’Nombre’].’ !
<br />Email : ’.$registro[’Email’].’<br />’;
$mensaje = $mensaje.El mensaje de la newsletter es:’;
$mensaje = $mensaje.’¡Hasta pronto !’;
$from = "From: Estefanía Morales <newsletter@misitio.es>\n";
$from = $from."Mime-Version: 1.0\nContent-Type: text/html; charset=ISO-8859-1\n";
// envío del mail
mail($registro[’Email’],’Newsletter’,$message,$from);
//actualizar la fecha de envío en la base de datos
$consultaMAJ = "UPDATE Cliente set Fecha_envio=NOW() where
Id=".$registro[’Id’];
$resultadoMAJ = mysqli_query($connect,$consultaMAJ);
}
}
?>
</body>
</html>


Crear un flujo RSS

Cree una página PHP con el flujo RSS que muestre las últimas novedades del periódico "El País" a la siguiente dirección: http://ep01.epimg.net/rss/elpais/portada.xml
Solución
  • La página mostrar_rss.php es:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<title>Ejercicio con RSS</title>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<link rel="alternate" type="application/rss+xml"
href="http://ep01.epimg.net/rss/elpais/portada.xml" />
</head>
<body>
<?php
$rss = simplexml_load_file(’http://ep01.epimg.net/rss/elpais/
portada.xml’);
foreach ($rss->channel->item as $item) {
echo ’<div>
<h2>’.$item->titulo.’</h2>
<h4>post; el: ’.date("d/m/Y",strtotime($item->
pubDate)).’</h4>
’.$item->texto.’ <a href="’.$item->link.’">Leer todo el
artículo</a>
</div><br />’;
}
?>
</body>
</html>



Espero haber ayudado en algo. Hasta la próxima oportunidad!








No hay comentarios:

Publicar un comentario en la entrada