Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: pira8990 en 21 Febrero 2014, 14:12 PM

Título: Ayuda con PHP
Publicado por: pira8990 en 21 Febrero 2014, 14:12 PM
hola a todos, expongo el tema.

tengo una web en la que he creado un formulario html que llama al archivo envia_form_php.php,pero no recibo ningun mail, el formulario es el siguiente:

Código (html4strict) [Seleccionar]
<form class="contact_form" action="envia_form_php.php" method=post>

<ul>

 <li>

<h3>Realizar proceso</h3>

 </li>

<li>
<label for="name">Nombre:</label>

<input id="name" type="text" placeholder="Ricardo" required />
</li>

<li>


<label for="last_name">Apellidos:</label>

<input id="last_name" type="text" placeholder="Garcia Martin" required />


</li>
<li>


<label for="address":>Dirección:</label>

<input id="address" type="text" placeholder="calle sant joan 36" required />

</li>
<li>


<label for="mail":>Email:</label>

<input id="mail" type="text" placeholder="ejemplo@ejemplo.com" required />

</li>
<li>


<label for="country":>Pais:</label>

<input id="country" type="text" placeholder="España" required />

</li>
<li>



<label for="city":>Ciudad:</label>

<input id="city" type="text" placeholder="Barcelona" required />

</li>
<li>



<label for="zip_code":>Zip:</label>

<input id="zip_code" type="text" placeholder="" required />



</li>
<li>
 
 
 <button class=""submit" type="submit">Pagar</button>
 
</li>
</ul>


</form>




Ahora tengo en el archivo envia_php.php lo siguiente:


Código (php) [Seleccionar]
<?

if (!$HTTP_POST_VARS){

?>

<?

}else{

   //Estoy recibiendo el formulario, compongo el cuerpo

   $cuerpo = "En proceso\n";

   $cuerpo .= "Nombre: " . $HTTP_POST_VARS["name"] . "\n";

   $cuerpo .= "Apellidos: " . $HTTP_POST_VARS["last name"] . "\n";

   $cuerpo .= "Dirección: " . $HTTP_POST_VARS["address"] . "\n";

   $cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";

   $cuerpo .= "Pais: " . $HTTP_POST_VARS["country"] . "\n";

   $cuerpo .= "Ciudad: " . $HTTP_POST_VARS["city"] . "\n";

   $cuerpo .= "Zip: " . $HTTP_POST_VARS["zip code"] . "\n";

 

   //mando el correo...

   mail("gutierrezgalvezalejandro@gmail.com","Formulario recibido",$cuerpo);

   //doy las gracias por el envío

   echo "Proceso realizado con exito.";
}
?>


que es lo que estoy haciendo mal y como puedo solucionarlo?, gracias a todos y un saludo.

MOD: Utilizar etiquetas [code][/code], dudas de PHP en el subforo de PHP. Leer reglas -> Normas del subforo de Desarrollo Web (http://foro.elhacker.net/desarrollo_web/normas_del_subforo_de_desarrollo_web-t407889.0.html) & Normas del subforo de PHP (http://foro.elhacker.net/php/normas_del_subforo_de_php-t148495.0.html)
Título: Re: Ayuda con PHP
Publicado por: #!drvy en 22 Febrero 2014, 06:24 AM
1. HTTP_POST_VARS esta obsoleto. Usa $_POST
2. Cada input debe llevar name de atributo que lo identifique. Osease, en vez de id usas name.. o usas id y name.

Saludos
Título: Re: Ayuda con PHP
Publicado por: pira8990 en 22 Febrero 2014, 08:21 AM
Si he entendido bien deberia ser asi... el form:

**********************************************************************

<form class="contact_form" action="envia_form_php.php" method=post>

<ul>

  <li>

      <h3>Realizar proceso</h3>

  </li>

<li>
   <label for="name">Nombre:</label>
   
   <input id="name" name="name" type="text" placeholder="Ricardo" required />
</li>

<li>


   <label for="last_name">Apellidos:</label>
   
   <input id="last_name" name="last_name" type="text" placeholder="Garcia Martin" required />


</li>
<li>


   <label for="address":>Dirección:</label>

   <input id="addres" name="address" type="text" placeholder="calle sant joan 36" required />

</li>
<li>


   <label for="mail":>Email:</label>
   
   <input id="mail" name="mail" type="text" placeholder="ejemplo@ejemplo.com" required />

</li>
<li>


   <label for="country":>Pais:</label>

   <input id="country" name="country" type="text" placeholder="España" required />

</li>
<li>



   <label for="city":>Ciudad:</label>

   <input id="city" name="city" type="text" placeholder="Barcelona" required />

</li>
<li>



   <label for="zip_code":>Zip:</label>

   <input id="zip_code" name="zip_code" type="text" placeholder="" required />



</li>
<li>
    
    
     <button class=""submit" type="submit">Pagar</button>
    
</li>
</ul>


</form>



*********************************************************************


************************El PHP****************************************

<?

if (!$_POST_VARS){

?>

<?

}else{

    //Estoy recibiendo el formulario, compongo el cuerpo

    $cuerpo = "En proceso\n";

    $cuerpo .= "Nombre: " . $_POST_VARS["name"] . "\n";

    $cuerpo .= "Apellidos: " . $_POST_VARS["last_name"] . "\n";

    $cuerpo .= "Dirección: " . $_POST_VARS["address"] . "\n";

    $cuerpo .= "Email: " . $_POST_VARS["email"] . "\n";

    $cuerpo .= "Pais: " . $_POST_VARS["country"] . "\n";

    $cuerpo .= "Ciudad: " . $_POST_VARS["city"] . "\n";

    $cuerpo .= "Zip: " . $_POST_VARS["zip_code"] . "\n";

//mando el correo...

    mail("gutierrezgalvezalejandro@gmail.com","Formulario recibido",$cuerpo);

    //doy las gracias por el envío

    echo "Proceso realizado con exito

*********************************************************************

aun asi no recibo el mail, no entiendo mucho de php por no decir nada si me pudieras ayudar te lo agradeceria , muchas gracias.