Foros del Web » Programando para Internet » PHP »

Mejorar un poco este formulario

Estas en el tema de Mejorar un poco este formulario en el foro de PHP en Foros del Web. Hola amigos. Tengo este simple formulario de contacto que funciona a la perfección: Código PHP: <?php $myemail  =  '[email protected]' ; $subject  =  'Solicitud de contacto' ; $op  ...
  #1 (permalink)  
Antiguo 28/04/2007, 19:06
Avatar de canzoneta  
Fecha de Ingreso: diciembre-2003
Ubicación: Mendoza
Mensajes: 79
Antigüedad: 20 años, 3 meses
Puntos: 1
Pregunta Mejorar un poco este formulario

Hola amigos. Tengo este simple formulario de contacto que funciona a la perfección:

Código PHP:
<?php

$myemail 
'[email protected]';
$subject 'Solicitud de contacto';

$op $_POST[op];

if(
$op == 'contact')
{
    
$name stripslashes($_POST[name]);
    
$lastname stripslashes($_POST[lastname]);
    
$email stripslashes($_POST[email]);
    
$phone stripslashes($_POST[phone]);
    
$hora stripslashes($_POST[hora]);
    
$referer $_POST[referer];
    
$remote_host $_SERVER[REMOTE_ADDR];
    
$server $_SERVER[SERVER_NAME];
    
$browser $_SERVER[HTTP_USER_AGENT];

    if(!
eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$",$email)) 
    { 
        
$status "Disculpe, pero ha ingresado un e-mail incorrecto.<br>";
    }
    if(!
$name)
    {
        
$status .= "Por favor ingrese su nombre.<br>";
    }
    if(!
$lastname)
    {
        
$status .= "Por favor ingrese su apellido.<br>";
    }

    if(!
$phone)
    {
        
$status .= "Por favor escriba un tel&eacute;fono.<br>";
    }

    if(!
$status)
    {
        
$header "From: $email";

        
$message "
            Nombre: $name
            Apellido: $lastname
            Tel&eacute;fono: $phone
            E-mail: $email
            Horario: $hora

            Referer: $referer
            Site: $server
            Remote Host: $remote_host
            Remote Browser: $browser

        "
;

        if(
mail($myemail$subject$message$header))
        {
            
$status "Gracias por contactarnos!!<br><br>";
        }
        else
        {
            
$status "There was a problem sending your feedback, please try again later.<br><br>";
        }

    }
    else
    {
        
$status .= "<br>Please press <u>back</u> on your browser to resubmit.<br><br>";
    }
}    

// Now check the referer page and ensure it's a proper URL

$referer $_SERVER[HTTP_REFERER];

if(!
preg_match('#^http\:\/\/[a-z0-9-]+.([a-z0-9-]+.)?[a-z]+#i'$referer))
{
    unset(
$referer);
}

?>

<?php print $status?>

<form method="post" action="<?php print $_SELF?>">
<input type="hidden" name="op" value="contact">
<input type="hidden" name="referer" value="<?php print $referer?>">
Nombre<br><input name="name" size="35" value=""><br>
Apellido<br><input name="lastname" size="35" value=""><br>
E-mail<br><input name="email" size="35" value=""><br>
Tel&eacute;fono<br><input name="phone" size="35" value=""><br>
Horario de contacto<br><input name="hora" size="35" value=""><br>
<br><br>
<input type="submit" value="Enviar">
</form>
Pero me gustaría que también le envíe un correo al mail ingresado en el formulario, agradeciendolé y mostrandolé los datos introducidos.

¿Es posible esto?
  #2 (permalink)  
Antiguo 28/04/2007, 20:31
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Mejorar un poco este formulario

Te remito a las FAQs de PHP, que es donde debiste buscar antes de postear:

http://www.forosdelweb.com/showthrea...350#post254350

Si tienes algun problema, postea en este mismo tema

Un saludo,
  #3 (permalink)  
Antiguo 28/04/2007, 21:04
Avatar de canzoneta  
Fecha de Ingreso: diciembre-2003
Ubicación: Mendoza
Mensajes: 79
Antigüedad: 20 años, 3 meses
Puntos: 1
Re: Mejorar un poco este formulario

Gracias por tu ayuda, aunque no me sirvió de nada ya que no es lo que pregunté.

Además ya había mirado en las FAQs y en otros posteos que tratan el envío de mails.

Si hay alguien con buena onda, bienvenido.
  #4 (permalink)  
Antiguo 28/04/2007, 21:09
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 10 meses
Puntos: 3
Re: Mejorar un poco este formulario

no se para que colocas esto:

if(mail($myemail, $subject, $message, $header))

creo que deberia de ser

mail($myemail, $subject, $message, $header)
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #5 (permalink)  
Antiguo 28/04/2007, 21:14
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Mejorar un poco este formulario

Bien, con una poca de imaginacion tu mismo tienes la respuesta... Te estas enviando un correo a ti mismo (tu correo esdta en la variable $myemail, y usas correctamente la funcion mail():

Código PHP:
if(mail($myemail$subject$message$header)) {
... 
Si ya hiciste todo eso, porque simplemente no colocas algo como:

Código PHP:
if(mail($myemail$subject$message$header)) 

//Defines el mensaje para el usuario
$message2 " Gracias por enviar su Feedback:
Nombre: $name 
Apellido: $lastname 
Tel&eacute;fono: $phone 
E-mail: $email 
Horario: $hora 
Referer: $referer 
Site: $server 
Remote Host: $remote_host 
Remote Browser: $browser 
"

$subject2 "Gracias por su Feedback"
$header2 "From: $myemail";
mail($email$subject2$message2$header2);
 
 
$status "Gracias por contactarnos!!<br><br>"

NO veo nada que ya no hayas puesto... Pido disculpas si el comentario que hice arriba lo consideraste ofensivo

Saludos,
  #6 (permalink)  
Antiguo 28/04/2007, 21:16
okram
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Re: Mejorar un poco este formulario

Cita:
Iniciado por el cirujano Ver Mensaje
no se para que colocas esto:

if(mail($myemail, $subject, $message, $header))

creo que deberia de ser

mail($myemail, $subject, $message, $header)
La funcion mail devuelve true si el envio se realizo con exito, y false si hubo un error. El colocar
Código PHP:
if(mail(...)) {
//Si mail() devolvio true
} else { 
//Si mail() devolvio false

es para mostrar un mensaje dependiendo de si el mail se envio o no con exito...

Un saludo,
  #7 (permalink)  
Antiguo 28/04/2007, 21:19
Avatar de canzoneta  
Fecha de Ingreso: diciembre-2003
Ubicación: Mendoza
Mensajes: 79
Antigüedad: 20 años, 3 meses
Puntos: 1
Re: Mejorar un poco este formulario

Disculpa okram, voy a testear tu consejo....
Luego te digo que onda...
  #8 (permalink)  
Antiguo 29/04/2007, 17:43
Avatar de canzoneta  
Fecha de Ingreso: diciembre-2003
Ubicación: Mendoza
Mensajes: 79
Antigüedad: 20 años, 3 meses
Puntos: 1
Re: Mejorar un poco este formulario

Gracias okram, gracias a tu ayuda el script funciona de maravilla. Ahí te dejo unos puntitos de calificación a modo de agradecimiento.

Buena vida!
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 19:51.