Foros del Web » Programando para Internet » PHP »

Mandar formularios por php

Estas en el tema de Mandar formularios por php en el foro de PHP en Foros del Web. Estoy haciendo mi página y tengo tres formularios. los envío mediante php y no me llegan al correo. Aquí les dejo el código html y ...
  #1 (permalink)  
Antiguo 02/07/2013, 10:20
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Mandar formularios por php

Estoy haciendo mi página y tengo tres formularios. los envío mediante php y no me llegan al correo. Aquí les dejo el código html y php por si alguien me puede ayudar.
HTML:

<FORM ACTION="enviar.php" METHOD="POST" ENCTYPE="TEXT/PLAIN">

<div align="center"><strong>Datos Personales </strong><BR></div>
Nombre de Usuario: <BR>

<INPUT NAME="usuario" TYPE="text" class="img-border" size="48" maxlength="48">

<br>
Contrase&ntildea de Acceso: <BR>

<INPUT NAME="contrasena" TYPE="password" class="img-border" size="48" maxlength="48">

<br>
<div align="center"><strong>Datos de matriculaci&oacuten (facilitados por Grupo San Fernando) </strong><BR></div>
Usuario_matr&iacutecula: <BR>

<INPUT NAME="usuariomat" TYPE="text" class="img-border" size="48" maxlength="48">

<br>
Contrase&ntildea_matr&iacutecula: <BR>

<INPUT NAME="contrasenamat" TYPE="password" class="img-border" size="48" maxlength="48">
<br>
<div align="center"><strong>Documentaci&oacuten a aportar (adjuntar en formato PDF, Word o similar, JPG… seg&uacuten el caso).</strong><BR></div>
Justificaci&oacuten de transferencia de “Derechos de Inscripci&oacuten”:<br>
<input type="file" name="datasize" size="30">
</p>
<div><br>
<br>
<div align="center">
<INPUT TYPE="submit" VALUE="Enviar datos" />

<INPUT TYPE="reset" VALUE="Borrar datos">
</FORM>

PHP:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php
<?php
$usuario = $_POST['usuario'];
$contrasena = $_POST['contrasena'];
$usuariomat = $_POST['usuariomat'];
$contrasenamat = $_POST['contrasenamat'];



$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 " . $usuario . " \r\n";
$mensaje .= "Contrase&ntildea " . $contrasena . " \r\n";
$mensaje .= "Usuario de Matr&iacutecula: " . $usuariomat . " \r\n";
$mensaje .= "Contrase&ntildea de matr&iacutecula : " . $contrasenamat . " \r\n";



$para = '[email protected]';
$asunto = 'formulario matriculacion';


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


?>




</body>
</html>
  #2 (permalink)  
Antiguo 02/07/2013, 10:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 4 meses
Puntos: 2135
Respuesta: Mandar formularios por php

¿Porque pones el tipo encoding como text/plain? ¿Sabes lo que causa eso?

Saludos.
  #3 (permalink)  
Antiguo 02/07/2013, 11:18
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 8 años, 8 meses
Puntos: 288
Respuesta: Mandar formularios por php

Que error te devuelve?
  #4 (permalink)  
Antiguo 02/07/2013, 11:27
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

la verdad es que no se muy bien para que pongo test/plain, pero he visto que en todos los ejemplos lo ponia

Respecto a la otra pregunta, cuando doy al botón enviar me habre una página vacía que se supone que está el php
  #5 (permalink)  
Antiguo 02/07/2013, 11:29
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

pero alguien me puede decir que es lo que tengo mal en el código?
muchas gracias
  #6 (permalink)  
Antiguo 02/07/2013, 11:30
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 8 años, 8 meses
Puntos: 288
Respuesta: Mandar formularios por php

quita el text plain, nadie lo usa

al final del script agrega esto:

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

verifica que tengas habilitada la funcion de enviar mail
  #7 (permalink)  
Antiguo 02/07/2013, 11:35
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

voy a probar lo que me has dicho.
muchas gracias
  #8 (permalink)  
Antiguo 02/07/2013, 11:39
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

no me ha salido
como puedo ver que tengo habilitada la función de enviar mail?
  #9 (permalink)  
Antiguo 02/07/2013, 11:41
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

de todas formas, pongo este correo, que es mio personal, pero luego tengo que cambiarlo por el de la empresa
  #10 (permalink)  
Antiguo 02/07/2013, 11:49
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

ENCTYPE lo he quitado. lo tengo que dejar y poner algun otro comando o lo quito definitivamente?
  #11 (permalink)  
Antiguo 02/07/2013, 12:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 4 meses
Puntos: 2135
Respuesta: Mandar formularios por php

Tienes que quitar el enctype, eso hace que tus variables NO se manden URLEncoded si no como texto plano, por eso te comentaba si sabes lo que haces.

Quita el enctype y solamente úsalo cuando sepas para que lo quieres usar (p.e. subir files).

Saludos.
  #12 (permalink)  
Antiguo 02/07/2013, 13:50
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

ok.
para enviar archivos que habría que poner?
de todas formas no me funciona
  #13 (permalink)  
Antiguo 02/07/2013, 14:04
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

me quedaría asi:
HTML:
<FORM ACTION="enviar.php" METHOD="POST">

<div align="center"><strong>Datos Personales </strong><BR></div>
Nombre de Usuario: <BR>

<INPUT NAME="usuario" TYPE="text" class="img-border" size="48" maxlength="48">

<br>
Contrase&ntildea de Acceso: <BR>

<INPUT NAME="contrasena" TYPE="password" class="img-border" size="48" maxlength="48">

<br>
<div align="center"><strong>Datos de matriculaci&oacuten (facilitados por Grupo San Fernando) </strong><BR></div>
Usuario_matr&iacutecula: <BR>

<INPUT NAME="usuariomat" TYPE="text" class="img-border" size="48" maxlength="48">

<br>
Contrase&ntildea_matr&iacutecula: <BR>

<INPUT NAME="contrasenamat" TYPE="password" class="img-border" size="48" maxlength="48">
<br>
<div align="center"><strong>Documentaci&oacuten a aportar (adjuntar en formato PDF, Word o similar, JPG… seg&uacuten el caso).</strong><BR></div>
Justificaci&oacuten de transferencia de “Derechos de Inscripci&oacuten”:<br>
<input type="file" name="documentacion" size="30" ENCTYPE="multipart/form-data">
</p>
<div><br>
<br>
<div align="center">
<INPUT TYPE="submit" VALUE="Enviar datos" />

<INPUT TYPE="reset" VALUE="Borrar datos">
</FORM>

PHP:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php
<?php
$usuario = $_POST['usuario'];
$contrasena = $_POST['contrasena'];
$usuariomat = $_POST['usuariomat'];
$contrasenamat = $_POST['contrasenamat'];
$documentacion = $_POST['documentacion'];



$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 " . $usuario . " \r\n";
$mensaje .= "Contrase&ntildea " . $contrasena . " \r\n";
$mensaje .= "Usuario de Matr&iacutecula: " . $usuariomat . " \r\n";
$mensaje .= "Contrase&ntildea de matr&iacutecula : " . $contrasenamat . " \r\n";
$mensaje .= "Documentacion : " . $documentacion . " \r\n";


$para = '[email protected]';
$asunto = 'formulario matriculacion';


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

?>




</body>
</html>


y tampoco me funciona
  #14 (permalink)  
Antiguo 02/07/2013, 15:50
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.650
Antigüedad: 11 años, 7 meses
Puntos: 336
Respuesta: Mandar formularios por php

Podrías por favor publicar los códigos entre las etiquetas PHP, HTML o HIGHLIGHT?

Cita:
[PHP]Etiquetas PHP[/PHP]

[HIGHLIGHT="PHP"]Etiquetas highlight[/HIGHLIGHT]
Gracias

-------------------

HTML:
Código HTML:
Ver original
  1. <FORM ACTION="enviar.php" METHOD="POST">
  2.  
  3. <div align="center"><strong>Datos Personales </strong><BR></div>
  4. Nombre de Usuario: <BR>
  5.  
  6. <INPUT NAME="usuario" TYPE="text" class="img-border" size="48" maxlength="48">
  7.  
  8. <br>
  9. Contrase&ntildea de Acceso: <BR>
  10.  
  11. <INPUT NAME="contrasena" TYPE="password" class="img-border" size="48" maxlength="48">
  12.  
  13. <br>
  14. <div align="center"><strong>Datos de matriculaci&oacuten (facilitados por Grupo San Fernando) </strong><BR></div>
  15. Usuario_matr&iacutecula: <BR>
  16.  
  17. <INPUT NAME="usuariomat" TYPE="text" class="img-border" size="48" maxlength="48">
  18.  
  19. <br>
  20. Contrase&ntildea_matr&iacutecula: <BR>
  21.  
  22. <INPUT NAME="contrasenamat" TYPE="password" class="img-border" size="48" maxlength="48">
  23. <br>
  24. <div align="center"><strong>Documentaci&oacuten a aportar (adjuntar en formato PDF, Word o similar, JPG… seg&uacuten el caso).</strong><BR></div>
  25. Justificaci&oacuten de transferencia de “Derechos de Inscripci&oacuten”:<br>
  26. <input type="file" name="documentacion" size="30" ENCTYPE="multipart/form-data">
  27. </p>
  28. <div><br>
  29. <br>
  30. <div align="center">
  31. <INPUT TYPE="submit" VALUE="Enviar datos" />
  32.  
  33. <INPUT TYPE="reset" VALUE="Borrar datos">
  34. </FORM>

PHP:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php
<?php 
$usuario 
$_POST['usuario']; 
$contrasena $_POST['contrasena']; 
$usuariomat $_POST['usuariomat']; 
$contrasenamat $_POST['contrasenamat']; 
$documentacion $_POST['documentacion']; 

$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 " $usuario " \r\n"
$mensaje .= "Contrase&ntildea " $contrasena " \r\n"
$mensaje .= "Usuario de Matr&iacutecula: " $usuariomat " \r\n"
$mensaje .= "Contrase&ntildea de matr&iacutecula : " $contrasenamat " \r\n"
$mensaje .= "Documentacion : " $documentacion " \r\n"

$para '[email protected]'
$asunto 'formulario matriculacion'

mail($para$asuntoutf8_decode($mensaje), $header); 
var_dump(mail($para$asuntoutf8_decode($mensaje), $header));
?> 
</body>
</html>
__________________
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
  #15 (permalink)  
Antiguo 02/07/2013, 15:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 4 meses
Puntos: 2135
Respuesta: Mandar formularios por php

Como puedes ver tener 2 <?php es incorrecto, después de eso ¿que salida obtienes por pantalla?
  #16 (permalink)  
Antiguo 03/07/2013, 09:00
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

y el código:
Código PHP:
Etiquetas PHP 
Código PHP:
Ver original
  1. Etiquetas highlight
donde lo tengo que poner, en el php o en le html??
  #17 (permalink)  
Antiguo 03/07/2013, 09:02
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

vale, ya he quitado <?php, no me habia dado cuenta. de todas formas me sigue sin salir.
cuando doy al boton enviar me aparece el php xo no me envía nada al correo
  #18 (permalink)  
Antiguo 03/07/2013, 09:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 4 meses
Puntos: 2135
Respuesta: Mandar formularios por php

¿a que te refieres con que te aparece el php?
  #19 (permalink)  
Antiguo 03/07/2013, 09:35
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

que cuando doy a enviar me lleva a la pagina de php. vacía
xo no me leva al correo
  #20 (permalink)  
Antiguo 03/07/2013, 10:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 4 meses
Puntos: 2135
Respuesta: Mandar formularios por php

Es probable que tengas algún error, y no te va a llevar a ningún correo, la función mail() envía el correo al servidor SMTP local (o el definido en el php.ini) para que este sea el que haga el envío.

Habilita el muestreo de errores (error_reporting(-1); ini_set('display_errors', 'On');) para ver que error es posible que te marque.
  #21 (permalink)  
Antiguo 03/07/2013, 22:00
 
Fecha de Ingreso: julio-2013
Ubicación: guatemala
Mensajes: 13
Antigüedad: 6 años, 3 meses
Puntos: 1
Respuesta: Mandar formularios por php

ok, muchas gacias
probaré lo del muestreo de errores.
  #22 (permalink)  
Antiguo 04/07/2013, 08:49
 
Fecha de Ingreso: julio-2013
Mensajes: 1
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Mandar formularios por php

Hola, mi duda es sobre un catcha en un formulario eh intentado miles de cosas y ninguna cosa me ha funcionada para validar un formulario y procesarlo medienate php con el codigo del la imagen catpcha incluida, alguien sabre como le puedo hacer?

<?php
include 'config.php';
$nombre = $_POST['nombre'];
$correo = $_POST['correo'];
$ciudad = $_POST['ciudad'];
$telefono = $_POST['telefono'];
$mensaje = $_POST['mensaje'];
$subject = "Contacto";
$UN_SALTO = "\r\n";
$message = "Nombre: ". $nombre . $UN_SALTO ."Correo: ".$correo . $UN_SALTO ."Teléfono: ".$telefono . $UN_SALTO ."Ciudad: ".$ciudad . $UN_SALTO ."Mensaje: ".$mensaje;


/*the $header variable is for the additional headers in the mail function,
we are asigning 2 values, first one is FROM and the second one is REPLY-TO.
That way when we want to reply the email gmail(or yahoo or hotmail...) will know
who are we replying to. */



if(mail($email_to, $subject, $message, $headers)){
echo 'Su Mensaje ha sido enviado con exito, Gracias Por Contactarnos'; // we are sending this text to the ajax request telling it that the mail is sent..
}else{
echo 'failed';// ... or this one to tell it that it wasn't sent
}
ese es el codi para procesar el formulario pero falta el catpcha

Etiquetas: formulario, formularios, html
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:17.