Formulario PHP

Iniciado por chmn, 12 Abril 2013, 19:11 PM

0 Miembros y 1 Visitante están viendo este tema.

chmn

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!

Puntoinfinito

Antes de todo te recomiendo el no uso de headers, ya que le estas implementando información extra;

// 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 (php) [Seleccionar]
<?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'];
...


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 (html4strict) [Seleccionar]
<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>


Espero que lo entiendas. Saludos!!
AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



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

chmn

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!

Puntoinfinito

Pero has rellenado previamente todo el htm y dado a sendl??

Lo acabo de probar y si que funciona:

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
AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



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

z3nth10n

http://jotform.com

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

Interesados hablad por Discord.

chmn

Gracias! El problema era sencillo! La dirección del PHP tenía un error y por eso llegaban vacíos!
Estaremos en contacto.

Saludos!