Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] codigo PHP para formulario HTML

Estas en el tema de codigo PHP para formulario HTML en el foro de PHP en Foros del Web. HOla a todo!! soy nuevo en este foro y hos he leido bastante, se aprende muchas cosas, con la lectura de vuestros post. Tengo un ...
  #1 (permalink)  
Antiguo 24/09/2013, 09:37
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
codigo PHP para formulario HTML

HOla a todo!!

soy nuevo en este foro y hos he leido bastante, se aprende muchas cosas, con la lectura de vuestros post.

Tengo un pequeño o gran problema, estoy haciendo una web y tengo un formulario de contacto en HTML, el problema viene, que cuando hago el scrip send.php, logro hacerlo funcionar pero el correo recibido esta en blanco, digamos que el archivo .PHP no coge los datos del formulario HTML.

Adjunto una imagen de la captura y pego el codigo html y el codigo PHP, espero alguien de vosotros me pueda dar un poco de luz, ya que no doy con ello.

Muchas gracias y saludos.

Codigo HTML del formulario:


Código HTML:
Ver original
  1. <div class="col-4">
  2.                         <h2><span class="color-3">Contacto</h2>
  3.                         <form id="form" method="post" >
  4.                             <fieldset>
  5.                               <label>
  6.                                 <input type="text" value="Nombre" onBlur="if(this.value=='') this.value='Nombre'" onFocus="if(this.value =='Nombre' ) this.value=''">
  7.                               </label>
  8.                               <label><input type="text" value="Email" onBlur="if(this.value=='') this.value='Email'" onFocus="if(this.value =='Email' ) this.value=''"></label>
  9.                               <label>
  10.                                 <textarea name="textarea" onFocus="if(this.value=='Mensaje'){this.value=''}" onBlur="if(this.value==''){this.value='Mensaje'}">Mensaje</textarea>
  11.                               </label>
  12.                                                           <div class="btns"><a href="contacto.html" class="button">Clear</a><a href="send.php" class="button" onClick="document.getElementById('form').submit()">Send</a></div>
  13.                             </fieldset>  
  14.                           </form>
  15.                     </div>




Codigo PHP:


Código PHP:
Ver original
  1. <?php
  2. $remitente = $_POST['email'] ;
  3. $destino = "[email protected]" ;
  4. $asunto = "Mensaje que llega desde mi web a traves de la pagina contacto" ;
  5. $mensaje = $_POST['mensaje'] ;
  6. $encabezados = "From: $remitente\nReply-To: $remitente\nContent-Type: text/html; charset=iso-8859-1" ;
  7. mail($destino, $asunto, $mensaje, $encabezados) or die ("No se ha podido enviar tu mensaje. Ha ocurrido un error") ;
  8. echo "<p>Tu mensaje a sido enviado con este contenido:</p>" ;
  9. echo "<strong><b>$mensaje</b></strong>" ;
  10. ?>



Y aqui la imagen del codigo y del formulario html.

http://imageshack.com/scaled/1280x1024/706/lpqr.jpg

Última edición por pzin; 24/09/2013 a las 09:45 Razón: formato código
  #2 (permalink)  
Antiguo 24/09/2013, 09:44
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: codigo PHP para formulario HTML

Bienvenido al foro. Muevo el tema al foro de PHP mejor.
  #3 (permalink)  
Antiguo 24/09/2013, 10:06
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: codigo PHP para formulario HTML

Te falta el action en el formulario y verifica si las variables tienen su valor correspondiente.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #4 (permalink)  
Antiguo 24/09/2013, 12:59
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Gracias, no estaba seguro donde ponerlo
  #5 (permalink)  
Antiguo 24/09/2013, 13:04
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Gracias, me lo podrias dar un poco mas masticado? donde coloco el action y que variables modifico?
  #6 (permalink)  
Antiguo 24/09/2013, 13:20
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: codigo PHP para formulario HTML

Hay varias formas de saber si envias o no las variables... puedes usar var_dump o mejor print_r

prueba con esto a ver si envia variables

Código PHP:

<?php

if(isset($_POST)){
    
print_r($_POST);
}

?>
<div class="col-4">
                        <h2><span class="color-3">Contacto</h2>
                        <form id="form" method="post" action="" >
                            <fieldset>
                              <legend>Nombre:</legend>
                                <input type="text" onBlur="if(this.value=='') this.value='Nombre'" onFocus="if(this.value =='Nombre' ) this.value=''">
                              </label>
                              </fieldset>
                              
                              <fieldset>
                              <legend>Email:</legend>
                              <input type="text" onBlur="if(this.value=='') this.value='Email'" onFocus="if(this.value =='Email' ) this.value=''">
                              </fieldset>
                              
                              <fieldset>
                              <legend>Mensaje:</legend>
                                <textarea name="textarea" onFocus="if(this.value=='Mensaje'){this.value=''}" onBlur="if(this.value==''){this.value='Mensaje'}"></textarea>
                                </fieldset>
                             
                                                          <div class="btns"><a href="contacto.html" class="button">Clear</a><a href="send.php" class="button" onClick="document.getElementById('form').submit()">Send</a></div>
                             
                          </form> 
                    </div>
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #7 (permalink)  
Antiguo 24/09/2013, 14:02
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Cita:
Iniciado por CesarHC Ver Mensaje
Te falta el action en el formulario y verifica si las variables tienen su valor correspondiente.
Cita:
Iniciado por loncho_rojas Ver Mensaje
Hay varias formas de saber si envias o no las variables... puedes usar var_dump o mejor print_r

prueba con esto a ver si envia variables

Código PHP:

<?php

if(isset($_POST)){
    
print_r($_POST);
}

?>
<div class="col-4">
                        <h2><span class="color-3">Contacto</h2>
                        <form id="form" method="post" action="" >
                            <fieldset>
                              <legend>Nombre:</legend>
                                <input type="text" onBlur="if(this.value=='') this.value='Nombre'" onFocus="if(this.value =='Nombre' ) this.value=''">
                              </label>
                              </fieldset>
                              
                              <fieldset>
                              <legend>Email:</legend>
                              <input type="text" onBlur="if(this.value=='') this.value='Email'" onFocus="if(this.value =='Email' ) this.value=''">
                              </fieldset>
                              
                              <fieldset>
                              <legend>Mensaje:</legend>
                                <textarea name="textarea" onFocus="if(this.value=='Mensaje'){this.value=''}" onBlur="if(this.value==''){this.value='Mensaje'}"></textarea>
                                </fieldset>
                             
                                                          <div class="btns"><a href="contacto.html" class="button">Clear</a><a href="send.php" class="button" onClick="document.getElementById('form').submit()">Send</a></div>
                             
                          </form> 
                    </div>

Muchas gracias por tu respuesta, me lo envia pero lo recibo en blanco, te adjunto la imagen para que veas lo que llega.

http://imageshack.com/scaled/1280x1024/823/avbj.jpg


[URL=http://imageshack.com/i/mvavbjj][IMG]http://imageshack.com/scaled/1280x1024/823/avbj.jpg[/IMG][/URL]Uploaded with [URL=http://imageshack.com]ImageShack.com[/URL]
  #8 (permalink)  
Antiguo 24/09/2013, 15:26
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Con este nuevo codigo de PHP he conseguido que me mande el correo, con el campo : Nombre, Correo y Mensaje, pero siguen apareciendo en blanco, alguna idea?


Este es el codigo en PHP:

<?php
//Es necesario recuperar todos los datos que enviaste a traves del formulario.
$nombre = trim(strip_tags($_POST['Nombre'])); //Recupera el nombre

$correoe = trim(strip_tags($_POST['correoe'])); //Recupera el correo electrónico

$mensaje = nl2br(trim(strip_tags($_POST['mensaje']))); //Recupera el mensaje
//La función "nl2br" sirve para que el texto respete los saltos de línea y los espacios, si lo quitas todo el mensaje se envía en una sola línea.

//Enviar email
$from = '[email protected]'; //Correo desde donde viene el mensaje.
$to = '[email protected]'; //Correo donde recibes el mensaje.
$subject = 'Formulario de Contacto'; //El asunto del correo
// Mensaje que se envía a tu correo
$message = '
<html>
<body>
<p>Una persona te ha querido contactar utilizando el formulario de tu pagina web boxingsport.es. Estos son los datos:</p>
<p>Nombre: ' .$Nombre. '</p>

<p>Correo Electrónico: ' .$Email. '</p>

<p>Mensaje:<br> ' .$Mensaje. '</p>


</body>
</html>
';

$headers = "From:" . $from . "\r\n";
$headers .="Reply-To: " .$from . "\r\n";
$headers .='X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
mail($to, $subject, $message, $headers);

?>

Dejo la imagen de lo que recibo en el correo.

http://imageshack.com/scaled/1280x1024/834/atrf.jpg


[URL=http://imageshack.com/i/1n6pa3j][IMG=http://imageshack.com/scaled/800x600/59/6pa3.jpg][/IMG][/URL]Uploaded with [URL=http://imageshack.com]ImageShack.com[/URL]
  #9 (permalink)  
Antiguo 24/09/2013, 16:28
Mariuch
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: codigo PHP para formulario HTML

Te llegan vacíos porque a varios de tus campos les falta el atributo name. Sin este atributo la información contenida dentro de ellos no viaja.

Me extraña que el $_POST[ 'Nombre' ]; no te de undefined.
  #10 (permalink)  
Antiguo 24/09/2013, 17:00
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Cita:
Iniciado por Mariuch Ver Mensaje
Te llegan vacíos porque a varios de tus campos les falta el atributo name. Sin este atributo la información contenida dentro de ellos no viaja.

Me extraña que el $_POST[ 'Nombre' ]; no te de undefined.
Hola amigo! gracias por responder.

Estoy super saturado, he hecho otros formularios en html y php y me funcionan bien, pero con este formulario que he puesto al principio del hilo, no me funciona y el caso que me gusta ese diseño.

Me podrias poner el codigo corregido? tanto en html y en php , si no es mucho pedir...

Saludos
  #11 (permalink)  
Antiguo 24/09/2013, 20:16
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: codigo PHP para formulario HTML

umm.. eso es trabajo tuyo
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #12 (permalink)  
Antiguo 24/09/2013, 20:19
Mariuch
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: codigo PHP para formulario HTML

Coincido con loncho_rojas. Ya te he dado la información que necesitas para hacer que tu información viaje. Necesitas que tus input tengan un name y luego en el archivo PHP recoger la información enviada con el name que le diste a tus campos. Podés comprobar qué información está llegando efectivamente antes de recogerla haciendo un simple:

Código PHP:
var_dump$_POST ); 
Saludos.
  #13 (permalink)  
Antiguo 24/09/2013, 21:34
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Cita:
Iniciado por loncho_rojas Ver Mensaje
umm.. eso es trabajo tuyo


jejej me tire ayer 8 horas aqui pegado y nada....
  #14 (permalink)  
Antiguo 24/09/2013, 21:36
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Cita:
Iniciado por Mariuch Ver Mensaje
Coincido con loncho_rojas. Ya te he dado la información que necesitas para hacer que tu información viaje. Necesitas que tus input tengan un name y luego en el archivo PHP recoger la información enviada con el name que le diste a tus campos. Podés comprobar qué información está llegando efectivamente antes de recogerla haciendo un simple:

Código PHP:
var_dump$_POST ); 
Saludos.
Pues no lo pillo, estoy muy verde !! ponme un ejemplo y mira que he leido y releido y en otros scrip de php y html les modifico las variables etc ,,, pero en este formulario html me pierdo cantidad!

SLUDOS
  #15 (permalink)  
Antiguo 25/09/2013, 07:32
Mariuch
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: codigo PHP para formulario HTML

Bueno un ejemplo claro es el siguiente:

Este sería el formulario que envía la información de un nombre.

Código HTML:
<form action="#" method="post">
	<label>Nombre</label>
	<input type="text" name="nombre" /><!-- Como podés ver, mi input que va a recibir la información del nombre del usuario, lleva un name. Si este name no está puesto, la información no va a viajar al servidor. Es FUNDAMENTAL. -->
	<input type="submit" value="Enviar" />
</form> 
Y de esta forma se reciben los datos.

Código PHP:
<?php
    var_dump
$_POST ); // Con esto puedo ver toda la información que está viajando por POST.
    
    
$nombre = ( isset( $_POST'nombre' ] ) ) ? $_POST'nombre' ] : false// De esta manera obtengo el valor ingresado en mi campo nombre
?>
  #16 (permalink)  
Antiguo 25/09/2013, 07:33
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Venga que os invito a una cervecitaaaaa

llevo dos dias pegado al ordenador y consigo hacer funcionar a todos los formularios menos a este!!

Los demas tienen alguna incompatibilidad con internet explorer , este formulario va de lujo en todos los navegadores...
4

UnA MANITA porfa.
  #17 (permalink)  
Antiguo 25/09/2013, 07:34
Mariuch
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: codigo PHP para formulario HTML

Te acabo de dar un ejemplo, revisalo y me cuentas
  #18 (permalink)  
Antiguo 25/09/2013, 08:04
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Cita:
Iniciado por Mariuch Ver Mensaje
Te acabo de dar un ejemplo, revisalo y me cuentas
Lo he hecho y nada, me llega todo en blanco no se que hacer ya joooooooooooo
  #19 (permalink)  
Antiguo 25/09/2013, 08:07
Mariuch
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: codigo PHP para formulario HTML

En ese caso el error está en tu código JS. Por algún motivo está reemplazando el valor por ''. Te recomiendo para lo que querés hacer (que aparezca Nombre y cuando el usuario hace click o escribe desaparece) que uses el atributo placeholder. No es exactamente igual a lo que programaste pero funciona bien y no te traerá problemas.

Código HTML:
<input type="text" name="nombre" placeholder="Nombre" /> 
Quita todos esos onBlur y onFocus que pusiste inline, probá de nuevo y me contás. Otra cosa, para enviar el formulario tenés que usar un input de tipo submit y no un link. Podés usar tu link pero no es realmente lo más conveniente. Usa un botón y arreglalo con css.
  #20 (permalink)  
Antiguo 25/09/2013, 08:29
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Cita:
Iniciado por Mariuch Ver Mensaje
En ese caso el error está en tu código JS. Por algún motivo está reemplazando el valor por ''. Te recomiendo para lo que querés hacer (que aparezca Nombre y cuando el usuario hace click o escribe desaparece) que uses el atributo placeholder. No es exactamente igual a lo que programaste pero funciona bien y no te traerá problemas.

Código HTML:
<input type="text" name="nombre" placeholder="Nombre" /> 
Quita todos esos onBlur y onFocus que pusiste inline, probá de nuevo y me contás. Otra cosa, para enviar el formulario tenés que usar un input de tipo submit y no un link. Podés usar tu link pero no es realmente lo más conveniente. Usa un botón y arreglalo con css.


He probado y me funciona bien el placeholder="Nombre"

pero lo demas me suena un poco a chino, soy nuevo en programacion html y php .

Tendre que seguir estudiando porque no soy capaz ni con ayuda

Gracias de todos modos.
  #21 (permalink)  
Antiguo 25/09/2013, 08:46
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Me puede alguien modificar los dos archivos HTML y PHP?, asi podria aprender y donde estan los fallos.

Se que no es lo mas facil, pero ya estoy bloqueado.

Saludos
  #22 (permalink)  
Antiguo 25/09/2013, 08:56
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: codigo PHP para formulario HTML

Cita:
Iniciado por leonimadrid Ver Mensaje
Me puede alguien modificar los dos archivos HTML y PHP?, asi podria aprender y donde estan los fallos.

Se que no es lo mas facil, pero ya estoy bloqueado.

Saludos
NO vamos a hacer el trabajo para ti, aun menos ya que no entiendes el funcionamiento de un simple HTML ve busca en internet y Googlea que encontraras todo sin tener que estarte desgastando en el foro.

Ademas con este comentario me doy cuenta de lo que me temia: TIENES DOS archivos, asi que la solución es simple, el action del formulario html debe de apuntar al archivo.php que tienes

Si aun después de esto no eres capaz de hacer funcionar, te recomiendo que vayas y busques un buen tutorial o una buena referencia que te aportara mas que el foro, ya que en el foro, repito, no se hacen trabajos gratis ni soluciones gratis.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #23 (permalink)  
Antiguo 25/09/2013, 10:40
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: codigo PHP para formulario HTML

Emmmm perdon que me meta, me tome el ¿atrevimiento? de buscar "enviar formulario php simple" en google y este fue el primer resultado que salio.

Tu problema es basico colega, nadie se gastara en escribirte una solucion habiendo cientos en google.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #24 (permalink)  
Antiguo 25/09/2013, 12:21
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: codigo PHP para formulario HTML

Aparte de cambiar el action del formulario como te dijeron más arriba, hay una variable incorrecta:

En vez de

$mensaje = $_POST['mensaje'] ;

escribe

$mensaje = $_POST['textarea'] ;
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #25 (permalink)  
Antiguo 25/09/2013, 19:44
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Cita:
Iniciado por NSD Ver Mensaje
Emmmm perdon que me meta, me tome el ¿atrevimiento? de buscar "enviar formulario php simple" en google y [URL="http://www.holamundo.es/lenguaje/php/articulos/enviar-formulario-por-e-mail-usando-php.html"]este[/URL] fue el primer resultado que salio.

Tu problema es basico colega, nadie se gastara en escribirte una solucion habiendo cientos en google.
Hola!! no te preocupes no te metes en nada, estas en tu casa, he mirado y remirado en google y hay muchos problemas del mismo tipo, de hecho cojo cualquier formulario de los que hay en google y los hago funcionar sin problemas casi,,.. pero me he encaprichado de este que pille de una plantilla y he sido incapad.

Gracias por escribir.
  #26 (permalink)  
Antiguo 25/09/2013, 19:50
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Cita:
Iniciado por stramin Ver Mensaje
Aparte de cambiar el action del formulario como te dijeron más arriba, hay una variable incorrecta:

En vez de

$mensaje = $_POST['mensaje'] ;

escribe

$mensaje = $_POST['textarea'] ;
Muchas gracias amigo!!

Que nadie se moleste mas, porque me he tirado muchas horas para nada, al final he cogido uno de google y lo he modificado con varios codigos de otros , me ha costado un poco, pero un poco de codigo de uno, de otro y de otro y he creado un peazo formulario en html y php.... es simple , pero tiene todas las funciones , funciona a la perfeccion y funciona en todos los navegadores incluido en los moviles, tiene redireccionamiento automatico a web....etc etc...

Buenas noches que son las 4:00 Am

Mañana con mas tiempo lo pondre aqui , para el disfrute colectivo.
  #27 (permalink)  
Antiguo 26/09/2013, 05:20
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Pongo una imagen, para alquien que le haya pasado como ami , ahora comprendera un poco mejor como funciona el tema del procesamiento de los formularios.



.
  #28 (permalink)  
Antiguo 26/09/2013, 06:53
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: codigo PHP para formulario HTML

Bueno, lo prometido es deuda.

Para los que estan empezando en esto y no tienen mucha idea.

voy a explicar un poco las funciones que tiene. Decir que funciona a la perfeccion en todos los navegadores principales, IE, Firefox, Chrome, Delphin..... incluido en el movil.

El formulario de contacto consta de tres campos, Nombre, Email y Mensaje.

1. formulario en Html con funciones:
- Placeholder > como no funciona en IE le he añadido un jQuery y asi funciona.
-validador de los tres campos,Nombre, Email y Mensaje si no los pones, no se puede enviar.
- Boton de Enviar y Borrar.

Asi queda.



Este es el codigo HTML ( LLeva un poco de JavaScrip):

<form id="form1" name="form1" method="post" action="http://www.boxingsport.es/enviar.php">
<script type="text/javascript">
/* <![CDATA[ */
$(function() {
var input = document.createElement("input");
if(('placeholder' in input)==false) {
$('[placeholder]').focus(function() {
var i = $(this);
if(i.val() == i.attr('placeholder')) {
i.val('').removeClass('placeholder');
if(i.hasClass('password')) {
i.removeClass('password');
this.type='password';
}
}
}).blur(function() {
var i = $(this);
if(i.val() == '' || i.val() == i.attr('placeholder')) {
if(this.type=='password') {
i.addClass('password');
this.type='text';
}
i.addClass('placeholder').val(i.attr('placeholder' ));
}
}).blur().parents('form').submit(function() {
$(this).find('[placeholder]').each(function() {
var i = $(this);
if(i.val() == i.attr('placeholder'))
i.val('');
})
});
}
});
/* ]]> */
</script>
<table width="591" border="0">
<tr>
<th width="339" scope="col"><div align="left">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>
<input name="Nombre" type="text" id="Nombre" placeholder="Nombre" size="40" maxlength="60" width="278px;" />
</p>
<p>&nbsp;</p>
</div></th>
</tr>
<tr>
<td><p>
<input name="Email" type="text" id="Email" placeholder="E-mail" size="40" maxlength="60" width="278px;" />
</p>
<p>&nbsp; </p></td>
</tr>
<tr>

</tr>
<tr>
<td><p>
<textarea name="Mensaje" cols="65" rows="10" id="Mensaje" placeholder="Mensaje"></textarea>
<center>
<br>
<input name="Enviar" type="submit" id="Enviar" onClick="MM_validateForm('Nombre','','R','Email',' ','RisEmail','Mensaje','','R');return document.MM_returnValue" value="Enviar" />
<input name="Borrar" type="reset" id="Borrar" value="Borrar" />
</center>
</p></td>
</tr>
</table>
</form>



2 .Para el tema de PHP, le he añadido un header("Location) y he creado una segunda pagina de contacto totalmente funcional pero con el mensaje de " Su mensaje se ha enviado " Gracias " de este modo, cuando pinchemos en enviar el formulario , nos mandara a la pagina con el mensaje creado y podremos seguir navegando en la misma pagina. Tambien tiene codigo para mostrar en vuestro buzon de correo la hora y la fecha de cuando el cliente os ha enviado el email.





Este es el codigo PHP: ( no olvideis de poner vuestros datos, direccion de correo y la pagina web a la cual quereis que se redireccione )

<?php
$Nombre = $_POST['Nombre'];
$Email = $_POST['Email'];


$header = 'From: ' . $Email . " \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 . ", \r\n";
$mensaje .= "Su e-mail es> " . $Email . " \r\n";
$mensaje .= "Mensaje> " . $_POST['Mensaje'] . " \r\n";
$mensaje .= "Enviado el> " . date("d/m/y \a \l\a\s H:i:s ");

$para = '[email protected]';
$asunto = 'Contacto desde Tu Web';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo
header("Location:http://www.boxingsport.es/contactoend.html");

?>


Por ultimo cuando llegan los mensajes a vuestro buzon se muestran de esta forma, bastante clara y ordenada.





Saludos.

Etiquetas: formulario, href, html, input
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 10:49.