Foros del Web » Programando para Internet » PHP »

Duda con codigo PHP para enviar formulario

Estas en el tema de Duda con codigo PHP para enviar formulario en el foro de PHP en Foros del Web. Hola a todos, Despues de leerme todo el foro de arriba a abajo e intentarlo de mil formas... no consigo dar con la solucion, espero ...
  #1 (permalink)  
Antiguo 09/06/2011, 16:52
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 2 meses
Puntos: 0
Duda con codigo PHP para enviar formulario

Hola a todos,
Despues de leerme todo el foro de arriba a abajo e intentarlo de mil formas... no consigo dar con la solucion, espero que me podais ayudar... gracias de antemano.

tengo este formulario html

<form action="enviar.php" method="post" name="form1" id="form1">
<p align="center"><span class="Estilo12">Inserta tu anuncio
</span></p>
<p align="left"><span class="Estilo7">Categoría</span><span class="Estilo13">
<select name="select2" id="select2">
<option>(Todas las categorías)</option>
</select>
</span></p>
<p align="left"><span class="Estilo7">Provincia</span><span class="Estilo13">
<select name="select" size="1" id="select">
<option>(Todas las provincias)</option>
</select>
</span></p>
<p align="left" class="Estilo7">Anuncia
<input type="radio" name="radio" id="radio" value="radio" />
particular
<input type="radio" name="radio2" id="radio2" value="radio2" />
profesional </p>
<p align="left" class="Estilo7">Nombre
<input type="text" name="textfield3" id="textfield4" />
</p>
<p align="left" class="Estilo7">Apellidos
<input type="text" name="textfield" id="textfield5" />
</p>
<p align="left" class="Estilo7">E-mail
<input type="text" name="textfield9" id="textfield6" />
</p>
<p align="left" class="Estilo7">Contraseña
<input type="password" name="textfield4" id="textfield7" />
</p>
<p align="left" class="Estilo7">Repetir contraseña
<input type="password" name="textfield12" id="textfield12" />
</p>
<p align="left" class="Estilo7">Ciudad del anunciante
<input type="text" name="textfield10" id="textfield10" />
</p>
<p align="left" class="Estilo7">Zona de cobertura
<input type="text" name="textfield11" id="textfield11" />
</p>
<p align="left" class="Estilo7">Teléfono
<input type="text" name="textfield2" id="textfield" />
</p>
<p align="left" class="Estilo7"> Fecha de Nacimiento
<select name="select3" id="select3">
</select>
<select name="select4" id="select4">
</select>
<select name="select5" id="select5">
</select>
</p>
<p align="left" class="Estilo7"> DNI o T. Residencia
<input type="text" name="textfield5" id="textfield8" />
</p>
<p align="left" class="Estilo7">Título anuncio
<input name="textfield6" type="text" id="textfield2" value="" />
</p>
<p align="left" class="Estilo7">Texto/descripción (recuerde poner horas y días disponibles para que el comprador pueda elejir)</p>
<p align="left" class="Estilo7">
<textarea name="textfield7" cols="98" rows="20" id="textfield3"></textarea>
</p>
<p align="left" class="Estilo7">Insertar imagen principal:
<input type="file" name="fileField" id="fileField" />
</p>
<p>
<input type="checkbox" name="checkbox" id="checkbox" />
<a href="condiciones de uso y politica de privacidad.html">Acepto las condiciones de uso y la política de privacidad</a></p>
<p>&nbsp; </p>
<p align="center" class="Estilo7">
<input type="submit" name="button" id="button" value="Insertar" />
<input type="reset" name="button2" id="button2" value="Borrar" />
</p>
</form>

Y para que me lo puedan enviar desde la web, tengo este archivo PHP

<?php

$mail='[email protected]' ;

$categoria = $_POST ["select2"] ;
$provincia = $_POST ["select"] ;
$particular = $_POST ["radio"] ;
$profesional = $_POST ["radio2"] ;
$nombre = $_POST ["textfield3"] ;
$apellidos = $_POST ["textfield"] ;
$email = $_POST ["textfield9"] ;
$contraseña = $_POST ["textfield4"] ;
$repetir contraseña = $_POST ["textfield12"] ;
$ciudad del anunciante = $_POST ["textfield10"] ;
$zona de cobertura = $_POST ["textfield11"] ;
$telefono = $_POST ["textfield2"] ;
$dia = $_POST ["select3"] ;
$mes = $_POST ["select4"] ;
$año = $_POST ["select5"] ;
$dni = $_POST ["textfield5"] ;
$titulo anuncio = $_POST ["textfield6"] ;
$descripcion = $_POST ["textfield7"] ;
$imagen = $_POST ["fileField"] ;
$acepta condiciones de uso = $_POST ["checkbox"] ;

$thank="gracias por tu anuncio.html" ;

$message = "
categoria: " .$select2."
provincia: " .$select."
particular: " .$radio."
profesional: " .$radio2."
nombre: " .$textfield3."
apellidos: " .$textfield."
email: " .$textfield9."
contraseña: " .$textfield4."
repetir contraseña: " .$textfield12."
ciudad del anunciante: " .$textfield10."
zona de cobertura: " .$textfield11."
telefono: " .$textfield2."
dia: " .$select3."
mes: " .$select4."
año: " .$select5."
dni: " .$textfield5."
titulo anuncio: " .$textfield6."
descripcion: " .$textfield7."
imagen: " .$fileField."
acepta condiciones de uso: " .$checkbox."

if (mail ($mail, "nuevo anuncio", $message) )

Header ("Location: $thank") ;

?>

Pues bien, al darle a enviar... no me llega nada al correo...
Por favor, me podrian decir cual es el fallo? me estoy volviendo loco...
Gracias.
  #2 (permalink)  
Antiguo 09/06/2011, 17:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda con codigo PHP para enviar formulario

¿Pero si te redirecciona el header()?

Bueno, si así sucede entonces no tienes problemas de código.

Recuerda que PHP no es un servidor de correo, así que entonces lo único que hace la función mail() es pasar el correo hacía el servidor de correo local.

Así entonces la responsabilidad de si se envía o no el correo no es problema de PHP.

Te invito a buscar temas similares en el foro, hay bastantes soluciones reales.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/06/2011, 04:30
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Duda con codigo PHP para enviar formulario

Hola pateketrueke,

Cuando le doy a enviar, me sale una pagina dandome un error de sintaxis, no me redirecciona a ningun lado y tampoco me llega el formulario al correo...

por eso preguntaba si habia algun error en los codigos...

Gracias.
  #4 (permalink)  
Antiguo 10/06/2011, 05:14
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 1 mes
Puntos: 22
Respuesta: Duda con codigo PHP para enviar formulario

Puede ser fallo del servicio de correo? STMP (no se si son asi las siglas XD)

Puerto 25 creo que es.
  #5 (permalink)  
Antiguo 10/06/2011, 07:27
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Duda con codigo PHP para enviar formulario

Y que debo hacer con el puerto 25??
el hosting que tengo contratado si que tiene SMTP...
  #6 (permalink)  
Antiguo 10/06/2011, 07:37
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Duda con codigo PHP para enviar formulario

si te da un error de sintaxis obviamente es fallo de código, ¿podrias ponerlo por favor? es molesto leer todo el código.
  #7 (permalink)  
Antiguo 10/06/2011, 08:40
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Duda con codigo PHP para enviar formulario

este es el codigo que me da:

Parse error: syntax error, unexpected T_STRING in /var/www/vhost/waybe.es/home/html/enviar.php on line 13
  #8 (permalink)  
Antiguo 10/06/2011, 08:58
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Duda con codigo PHP para enviar formulario

las variables no pueden escribirse así:

$mi variable

debe ser así:

$mi_variable, es decir no permiten espacios

y la variable $message nunca la cierras con un ;

Código PHP:
Ver original
  1.  
  2. $categoria = $_POST ["select2"] ;
  3. $provincia = $_POST ["select"] ;
  4. $particular = $_POST ["radio"] ;
  5. $profesional = $_POST ["radio2"] ;
  6. $nombre = $_POST ["textfield3"] ;
  7. $apellidos = $_POST ["textfield"] ;
  8. $email = $_POST ["textfield9"] ;
  9. $contraseña = $_POST ["textfield4"] ;
  10. $repetir_contraseña = $_POST ["textfield12"];
  11. $ciudad_del_anunciante = $_POST ["textfield10"] ;
  12. $zona_de_cobertura = $_POST ["textfield11"] ;
  13. $telefono = $_POST ["textfield2"] ;
  14. $dia = $_POST ["select3"] ;
  15. $mes = $_POST ["select4"] ;
  16. $año = $_POST ["select5"] ;
  17. $dni = $_POST ["textfield5"] ;
  18. $titulo_anuncio = $_POST ["textfield6"] ;
  19. $descripcion = $_POST ["textfield7"] ;
  20. $imagen = $_POST ["fileField"] ;
  21. $acepta_condiciones_de_uso = $_POST ["checkbox"] ;
  22.  
  23. $thank="gracias por tu anuncio.html" ;
  24.  
  25. $message = "
  26. categoria: " .$select2."
  27. provincia: " .$select."
  28. particular: " .$radio."
  29. profesional: " .$radio2."
  30. nombre: " .$textfield3."
  31. apellidos: " .$textfield."
  32. email: " .$textfield9."
  33. contraseña: " .$textfield4."
  34. repetir contraseña: " .$textfield12."
  35. ciudad del anunciante: " .$textfield10."
  36. zona de cobertura: " .$textfield11."
  37. telefono: " .$textfield2."
  38. dia: " .$select3."
  39. mes: " .$select4."
  40. año: " .$select5."
  41. dni: " .$textfield5."
  42. titulo anuncio: " .$textfield6."
  43. descripcion: " .$textfield7."
  44. imagen: " .$fileField."
  45. acepta condiciones de uso: " .$checkbox;
  46.  
  47. if (mail ($mail, "nuevo anuncio", $message) )
  48. Header ("Location: $thank") ;
  #9 (permalink)  
Antiguo 10/06/2011, 09:33
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Duda con codigo PHP para enviar formulario

Muchisimas gracias memoadian!!
El codigo que me has corregido me va perfecto y me redirecciona a la pagina, lo unico que me
falta es... que el email que me llega al correo... me llega con todos los campos del formulario, pero en blanco... como si no se hubiese rellenado nada...
que es lo que me faltaria?
  #10 (permalink)  
Antiguo 10/06/2011, 09:45
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Duda con codigo PHP para enviar formulario

pues saber un poco de php

yo veo que tienes $select2

como variable y esa variable no existe, es la que mandaste por post ¬¬

tendria que ser $categoria.

por que $categoria = $_POST['select2'];
  #11 (permalink)  
Antiguo 10/06/2011, 11:05
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Duda con codigo PHP para enviar formulario

Muchas gracias!
Ahora si que va perfecto!
Un saludo
  #12 (permalink)  
Antiguo 10/06/2011, 11:09
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Duda con codigo PHP para enviar formulario

estudia mucho
  #13 (permalink)  
Antiguo 10/06/2011, 12:21
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Duda con codigo PHP para enviar formulario

Si, que estoy bastante perdido...

Una ultima preguntilla aprovechando que estas por aqui...

Tengo un campo en el formulario para adjuntar una foto, pero cuando me envian el formulario
desde la web, solo me aparece el nombre: foto.jpg

que codigo tendria que ponerle para que me llegue la foto?

GRACIAS!!
  #14 (permalink)  
Antiguo 10/06/2011, 12:27
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Duda con codigo PHP para enviar formulario

Depende, puedes añadir la imagen dentro del propio correo o enviarla como archivo adjunto. Hay mucha información y tutoriales sobre esto en internet.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #15 (permalink)  
Antiguo 10/06/2011, 12:34
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Duda con codigo PHP para enviar formulario

graciasd IEKK.
la verdad yo nunca he trabajado con imagenes en un correo, pero
sigue el consejo anterior, buscando por ahí.
  #16 (permalink)  
Antiguo 10/06/2011, 12:56
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Duda con codigo PHP para enviar formulario

Cita:
Iniciado por memoadian Ver Mensaje
graciasd IEKK.
la verdad yo nunca he trabajado con imagenes en un correo, pero
sigue el consejo anterior, buscando por ahí.
?¿ no entiendo en que sentido va eso, pero sí que se puede adjutar una imagen a un email

¿O lo dices por no ponerle la url del tutorial?
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #17 (permalink)  
Antiguo 10/06/2011, 14:11
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: Duda con codigo PHP para enviar formulario

eeeeh, si quieres adjuntar una imagen tendrás que usar PHPMailer o similares, no puedes con mail();

a no ser que tu imagen este en un servidor remoto, si ese es el caso solo haz un tag html

<img src="http://www.pagina.com/imagen.png">

claro que cuando el usuario reciba el mail verá un molesto mensaje advirtiendo por su seguridad indicando que tu imagen podría ser potencialmente peligrosa y que si quiere verla debe hacer clic en un enlace y todo eso XD
__________________
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
  #18 (permalink)  
Antiguo 10/06/2011, 14:45
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Duda con codigo PHP para enviar formulario

lo que dije es que nunca he mandado imagenes por mail o sea que no se hacerlo, pero hay muchos tutos como dijiste.

a eso me refería.
  #19 (permalink)  
Antiguo 10/06/2011, 15:09
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: Duda con codigo PHP para enviar formulario

http://www.phpeveryday.com/articles/...mail-P113.html
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #20 (permalink)  
Antiguo 10/06/2011, 16:41
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: Duda con codigo PHP para enviar formulario

interesante aporte mogurbon, así que si se puede por mail(); pero que largo queda...
__________________
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
  #21 (permalink)  
Antiguo 10/06/2011, 16:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 23
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Duda con codigo PHP para enviar formulario

Lo explico...
En mi pagina web tengo un formulario para que los usuarios pongan un anuncio... tengo puesto para que puedan poner una foto, pero al darle a enviar... a mi me llega solo el nombre de la imagen... pero la imagen no me llega...
  #22 (permalink)  
Antiguo 10/06/2011, 17:26
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: Duda con codigo PHP para enviar formulario

Cita:
Iniciado por stramin Ver Mensaje
interesante aporte mogurbon, así que si se puede por mail(); pero que largo queda...

si, bien podria ser un archivo aparte como tipo una plantilla para cuando se necesite , modificarla y dejarla adoc a lo que se necesita , en cuanto a la duda del compañero gonfrias19 en el manual de

http://mx2.php.net/manual/es/function.mail.php


viene como adjuntar archivos adjuntos, en la parte de los ejemplos de los usuarios
buscalo asi How to add multiple attachment to an email pa que te des una idea
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo

Etiquetas: ajax, formulario
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 22:26.