• 0
  • 8 RepliesReplies
  • 8292 ReadTimes Read
  • 0 PointsPoints

Topic: [Ayuda PHP] Modificar contact form para enviar e-mail variable.

Usuario: Maliante
Rango: Friend de SMFSimple
Mensajes: 1361
Points: 181
Mi web: http://www.ftasupport.info
Perfil: View Profile
Pais:
pr
Ok Tengo una parte del codigo pero necesito modificarlo para que haga lo que deseo.

Quiero poner un numero y al escoger el proveedor salga un mensaje e-mail y lo recivamos como mensaje de texto. Este es el codigo que tengo previamente.

contact.php
Code: [Select]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Contact Form</title>
</head>
<body>

<form method="post" action="sendeail.php">

<!-- DO NOT change ANY of the php sections -->
<?php
$ipi 
getenv("REMOTE_ADDR");
$httprefi getenv ("HTTP_REFERER");
$httpagenti getenv ("HTTP_USER_AGENT");
?>


<input type="hidden" name="ip" value="<?php echo $ipi ?>" />
<input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
<input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />

Numero celular:<br />
<input type="text" name="celnum" size="35" />
<br />
<br />
Proveedor:<br />
<select name="prvdr" size="1">
<option value="@tmomail.net"> T-Mobile </option>
<option value="@txt.att.net"> AT&T </option>
<option value="@tms.suncom.com"> Suncom </option>
</select>
<br /><br />
Mensaje:
<br />
<textarea name="notes" rows="4" cols="40"></textarea>
<br />
<input type="submit" value="Enviar" />
<br />
</form>

</body>
</html>

sendeail.php
Code: [Select]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Contact Form</title>
</head>
<body>


<?php

$ip 
$_POST[&#39;ip&#39;];
$httpref $_POST[&#39;httpref&#39;];
$httpagent $_POST[&#39;httpagent&#39;];
$visitor $_POST[&#39;visitor&#39;];
$visitormail $_POST[&#39;celnum&#39;];
$notes $_POST[&#39;notes&#39;];
$attn $_POST[&#39;prvdr&#39;];


if (eregi(&#39;http:&#39;, $notes)) {
die ("Do NOT try that! ! ");
}
if(!
$celnum == "" && (!strstr($celnum,"@") || !strstr($celnum,".")))
{
echo 
"<h2>Regresa - Entra un e-mail valido</h2>\n";
$badinput "<h2>No se envio nada</h2>\n";
echo 
$badinput;
die (
"Regresaa! ! ");
}

if(empty(
$visitor) || empty($celnum) || empty($notes )) {
echo 
"<h2>Regresa - llena todos los espacios</h2>\n";
die (
"Regresa! ! ");
}

$todayis date("l, F j, Y, g:i a") ;

$attn $prvdr ;
$subject $prvdr;

$notes stripcslashes($notes);

$message $todayis [EST] \n
Attention: 
$prvdr \n
Message: 
$notes \n
From: 
$visitor ($celnum)\n
Additional Info : IP = 
$ip \n
Browser Info: 
$httpagent \n
Referral : 
$httpref \n
"
;

$from "From: $celnum\r\n";


mail($a_donde_enviar=$_POST[&#39;prvdr&#39;], $message);

?>


<p align="center">
Fecha: <?php echo $todayis ?>
<br />
Gracias : <?php echo $visitor ?> ( <?php echo $visitormail ?> )
<br />

Enviado a: <?php echo $attn ?>
<br />
Mensaje:<br />
<?php $notesout str_replace("\r""<br/>"$notes);
echo 
$notesout?>

<br />
<?php echo $ip ?>

</body>
</html>

Ok deseo que se pueda unir el $celnum con el $prvdr para qu sea numerodelcel@proveedor.com y asi salga el mensaje de texto,

Gracias por su atencion

Saludos
Maliante
Usuario: Papá distante
Rango: Moderador Global
Mensajes: 3504
Points: 168
Perfil: View Profile
Pais:
de
Vamos desarrollando y probando!

Yo prepararía directamente mi archivo de envío usando $_POST

Esta variable lo que hace es obtener los parámetros que enviamos desde un formulario

Por ejemplo:

Creamos 2 archivos, primero contacto.html que nos ejecute un formulario que llamará a SmfSimpleMail.php

Code: ("contacto.html") [Select]
<form action="SmfSimpleMail.php" method="post">
 Correo: <input type="text" name="correo" />
 asunto: <input type="text" name="asunto" />
Mensaje: <input type="text" name="mensaje" />
 <input type="submit" />
 </form>


Code: ("smfsimplemail.php") [Select]
<?php

$mensaje 
$_POST["correo"].&#39; escribió &#39;.$_POST["mensaje"]; //juntamos el destinatario con el mensaje
$asunto $_POST["asunto"];

// enviamos el correo!
mail(&#39;correo_de_destino@misite.com&#39;, $asunto, $mensaje);
?>


Con eso debería llegar un mensaje algo como:

Quote
Asunto: Lo que sea que escribí aquí
Mensaje: correo_de_usuario@servidor_de_usuario.com escribió: Hey este formulario apesta"

Lo hice de pura teoría porque en mi local host no puedo enviar correos! a ver que tal? ::)
Usuario: Maliante
Rango: Friend de SMFSimple
Mensajes: 1361
Points: 181
Mi web: http://www.ftasupport.info
Perfil: View Profile
Pais:
pr
Parece que no explique bien deseo que se pueda hacer para q se escoja asi.

usuario@proveedor.com por que ponerlo directamente es facil pero deseo hacerlo que sea algo asi.



Es que el proposito es variado.

Saludos
Maliante
Usuario: Papá distante
Rango: Moderador Global
Mensajes: 3504
Points: 168
Perfil: View Profile
Pais:
de
lo mismo que puse se puede usar para esto. Solo cambias los "input", y agregas

Code: [Select]
<select name="operador">
<optgruop>
<option>"gmail"</option>
<option>"hotmail"</option>
<option>"xxxmail"</option>
</optgroup>
</select>

Y envías las variables.
Usuario: Maliante
Rango: Friend de SMFSimple
Mensajes: 1361
Points: 181
Mi web: http://www.ftasupport.info
Perfil: View Profile
Pais:
pr
Ok hice el cambio pero no deseo que tenga ni envie asunto solo envie el mensaje.

Que sea algo sencillo.

Gracias
Maliante
Usuario: Papá distante
Rango: Moderador Global
Mensajes: 3504
Points: 168
Perfil: View Profile
Pais:
de
Pones los campos que desees y en el otro lado recibes los cambos que deseas.

Recuerda que en el formulario, especificas el campo con los name="nombre"
Y en el php recibes los campos con el $_POST["name"]
Usuario: Maliante
Rango: Friend de SMFSimple
Mensajes: 1361
Points: 181
Mi web: http://www.ftasupport.info
Perfil: View Profile
Pais:
pr
Bahhhh no entendi nada.

La verdad es q de php no se nada de nada.

Te dire como Don Francisco "Como dice que dijo"

Hasme el favor y copialo y me explicas por q es asi la vdd no entendi.

Saludos
Maliante
Usuario: Papá distante
Rango: Moderador Global
Mensajes: 3504
Points: 168
Perfil: View Profile
Pais:
de
Code: ("contacto.html") [Select]
<html>
<body>
<form action="SmfSimpleMail.php" method="post">
 Correo: <input type="text" name="correo" /><select name="operador">
 <optgruop>
<option value="@gmail.com"> gmail </option>
<option value="@hotmail.com"> hotmail </option>
<option value="@yahoo.com"> Yahoo </option>
<option value="@live.net"> live </option>
</optgroup>
</select><br /><br />
 asunto: <input type="text" name="asunto" /><br /><br />
Mensaje: <input type="text" name="mensaje" /><br /><br />
<input type="submit" value="Enviar" />
 </form>
 </body>
 </html>


Code: ("SmfSimpleMail.php") [Select]
<?php

echo &#39;Este es el correo : &#39;.$_POST["correo"].&#39;<br />&#39;;
echo &#39;Este es el operador: &#39;. $_POST["operador"].&#39;<br />&#39;;
echo &#39;Este es el mensaje: &#39;. $_POST["mensaje"].&#39;<br /><br />&#39;;
$mensaje $_POST["correo"].$_POST["operador"].&#39; escribió :<br /> &#39;.$_POST["mensaje"]; //juntamos el remitente con el mensaje

// enviamos el correo!
mail(&#39;correo_de_destino@misite.com&#39;, &#39;Mensaje nuevo de formulario&#39;, $mensaje);
?>



Testeado y funcionando con un leve problema de que no me lee el <br /> entre el correo y mensaje, pero ya es tarde :P



A tomar en cuenta

SmfSimpleMail.php
no es igual que smfsimplemail.php
. Los servidores distinguen entre mayúsculas y minúsculas.
Usuario: Maliante
Rango: Friend de SMFSimple
Mensajes: 1361
Points: 181
Mi web: http://www.ftasupport.info
Perfil: View Profile
Pais:
pr
Lo probamos y te decimos como funciono.

Gracias de Antemano.

Saludos
MAliante
 

TAGS



top

Smfsimple.com es un sitio destinado a brindar un servicio de soporte y herramientas para foros realizados con el sistema de foros gratuito simplemachines.org. Contamos con un selecto equipo de desarrolladores y conocedores del sistema, sus foros estaran en buenas manos.
This site is not affiliated with or endorsed by Simple Machines