Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/07/2006, 00:54
Avatar de Vortex
Vortex
 
Fecha de Ingreso: julio-2006
Ubicación: Anzoategui - Venezuela
Mensajes: 5
Antigüedad: 18 años, 4 meses
Puntos: 1
Sistema De Recomendacion - Para Recomendar Tu Sitio

Bueno, aqui les voy a enseñar como hacer un sistema para que los usuarios puedan recomendar tu sitio, el sistema es muyyyy pero muyy simple y lo pueden modificar segun sus nesecidades...y para que nose compliquen la vida le voy añadir un sistema de validacion.

Consta de dos archivos:
1) recomendar.php >>>
El Codigo:
Código HTML:
<!-- Start | Recomendar by: Vortext --><table width="88%" border="0" height="200">
		 <form name="recomendar" method="post" action="recomendar-process.php">
              <tr>
                  <td width="32%" height="30"><b>Tu Nombre:</b></td>
                  <td width="68%" height="30"> 
                    <input type="text" name="name_p">
                 
                </td>
              </tr>
              <tr>
                  <td width="32%"><b>Tu Email:</b></td> <td width="68%"> 
                    <input type="text" name="email_p">
                  </td>
              </tr>
              <tr>
                  <td width="32%"><b>Nombre del destinario:</b></td>  
                  <td width="68%"> 
                    <input type="text" name="name_s">
                  </td>
              </tr>
              <tr>
                  <td width="32%"><b>Email del destinario:</b></td>
                  <td width="68%"> 
                    <input type="text" name="email_s">
                  </td>
              </tr>
              <tr valign="top">
                  <td width="32%" ><b>Mensaje:</b></td>
                  <td width="68%">
                    <textarea name="mensaje" cols="52" rows="5">Hola, encontre esta pagina web y esta de lo mejor visitala...</textarea>
                  </td>
              </tr>
              <tr>
                  <td width="32%">&nbsp;</td>
                  <td width="68%"> 
                    <input type="submit" name="Enviar" value="Recomendar">
                    <input type="submit" name="Borrar" value="Borrar Datos">
                  </td>
              </tr>
			</form>
            </table><!-- Finish | Recomendar by: Vortext --> 
Como pueden ver es un simple formulario de codigo HTML haci que no nesecariamente hay que nombrar el archivo con extencion PHP...
El Nombre de los campos son:
* name_p: Nombre Principal
* email_p: Email Principal
* name_s: Nombre Secundario
* email_s: Email Secundario
* mensaje: Mensaje a Anexar

2) recomendar-process.php >>>
El Codigo:
Código PHP:
<?php
$msg_title 
"Nas podido enviar tu mensaje para recomendarnos debido a el siguiente error:";
if(
$_POST["name_p"]=="") {
$msg_error "<font color=\"#FF0000\">Tienes que colocar tu nombre</font><br><a href=\"javascript:history.back()\">Ir Atras</a>";
} else {
if(!
eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$_POST["email_p"])) {
$msg_error "<font color=\"#FF0000\">Tienes que colocar un correo electronico valido.</font><br><a href=\"javascript:history.back()\">Ir Atras</a>";
}else {
if(
$_POST["name_s"]=="") {
$msg_error "<font color=\"#FF0000\">Tienes que colocar el nombre del destinario.</font><br><a href=\"javascript:history.back()\">Ir Atras</a>";
} else {
if(!
eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$_POST["email_s"])) {
$msg_error "<font color=\"#FF0000\">El correo electronico del destinario no es valido.</font><br><a href=\"javascript:history.back()\">Ir Atras</a>";
}else {
if(
$_POST["mensaje"]=="") { 
$mensaje "Hola, encontre esta pagina web y esta de los mejor el nombre es NOMBRE DE TU PAGINA. Revisala !!";}
$cuerpo "
Hola, $name_s

Tu Amigo(a) $name_p te recomienda que visites el sitio web de NOMBRE DE TU PAGINA, si no sabes la direccion, esta es:
URL DE TU PAGINA

Ademas te anexa el siguiente mensaje:
 
$mensaje "
;

mail("$email_s","$name_p Te Recomienda NOMBRE DE TU PAGINA",$cuerpo,"From: $name_p <$email_p>");

$exito "Tu Mensaje se envio con exito, gracias por recomendarnos<br><a href=\"javascript:history.back()\">Ir Atras</a>";
}
}
}
}

if(
$exito==""){
echo 
$msg_title; }else{ echo $exito; }
echo 
"<br> $msg_error";

?>
Analizemos el codigo:
* primera parte:
Código PHP:
$msg_title "Nas podido enviar tu mensaje para recomendarnos debido a el siguiente error:"
Ese va hacer el mensaje que estan antes de mostrar el error...este mensaje nos dice que el mensaje no se envio por los siguientes error.

* segunda parte:
if($_POST["name_p"]=="") {
Código PHP:
$msg_error "<font color=\"#FF0000\">Tienes que colocar tu nombre</font><br><a href=\"javascript:history.back()\">Ir Atras</a>";
} else { 
Se hace una comprabacion del campo "name_p", se comprueba si esta vacio..si lo esta muestra el mensaje de error si no esta vacio pasa a la siguiente comprobacion mediante ELSE.

* tercera parte:
Código PHP:
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$_POST["email_p"])) {
$msg_error "<font color=\"#FF0000\">Tienes que colocar un correo electronico valido.</font><br><a href=\"javascript:history.back()\">Ir Atras</a>";
}else { 
Comprobamos si el correo es valido, no verificamos si el correo existe...verificamos los caracteres escritos en el campo si estos son correctos y que poseea la siguiente estructura: [email protected]. si no es haci, muestra un mensaje de error informando que el correo no es valido, pero si todo esta bien, pasa a la siguiente comprobacion.

* 4° parte:
Código PHP:
if($_POST["name_s"]=="") {
$msg_error "<font color=\"#FF0000\">Tienes que colocar el nombre del destinario.</font><br><a href=\"javascript:history.back()\">Ir Atras</a>";
} else { 
Esta comprobacion es igual a la de la segunda parte, solo que no revisa el campo "name_p" si no el campo "name_s",........muestra error si el campo esta vacio, si no pasa a la siguiente comprobacion.

* 5° parte:
Código PHP:
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$_POST["email_s"])) {
$msg_error "<font color=\"#FF0000\">El correo electronico del destinario no es valido.</font><br><a href=\"javascript:history.back()\">Ir Atras</a>";
}else { 
Igual a la de la tercera parte, valida el campo "email_s"...

--
La validacion de los campo es simultanea, es decir...valida campo por campo.

Cuando todo sale bien, es decir los campos son aceptados....se procede a enviar el correo a la persona que hallas determinado..(el correo que hayas colocado en el campo "email_s").


---------------- OPCIONAL -------------
comprobamos si el usuario haya colocado un mensaje de recomendacion en el campo de TEXTAREA (Area de Texto)....

Código PHP:
if($_POST["mensaje"]=="") { 
$mensaje "Hola, encontre esta pagina web y esta de los mejor el nombre es NOMBRE DE TU PAGINA. Revisala !!";

Esto lo que hace es que si no hay mensaje en ese campo, se envia uno predeterminado...OJO ES OPCIONAL.
------------------------------

Despues de hacer la validacion de los campo ... y comprobar de que todo estaba bien, procedemos a enviar el correo.
Código PHP:
$cuerpo "
Hola, $name_s

Tu Amigo(a) $name_p te recomienda que visites el sitio web de NOMBRE DE TU PAGINA, si no sabes la direccion, esta es:
URL DE TU PAGINA

Ademas te anexa el siguiente mensaje:
 
$mensaje "
;

mail("$email_s","$name_p Te Recomienda NOMBRE DE TU PAGINA",$cuerpo,"From: $name_p <$email_p>");

$exito "Tu Mensaje se envio con exito, gracias por recomendarnos<br><a href=\"javascript:history.back()\">Ir Atras</a>"
Cerramos Los ELSE de las validaciones.....
Código PHP:
}
}
}


Y por ultimo colocamos los ECHOS para mostrar los errores:
Código PHP:
if($exito==""){
echo 
$msg_title; }else{ echo $exito; }
echo 
"<br> $msg_error"
Primero comprobamos si se paso la vadilacion, como la validacion es realizada campo por campo, lo uno que hay que comprobar la ultima validacion es decir, en donde se manda el correo, es hay donde le damos el valor a la variable $exito de esta manera es que comprobamos si todo salio bien en la validacion..
Si a la variable $exito no se le da ningun valor es porque los campos no pasaron la validacion, es decir, el usuario se equivoco llenando los campos y no se envio el correo.

Bueno si $exito no tiene valor es decir que hay un error y muestra el titulo de los errores, el que anuncia que hay un error..
y luego muestra el mensaje de error en donde el usuario se equivoco llenando el formulario con la variable $msg_error.

---

Bueno, este fue mi script yo mismo lo realize, lo someti a pruebas, etc....etc...

Este es mi primer POST en este foro y me parece una buena manera de comensar a intergrarme a la comunidad....

El unico problema es que no pude aplicar los Arrays en todo el script es por eso que al principio se ve $_POST y en otra parte no...pero si me pueden ayudar a resolver esto...se los agradesco mucho...

Perdonen el execivoooooooooooooo eso del "es decir" jejeje. ^^

Ahora les pido a todos los usuarios que contribuyamos todos a la mejor de ste script...pongamos todos un grano de arena para ir mejorandolo...

Como pudieron ver era un script simple y efectivo y muy facil de modificar...no es la gran cosa pero es algo y disculpen los admin y moderadores por si el mensaje es muy largo y lo tenia que publicar en post diferentes ^^

Saludos......

Última edición por Vortex; 23/07/2006 a las 01:02