Foros del Web » Programando para Internet » PHP »

Reenvío de formularo al remitente

Estas en el tema de Reenvío de formularo al remitente en el foro de PHP en Foros del Web. Hola de nuevo. He estado navegando por los diferentes post que tratan este tema pero no me han solucionado mucho, por eso publico este nuevo ...
  #1 (permalink)  
Antiguo 11/10/2010, 02:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
Reenvío de formularo al remitente

Hola de nuevo.
He estado navegando por los diferentes post que tratan este tema pero no me han solucionado mucho, por eso publico este nuevo tema.

Hace algún tiempo hice una consulta sobre como [URL="http://www.forosdelweb.com/f18/como-implementar-captcha-formulario-html-php-844451/#post3570979"]implantar captcha en un formulario de contacto[/URL] sencillo. Ahora necesito añadir a este una casilla que al marcarla envíe una copia del formulario al remitente.

El código que tengo es el siguiente:

nombre archivo: enviar:php
Código PHP:
<?php

session_start
();

// Configuracion 
$conf['mailDestinatario'] = '[email protected]'
$conf['mailAsunto'] = 'Buzon'
$conf['url_error'] = 'http://www.dominio.es/---cambiar por la página de error---'
$conf['url_ok'] = 'http://www.dominio.es/---cambiar por la página de ok---';

######################################################################
# codigo de verificacion
######################################################################

// Validar argumentos y captcha
if(!$_POST) {
  
header('Location: '.$conf['url_error']);
  exit;
}

if (
$_SESSION['tmptxt'] != $_POST['tmptxt']) { 
  
header('Location: '.$conf['url_error']); 
  exit; 
}

// Limpiar input de usuario
foreach($_POST as $id=>$value) {
  
$var[$id] = strip_tags(trim($value));
}

// Definir cuerpo del email
foreach($var as $id=>$value) {
  
$mailCuerpo .= "$id : $value\r\n";
}

// Enviar correo
if(mail($conf['mailDestinatario'], $conf['mailAsunto'], $mailCuerpo)) {
  
header('Location: '.$conf['url_ok']);
} else {
  
header('Location: '.$conf['url_error']);
}

?>
Código HTML:
<head>

</head>

<body>

<form name="fvalida" action="enviar.php" method="post">
Nombre y apellidos
<!--webbot bot="Validation" s-data-type="String" b-allow-letters="TRUE" b-value-required="TRUE" i-minimum-length="10" i-maximum-length="60" --> 
<input type="text" name="Nombre" size="71" maxlength="60" /><br>
<br>
D.N.I.
<!--webbot bot="Validation" b-value-required="TRUE" i-minimum-length="7" i-maximum-length="12" --> 
<input type="text" name="DNI" size="18" maxlength="12" />&nbsp; Correo 
electrónico
<!--webbot bot="Validation" b-value-required="TRUE" i-minimum-length="8" --> 
<input type="text" name="Correo" size="40"><br>
<br>

<br>
Mensaje
<!--webbot bot="Validation" b-value-required="TRUE" i-minimum-length="25" --> 
<textarea rows="3" name="Mensaje" cols="69"></textarea><br>
<br>

<br>
<img src="http://www.aytoquintanar.org/images/captcha.php" width="100" height="30"> <input name="tmptxt" type="text"> 
Código de seguridad (mayúsculas, minúsculas y números)<br>
<br>
<input type="submit" value="  Enviar  ">
<input type="reset" value="Borrar" name="REESTABLECER">
</form>

</body>
</html> 
Como he comentado, solamente habría que añadir una casilla que al marcarla, el código php utilice la dirección de correo electrónico que ha introducido el remitente y le reenvíe una copia del formulario.

En caso de que marque la casilla pero no haya introducido ninguna cuenta de correo electrónico, tendria que avisar que falta ésta.

Grácias por adelantado y espero vuestras sugerencias.
  #2 (permalink)  
Antiguo 11/10/2010, 05:40
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Reenvío de formularo al remitente

Bueno supongo que ya sabrás como hacer una casilla en html. En cuanto al PHP:

Código PHP:

if($_POST['casilla'] == true && $_POST['correo'] ==  true){

mail($_POST['correo'], $_POST['asunto'], $mensaje);

}else if(
$_POST['casilla'] == true && $_POST['correo'] ==  false){

echo 
"Introduce tu correo!";


Espero que te sirva
  #3 (permalink)  
Antiguo 12/10/2010, 12:05
 
Fecha de Ingreso: septiembre-2010
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Reenvío de formularo al remitente

Muchas gracias.
Voy a probarlo y te comento.

Saludos.
  #4 (permalink)  
Antiguo 13/10/2010, 01:38
 
Fecha de Ingreso: septiembre-2010
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Reenvío de formularo al remitente

Hola,
He probado el código pero no me funciona.

La casilla la he creado de la siguiente manera:

Código HTML:
<input type="checkbox" name="casilla" value="ON">Marque esta casilla para enviar 
una copia a su correo electrónico
Me envía el mensaje al destinatario correctamente pero no manda la copia al marcar la casilla.

Seguiré probando.

Gracias.
  #5 (permalink)  
Antiguo 15/10/2010, 05:19
 
Fecha de Ingreso: septiembre-2010
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Reenvío de formularo al remitente

Perdona 3nr1c, he hecho un par de ajustes (sin importancia) y ahora me funciona perfectamente. Eres un crack

Muchas gracias por tu ayuda.
Se puede cerrar el tema.

Saludos a todos.

Etiquetas: formularo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:22.