Foros del Web » Programando para Internet » PHP »

Formulario en PHP

Estas en el tema de Formulario en PHP en el foro de PHP en Foros del Web. Hola! tengo el siguiente formulario (encontrado en la red) hecho en PHP: ------------------------------------------------------------- <? if (($nombre) && ($correo) && ($calificacion) && ($tema) && ($asunto) && ...
  #1 (permalink)  
Antiguo 07/02/2003, 14:27
 
Fecha de Ingreso: noviembre-2002
Mensajes: 369
Antigüedad: 15 años, 1 mes
Puntos: 0
Formulario en PHP

Hola! tengo el siguiente formulario (encontrado en la red) hecho en PHP:

-------------------------------------------------------------
<? if (($nombre) && ($correo) && ($calificacion) && ($tema) && ($asunto) && ($mensaje) && ($submit)) {
$tuemail = "[email protected]";
mail($tuemail,$asunto,$mensaje,"From: $correo\r\nReply-To: $correo\r\n");
echo "<b>pronto le contesto</b><br>";
} ?>
<form method="post" action="contacto.php">
<blockquote>
<p>Nombre:
<input type="text" name="nombre">
<br>
</p>
<p>email
<input type="text" name="correo">
</p>
<p>Tema:
<select name="tema" size="1">
<option value="Informaci&oacute;n">Informaci&oacute;n</option>
<option value="Comentario">Comentario</option>
</select>
</p>
<p>Asunto:
<input type="text" name="asunto">
<br>
</p>
<p>Mensaje: </p>
<p>
<textarea name="mensaje" rows="13" cols="70" wrap="VIRTUAL"></textarea>
<br>
</p>
</blockquote>
<p align="center">
<input type="reset" value="Borrar" name="borrar">
<input type="submit" value="Enviar" name="submit">
</p>
</form>
-------------------------------------------------------------

Pero el problema es que solo me llega el mail, el asunto y el mensaje. Y no me sale ni el nombre ni el tema, ni la calificación.
Me podrían decir que está mal?
  #2 (permalink)  
Antiguo 07/02/2003, 15:22
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 15 años, 8 meses
Puntos: 2
Porque las variables que dices que no te llegan no estan expresadas en el mail()

lo que puedes hacer es lo sig:

mail($tuemail,$asunto,$mensaje,"....

cambialo a :

mail($tuemail,$asunto,$mensaje\nNombre: $nombre\nCalificacion: $calificacion\nTema: $tema,".....


Salu2
  #3 (permalink)  
Antiguo 07/02/2003, 15:25
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 15 años, 8 meses
Puntos: 2
Otra cosa,, en el formulario no veo el campo de formulario con el nombre de calificacion..

checale..
  #4 (permalink)  
Antiguo 08/02/2003, 12:11
 
Fecha de Ingreso: noviembre-2002
Mensajes: 369
Antigüedad: 15 años, 1 mes
Puntos: 0
re

Hola!
Hice todos los cambios que me dijiste y cree clasificación y me largo el siguiente error:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/breezeland/cordoba/contacto.php on line 833
  #5 (permalink)  
Antiguo 08/02/2003, 17:38
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Y cual es la linea 833 de contacto.php? Supongo que es la del mail(). Por que imagino que habras copiado lo que te puso carmago sin intentar entenderlo. Y el problema es que se le olvido unas comillas dobles. El codigo correcto para la funcion mail seria:
Código PHP:
mail($tuemail,$asunto,"$mensaje\nNombre: $nombre\nCalificacion: $calificacion\nTema: $tema","From: $correo\r\nReply-To: $correo\r\n"); 
Te recomiendo que siempre que copies un codigo de los foros, primero intenta entenderlo, por que puede que haya errores de sintaxis (como en este caso). Y si te da un error de sintaxis, primero revisa en el manual la sintaxis de la funcion.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 22/02/2003, 17:31
 
Fecha de Ingreso: noviembre-2002
Mensajes: 369
Antigüedad: 15 años, 1 mes
Puntos: 0
Hola,
He estado leyendo cosas de formularios y sigo sin poder hacerlo funcionar.
Necesitan la etiqueta "value" los input, los select y los text area?
vean yo tengo este código:
--------------------------------------------------
<? if (($nombre) && ($email) && ($calificacion) && ($asunto) && ($mensaje) && ($submit)) {
mail("[email protected]","$asunto","$mensaje\nNo mbre: $nombre\nCalificacion: $calificacion\nTema: $tema");
echo "<b>E unos dias te respondo!</b><br>";
} ?>
<form method="post" action="contactame.php">
<p>Nombre:
<input type="text" name="nombre">
</p>
<p>Correo Electr&oacute;nico:
<input type="text" name="email">
</p>
<p>Calificaci&oacute;n
<select name="calificacion" size="1">
<option>Excelente</option>
<option>Muy Buena</option>
<option>Buena</option>
<option>Regular</option>
<option>Mala</option>
<option>Dedicate a otra cosa</option>
</select>
</p>
<p>Asunto:
<input type="text" name="asunto">
<br>
</p>
<p>Mensaje: </p>
<p>
<textarea name="mensaje" rows="13" cols="70" wrap="VIRTUAL"></textarea>
<br>
</p>
<p align="center">
<input type="reset" value="Borrar" name="borrar">
<input type="submit" value="Enviar" name="submit">
</p>
</form>

-----------------------------------------------
Sigo sin poder hacer andar ese código, o sea, no me aparece ningún error, parece todo correcto, pero nunca recibo el mail supuestamente enviado.

AYUDA!!!!!!
  #7 (permalink)  
Antiguo 22/02/2003, 18:02
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

En los <option> si debes poner el value, como en los checkbox y radio.

Si dices que no te llega el email, comprueba los valores de las variables del if. Haz un echo de cada una de ellas. Segun tu codigo, todas deben existir y tener un valor (quizas incluso distinto de cadena vacia).

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 22/02/2003, 23:47
 
Fecha de Ingreso: noviembre-2002
Mensajes: 369
Antigüedad: 15 años, 1 mes
Puntos: 0
Hola josemi, la verdad una lástima por que voy a tener que usar los servicios de formulario de Melodisoft o alguno de esos ya que no anda, ya probé todo lo que me han dicho y parece todo OK pero nunca recibo el mail, y no por que haya puesto mal el correo.
Gracias de todos modos
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 20:59.