elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Formulario PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Formulario PHP  (Leído 4,156 veces)
chmn

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Formulario PHP
« 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!


En línea

Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: Formulario PHP
« Respuesta #1 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
mail('caffeinated@example.com', 'Mi título', $mensaje);

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
  1. <?php
  2. $Precio = $_POST['precio'];
  3. $Peso = $_POST['peso'];
  4. $Producto = $_POST['producto'];
  5. $Total = $_POST['total'];
  6. $Nombre = $_POST['nombre'];
  7. $Correo = $_POST['correo'];
  8. $Pagina = $_POST['pagina'];
  9. $Descripcion = $_POST['descripcion'];
  10. ...

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
  1. <form action="http:.../cotizador.php" method="post" name="cotizador" id="cotizador">
  2.  <table width="500" border="0">
  3.    <tr>
  4.      <td><label>Precio USD</label></td>
  5.      <td><input name="precio" type="text" id="precio" size="10" /></td>
  6.    </tr>
  7.    <tr>
  8.      <td><label>Peso Lbs.</label></td>
  9.      <td><input name="peso" type="text" id="peso" size="10" /></td>
  10.    </tr>
  11.    <tr>
  12.      <td><label>Producto</label></td>
  13.      <td><select name="producto" id="producto">
  14.        <option value="32">Vino</option>
  15.        <option value="52">Licor</option>
  16.        <option value="12">Computadoras</option>
  17.        <option value="12">Hogar</option>
  18.      </select></td>
  19.    </tr>
  20.    <tr>
  21.      <td><label>Total USD</label></td>
  22.      <td><input name="total" type="text" id="total" </td>
  23.    </tr>
  24.    <tr>
  25.      <td colspan="2" align="center">Paso 2</td>
  26.    </tr>
  27.    <tr>
  28.      <td><label>Nombre</label></td>
  29.      <td><input name="nombre" type="text" id="nombre" size="30" /></td>
  30.    </tr>
  31.    <tr>
  32.      <td><label>Correo electrónico</label></td>
  33.      <td><input name="correo" type="text" id="correo" size="30" /></td>
  34.    </tr>
  35.    <tr>
  36.      <td><label>Pagian Web donde vió el producto</label></td>
  37.      <td><input name="pagina" type="text" id="pagina" size="60" /></td>
  38.    </tr>
  39.    <tr>
  40.      <td><label>Descripción del Producto</label></td>
  41.      <td><textarea name="descripcion" id="descripcion" cols="45" rows="5"></textarea></td>
  42.    </tr>
  43.    <tr>
  44.      <td colspan="2" align="right"><input type="submit" name="enviar" id="enviar" value="Enviar" /></td>
  45.    </tr>
  46.  </table>
  47. </form>

Espero que lo entiendas. Saludos!!


En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
chmn

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Formulario PHP
« Respuesta #2 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!
En línea

Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: Formulario PHP
« Respuesta #3 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
Su e-mail es: asdad
La página donde vió el producto es: asdasdadd
El cotizador le dió un total de: asdsad
En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Formulario PHP
« Respuesta #4 en: 13 Abril 2013, 11:36 am »

http://jotform.com

Con esta web tambíen puedes hacer un Formulario en PHP ;)
En línea


Interesados hablad por Discord.
chmn

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Formulario PHP
« Respuesta #5 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!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines