Foros del Web » Programando para Internet » PHP »

Problema de envio de formulario

Estas en el tema de Problema de envio de formulario en el foro de PHP en Foros del Web. Hola, estoy creando para una web un formulario que me envíe información del visitador y hasta el momento solo he conseguido que me lleguen los ...
  #1 (permalink)  
Antiguo 03/10/2007, 14:21
 
Fecha de Ingreso: agosto-2007
Mensajes: 27
Antigüedad: 16 años, 8 meses
Puntos: 0
Problema de envio de formulario

Hola, estoy creando para una web un formulario que me envíe información del visitador y hasta el momento solo he conseguido que me lleguen los mails con el cuerpo del mensaje pero sin los datos que introduce el visitador en el. Estoy empezando en .php y no lo tengo demasiado claro.

Podéis echarle un vistazo a ver si le veis el error, os pongo el código .php que hace y envía el cuerpo del mensaje.

Muchas gracias.

email.php
Código PHP:
<!DOCTYPE html PUBLIC "-//W3CWorld Wide Web Consortium//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">undefinedundefinedundefined
#
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
#
    <head profile="http://gmpg.org/xfn/1">
#
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
#
    <title>Gracias por tu mensaje.</title>
#
    <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
#
    <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
#
    </head>
#
    <body>
#
    <div id="contactform">
#
    <?php
#
    
$headers "From: $email";
#
      
$message "

      FORMULARIO DE CONSULTA DESDE WEB
#
#
      De: $name $surname
#
      E-Mail: $email
#
      Telefono: $phone
#
      Poblacion: $postcode
#
      Pagina Web: $url
#
      Desde : Fórmulario de consulta desde WEB
#
      ____________________________________
#
      Motivo : $sub
#
      Datos: $text
#
    "
;
#
    
$message2 "
#
      Gracias por enviar el mensaje con motivo: $sub.\n
#
      Para tu referencia, se ha añadido el texto original del mensaje al final de este correo.\n
#
      Tu mensaje enviado es:
#
      ---------------
      $text
      ---------------
#
    "
;
#
      
$headers2 "From: [email protected]";
#
      
$sub2 ="Re: $sub";
#
    
?>
#
    <h2>Gracias!</h2>
#
    <p>Tu mensaje ha sido enviado, usando la dirección de remitente </p>
#
    <p><span style="color:red;font-size:150%;font-weight:bold;">
    
        <?php print $email?>
    
    </span></p>
#
    <p>Si no es correcto,
#
    <script type='text/javascript'>
#
      document.write('<a href="javascript:history.go(-1);">vuelve atras</a>');
#
    </script>
#
    <noscript>vuelve atras</noscript> y envialo de nuevo</p>
#
    <script type='text/javascript'>
#
      document.write('<p class="details"><a href="javascript:history.go(-2);">Volver a la página de inicio.</a></p>');
#
    </script>
#
    <script type='text/javascript'>
#
      setTimeout('history.go(-2)', 9000);
#
    </script>
#
    <noscript>
#
    <p class="details">Pulsa el boton "atras" en tu navegador para volver a la página anterior.</p>
#
    </noscript>
#
    <?php
#
      
$message stripslashes($message);
#
      
$message2 stripslashes($message2);
#
      
$message strip_tags ($message);
#
      
$message2 strip_tags ($message2);
#
      // RECUERDAR CAMBIAR LA DIRECCION DE CORREO
#
      
mail("[email protected]"$sub$message$headers);
#
      
mail("[email protected]"$sub2$message2$headers2);
#
      
?>
#
    </div>
#
    </body>
#
    </html>

Última edición por jagomez; 04/10/2007 a las 08:18
  #2 (permalink)  
Antiguo 03/10/2007, 14:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema de envio de formulario

No indicas de donde obtienes las variables, pero creo viendo el codigo el problema es que tienes desactivado el uso de las variables globales por lo que en lugar de usar $name tendras que usar $_POST['name'].

Saludos.
  #3 (permalink)  
Antiguo 04/10/2007, 08:17
 
Fecha de Ingreso: agosto-2007
Mensajes: 27
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problema de envio de formulario

Las variables las traigo desde el fichero contact.php del formulario y hago el envio del formulario al email.php para que cree el cuerpo del mensaje y lo envie a las direcciones correctas.

contact.php
Código PHP:
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTMLExtensible HyperText Markup Language 1.0 Strict//EN"
#
        "http://www.w3.org/TR/xhtml1/DTDDocument Type Definition/xhtml1-strict.dtd">
#
   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
#
        <head profile="http://gmpg.org/xfn/1">
#
                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
#
                <title>Formulario de Contacto</title>
#
                <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
#
                <script type="text/javascript">
#
                function stoperror(){
#
                        return true
#
                }
#
                window.onerror=stoperror
#
                </script>
#
                <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
#
                </head>
#
                <body>
#
        <div id="contactform">
#
                <h1>Formulario de Contacto</h1>
#
                <form id="contact-form" method="post" onsubmit="return emailCheck(this.email.value);" action="email.php">
#
                                <fieldset>
#
                                <legend>Datos Personales &raquo;</legend>
#
                        <div>
#
                                <label for="visitorname">
#
                                        <span style="color:#c00;">*</span>Nombre:
#
                                </label>
#
                                        <input type="text" name="name" id="visitorname" title="Tu Nombre" />
#
                                </div>
#
                                <div>
#
                                        <label for="visitorsurname">
#
                                                <span style="color:#c00;">*</span>Apellidos:
#
                                        </label>
#
                                        <input type="text" name="surname" id="visitorsurname" title="Tu Apellido" />
#
                                </div>
#
                                <div>
#
                                        <label for="visitormail">
#
                                                <span style="color:#c00;">*</span>Direcci&oacute;n de correo:
#
                                        </label>
#
                                <input type="text" name="email" id="visitormail" value="<?php echo $email?>" title="Tu dirección de correo" />
#
                        </div>
#
                        <div>
#
                                <label for="url">Página Web:</label>
#
                                        <input type="text" name="url" id="url" class="text" title="Tu página web" />
#
                                </div>
#
                           <div>
#
                                   <label for="phone">Teléfono:</label>
#
                                        <input type="text" name="phone" id="phone" class="text" title="Tu número de telefono" />
#
                                </div>
#
                        <div>
#
                                <label for="postcode">Poblacion:</label>
#
                                <input type="text" name="postcode" id="postcode" class="text" title="El codigo postal de tu localidad" />
#
                        </div>
#
                        <div>
#
                                <input type="submit" id="submit" name="send" value="Enviar &raquo;" title="Pulsa una vez para enviar el mensaje, y espera a la pantalla de confirmación" />
#
                        </div>
#
                </fieldset>
#
                <fieldset>
#
                <legend>Envianos tu Mensaje &raquo;</legend>
#
                        <div>
#
                           <label for="subject">
#
                                <span style="color:#c00;">*</span>Motivo del mensaje:
#
                           </label>
#
                        <input type="text" name="sub" id="subject" title="El motivo de tu mensaje" />

#
                </div>
#
                <div>
#
                        <label for="notes">
#
                                <span style="color:#c00;">*</span>Cuerpo del Mensaje:
#
                        </label>
#
                        <textarea name="text" id="notes" rows="" cols="" onkeyup="val=this.value; if (val.length > 800) { alert('Lo siento, has sobrepasado el limite de 800 caracteres'); this.value = val.substring(0,800); }  this.form.count.value=800-parseInt(this.value.length); "><?php echo $text?></textarea>
#
                </div>
#
                <div>
#
                        <label for="count">Caracteres disponibles:</label>
#
                                <input type="text" name="count" id="counter" value="800" size="2" />
#
                                <?php $text_len preg_match_all('/./'$str$dummy); ?>
#
                        </div>
#
                </fieldset>
#
           </form>
#
                <p><span style="color:#c00;">*</span>Campos Obligatorios</p>
#
                <p><span style="color:red;font-weight:bold;"><?php echo $error ?></span></p>
#
                <script type="text/javascript" src="var.js"></script>
#
                </div>
#
   </body>
#
   </html>
#
  #4 (permalink)  
Antiguo 05/10/2007, 07:52
 
Fecha de Ingreso: agosto-2007
Mensajes: 27
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problema de envio de formulario

¿Alguien me puede ayudar? No encuentro lo que falla.

Muchas gracias.
  #5 (permalink)  
Antiguo 05/10/2007, 08:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema de envio de formulario

Cita:
Iniciado por GatorV Ver Mensaje
No indicas de donde obtienes las variables, pero creo viendo el codigo el problema es que tienes desactivado el uso de las variables globales por lo que en lugar de usar $name tendras que usar $_POST['name'].

Saludos.
Ahi te puse la solucion, tienes que cambiar todas tus variables de tu mail o sea donde tengas $mail, lo cambias por $_POST['name'] y asi sucesivamente.

Saludos.
  #6 (permalink)  
Antiguo 05/10/2007, 08:02
 
Fecha de Ingreso: agosto-2007
Mensajes: 27
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problema de envio de formulario

He probado a cambiarlo pero me sigue sin funcionar. Supongo que te refieres al php donde se monta el mensaje. Y entre [] va cada una de las diferentes variables, no?
  #7 (permalink)  
Antiguo 05/10/2007, 08:05
 
Fecha de Ingreso: agosto-2007
Mensajes: 27
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problema de envio de formulario

Me sale el siguiente error al crear el mensaje:

'PHP Parse error: parse error, unexpected T_VARIABLE in c:\domains\kanalonolesa.com\wwwroot\pruebas\email. php on line 26 '
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 01:50.