Título: Formulario PHP Publicado por: chmn en 12 Abril 2013, 19:11 pm Hola! Soy nuevo en esto de PHP y estoy tratando de hacer un formulario para un sitio web. El formulario esta en HTML y necesito enviar un correo por medio de PHP con los datos del mismo.
El problema es que el correo llega sin los datos del formulario. Este es el formulario: <form action="http:.../cotizador.php" method="post" name="cotizador" id="cotizador"> <table width="500" border="0"> <tr> <td><label>Precio USD</label></td> <td><input name="precio" type="text" id="precio" size="10" /></td> </tr> <tr> <td><label>Peso Lbs.</label></td> <td><input name="peso" type="text" id="peso" size="10" /></td> </tr> <tr> <td><label>Producto</label></td> <td><select name="producto" id="producto"> <option value="32">Vino</option> <option value="52">Licor</option> <option value="12">Computadoras</option> <option value="12">Hogar</option> </select></td> </tr> <tr> <td><label>Total USD</label></td> <td><input name="total" type="text" id="total" </td> </tr> <tr> <td colspan="2" align="center">Paso 2</td> </tr> <tr> <td><label>Nombre</label></td> <td><input name="nombre" type="text" id="nombre" size="30" /></td> </tr> <tr> <td><label>Correo electrónico</label></td> <td><input name="$correo" type="text" id="correo" size="30" /></td> </tr> <tr> <td><label>Pagian Web donde vió el producto</label></td> <td><input name="$pagina" type="text" id="pagina" size="60" /></td> </tr> <tr> <td><label>Descripción del Producto</label></td> <td><textarea name="descripcion" id="descripcion" cols="45" rows="5"></textarea></td> </tr> <tr> <td colspan="2" align="right"><input type="submit" name="enviar" id="enviar" value="Enviar" /></td> </tr> </table> </form> Y este es el PHP (cotizador.php) <?php $Precio = $_POST['precio']; $Peso = $_POST['peso']; $Producto = $_POST['producto']; $Total = $_POST['total']; $Nombre = $_POST['nombre']; $Correo = $_POST['correo']; $Pagina = $_POST['pagina']; $Descripcion = $_POST['descripcion']; $header = 'From: ' . $Correo . " \r\n"; $header .= "X-Mailer: PHP/" . phpversion() . " \r\n"; $header .= "Mime-Version: 1.0 \r\n"; $header .= "Content-Type: text/plain"; $mensaje = "Este mensaje fue enviado por " . $Nombre . ", para cotizar " . $Descripcion . " \r\n"; $mensaje .= "Su e-mail es: " . $Correo . " \r\n"; $mensaje .= "La página donde vió el producto es: " . $Pagina . " \r\n"; $mensaje .= "El cotizador le dió un total de: " . $Total . " \r\n"; $para = '...@gmail.com'; $asunto = 'Formulario'; mail($para, $asunto, $mensaje , $header); echo 'Gracias'; ?> El correo que me llega es: Este mensaje fue enviado por , para cotizar Su e-mail es: La página donde vió el producto es: El cotizador le dió un total de: desde: -------@ironwood.dreamhost.com Gracias y espero su ayuda! Título: Re: Formulario PHP Publicado por: Puntoinfinito en 12 Abril 2013, 21:08 pm Antes de todo te recomiendo el no uso de headers, ya que le estas implementando información extra;
Código: // Send El error esta en el html. En php se crean y se llaman las variables con $. En html no. Es más, lo único que tiene son etiquetas. En el momento que haces: Código
Estas cogiendo información de algo que no existe, ya que su nombre en el html es: $pagina y demás. Y pagina != $pagina (en el html, repito...) Para arreglar-lo solo quita los $ del formulario: Código Espero que lo entiendas. Saludos!! Título: Re: Formulario PHP Publicado por: chmn en 12 Abril 2013, 21:58 pm Ok, gracias!
Arregle lo que me indicaste, pero el correo que me llega sigue estando vacio: Este mensaje fue enviado por , para cotizar Su e-mail es: La página donde vió el producto es: El cotizador le dió un total de: Saludos! Título: Re: Formulario PHP Publicado por: Puntoinfinito en 13 Abril 2013, 10:41 am Pero has rellenado previamente todo el htm y dado a sendl??
Lo acabo de probar y si que funciona: Código: Este mensaje fue enviado por asdad, para cotizar asdad Título: Re: Formulario PHP Publicado por: z3nth10n en 13 Abril 2013, 11:36 am http://jotform.com
Con esta web tambíen puedes hacer un Formulario en PHP ;) Título: Re: Formulario PHP Publicado por: chmn en 15 Abril 2013, 19:13 pm Gracias! El problema era sencillo! La dirección del PHP tenía un error y por eso llegaban vacíos!
Estaremos en contacto. Saludos! |