Recomendar un sitio usando PHP

Valoración del artículo:
Script que conmina a un usuario a visitar el sitio web, via e-mail.
Publicado: 03/6/04
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Este sistema permite al usuario enviar desde la web, un e-mail a otra persona, invitándolo a visitar el sitio.

Solo requiere un módulo PHP que se encargará de mostrar el formulario de recomendación, enviar el e-mail y devolver un acuse de envío.

recomendar.php

<!-- formulario de recomendación -->

<? if ($HTTP_GET_VARS["accion"] == "") {
?>

<form method="post" action="recomendar.php?accion=enviar" name="recomienda">
<b>Recomienda este sitio</b><br><br>
Tu Nombre: <input type="text" name="n_remitente" size="10"><br>
Tu E-mail: <input type="text" name="e_remitente" size="20"><br>
Nombre de tu amigo: <input type="text" name="n_destinatario" size="10"><br>
E-mail de tu amigo: <input type="text" name="e_destinatario" size="20"><br><br>
<input type="submit" value="Recomendar">
</form>

<!-- envío del formulario y acuse de envío o información de errores -->
<?
}

elseif ($HTTP_GET_VARS["accion"] == "enviar") {

// recojo las variables que vienen desde el formulario
$n_destinatario = $HTTP_POST_VARS["n_destinatario"];
$e_destinatario = $HTTP_POST_VARS["e_destinatario"];
$n_remitente = $HTTP_POST_VARS["n_remitente"];
$e_remitente = $HTTP_POST_VARS["e_remitente"];

// si los campos no están vacíos
  if ($n_destinatario != "" && $e_destinatario != "" && $n_remitente != "" && $e_remitente != "") {

//indica la url de tu sitio
    $url = "http://www.tusitio.com";
//indica el nombre de tu sitio
     $nombre_del_sitio = "Tu Sitio";
//indica el asunto del mensaje
     $asunto = $n_remitente . " te recomienda un sitio";
//redacta el mensaje
     $mensaje = "Hola " . $n_destinatario . ":<br>";
     $mensaje .= $n_remitente . " te recomienda que visites <b>" . $nombre_del_sitio . "</b>.<br>";
     $mensaje .= "Puedes verlo en <a href='" . $url . "'>" . $url . "</a><br><br>Saludos!";

//indica que el mail se envía en formato HTML

     $encabezado = "From:".$e_remitente."\nReply-To:".$e_remitente."\n";
     $encabezado .= "X-Mailer:PHP/".phpversion()."\n";
     $encabezado .= "Mime-Version: 1.0\n";
     $encabezado .= "Content-Type: text/html";

//envía el mensaje

     mail($e_destinatario,$asunto,$mensaje,$encabezado);

//Informa al usuario que se ha enviado el mensaje

     echo "<b>El mensaje ha sido enviado</b>.<br>Gracias por recomendarnos!";

     }

//si existen campos vacíos, envía un mensaje de error

     else {

     echo "Por favor, es necesario que completes todos los campos.<br>";
     echo "<a href='recomendar.php'>Pincha aquí</a> para corregir los campos.";

     }

}
?>

Comentarios
Fueron enviados 17 comentarios al artículo
16 comentarios no revisados
1 comentario revisado:
Por: Jose
28/5/06
Buenas de nuevo he probado el script y me ha funcionado en mi pagina pero me entra una gran duda, pues al mirar el mensaje parece como si lo hubiera mandao desde el origen por tano se confirma mi temor de ser suplantado por correo.

Este es oel mismo codigo para el que no le fucione en su hosting, solo que modificado.

<!-- formulario de recomendación -->

<? if ($HTTP_GET_VARS["accion"] == "") {
?>

<form method="post" action="recomendar.php?accion=enviar" name="recomienda">
<b>Recomienda este sitio</b><br><br>
Tu Nombre: <input type="text" name="n_remitente" size="10"><br>
Tu E-mail: <input type="text" name="e_remitente" size="20"><br>
Nombre de tu amigo: <input type="text" name="n_destinatario" size="10"><br>
E-mail de tu amigo: <input type="text" name="e_destinatario" size="20"><br><br>
<input type="submit" value="Recomendar">
</form>

<!-- envío del formulario y acuse de envío o información de errores -->
<?
}

elseif ($HTTP_GET_VARS["accion"] == "enviar") {

// recojo las variables que vienen desde el formulario
$n_destinatario = $HTTP_POST_VARS["n_destinatario"];
$e_destinatario = $HTTP_POST_VARS["e_destinatario"];
$n_remitente = $HTTP_POST_VARS["n_remitente"];
$e_remitente = $HTTP_POST_VARS["e_remitente"];
//Creamos esta variable con nuestro email del dominio (el que sea)
$email="nombre@domino.com";

// si los campos no están vacíos
if ($n_destinatario != "" && $e_destinatario != "" && $n_remitente != "" && $e_remitente != "") {

//indica la url de tu sitio
$url = "http://www.nombre.com.es";
//indica el nombre de tu sitio
$nombre_del_sitio = "Tu sitio.";
//indica el asunto del mensaje, aqui hemos añadido la variable ya existente del remitente para que sepa la direccion del que se lo mando
$asunto = $n_remitente . " te recomienda un sitio";
//redacta el mensaje
$mensaje = "Hola " . $n_destinatario . ":<br>";
$mensaje .= $n_remitente . "con email" . $e_remitente ." ,te recomienda que visites <b>" . $nombre_del_sitio . "</b>.<br>";
$mensaje .= "Puedes verlo en <a href='" . $url . "'>" . $url . "</a><br><br>Saludos!";

//indica que el mail se envía en formato HTML
//Importante aqui hemos quita la variable $e_remitente por la nuestra, $email
$encabezado = "From:".$email." Reply-To:".$e_remitente." ";
$encabezado .= "X-Mailer:PHP/".phpversion()." ";
$encabezado .= "Mime-Version: 1.0 ";
$encabezado .= "Content-Type: text/html";

//envía el mensaje

mail($e_destinatario,$asunto,$mensaje,$encabezado);

//Informa al usuario que se ha enviado el mensaje

echo "<b>El mensaje ha sido enviado</b>.<br>Gracias por recomendarnos!";

}

//si existen campos vacíos, envía un mensaje de error

else {

echo "Por favor, es necesario que completes todos los campos.<br>";
echo "<a href='recomendar.php'>Pincha aquí</a> para corregir los campos.";

}

}
?>


Manuales relacionados
Categorias relacionadas
El autor
Eugenia Bahit
Desarrolladora ASP y PHP
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Alojados en el grupo