Foros del Web » Programando para Internet » PHP »

Problemas con formulario en PHP

Estas en el tema de Problemas con formulario en PHP en el foro de PHP en Foros del Web. Tengo un inconveniente con un formulario en php El codigo del form es el siguiente <form action="path/to/contact.php" method="POST"> <p><strong><font size="4" face="Courier New, Courier, mono">Feed<font color="#666666">Back</font></font></strong></p> ...
  #1 (permalink)  
Antiguo 07/02/2005, 14:26
Avatar de DracoWorld  
Fecha de Ingreso: julio-2003
Ubicación: Mérida - Venezuela
Mensajes: 505
Antigüedad: 14 años, 4 meses
Puntos: 0
Problemas con formulario en PHP

Tengo un inconveniente con un formulario en php

El codigo del form es el siguiente

<form action="path/to/contact.php" method="POST">
<p><strong><font size="4" face="Courier New, Courier, mono">Feed<font color="#666666">Back</font></font></strong></p>
<p>1. Nombre<br>
<input type="text" value="nombre" size="50" maxlength="50" name="name" class="txtfield">
<br>
2. E-mail<br>
<input type="text" value="[email protected]" size="50" maxlength="60" name="email">
<br>
3. Sitio Web (URL)<br>
<input type="text" value="http://www.websiteurl.com" size="50" maxlength="60" name="website">
<br>
4 . Titulo<br>
<input type="text" value="" size="50" maxlength="60" name="subject">
<br>
5. Tu Mensaje<br>
<textarea name="msg" rows="7" cols="50"></textarea>
<br>
<input type="submit" value="Enviar!">
<br>
</p>
</form>

Y el del cgi seria

<?
$name= $_POST['name'];
$email= $_POST['email'];
$website= $_POST['website'];
$subject= $_POST['subject'];
$msg= $_POST['msg'];
$to="[email protected]";
$message= $name+" Ha llenado el formulario y dijo:\n".$comments."\n\n";
if(mail($to,"Britney Generation - Contact Form",$message,+"From: ".$name)) {
echo " Gracias por Escribir!. Te respondere en la brevedad de lo posible";
} else {
echo "Verifica que has llenado correctamente el formulario";
}
?>

Y resulta que el correo llegan solo "0" y mas nada, alguna sugerencia, tal vez el codigo falle en algo que yo no este logrando ver.

gracias de antemano
  #2 (permalink)  
Antiguo 07/02/2005, 14:32
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 14 años, 6 meses
Puntos: 8
A que le llamas 0?, podrias poner el formulario que llega tambien, asi poder ver que esta mal.
  #3 (permalink)  
Antiguo 07/02/2005, 14:45
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 13 años
Puntos: 7
Cambia esta línea:
$message= $name+" Ha llenado el formulario y dijo:\n".$comments."\n\n";

por
$message= $name." Ha llenado el formulario y dijo:\n".$comments."\n\n";
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #4 (permalink)  
Antiguo 07/02/2005, 15:15
 
Fecha de Ingreso: febrero-2005
Mensajes: 2
Antigüedad: 12 años, 10 meses
Puntos: 0
Hola a todos

Tratando sobre este tema tengo una pequeña duda, tengo un formulario, que envia (mediante POST) a otro archivo que inserta los datos en la base de datos

Queria saber que lineas meter en ese *.php (antes,despues de insertar en la base de datos y como saber si se envio correctamente ) que tengo para que ademas de subir los datos a la base de datos me los envia al correo.


Gracias de antemano.

Última edición por edbook_as; 07/02/2005 a las 15:17
  #5 (permalink)  
Antiguo 07/02/2005, 15:51
Avatar de DracoWorld  
Fecha de Ingreso: julio-2003
Ubicación: Mérida - Venezuela
Mensajes: 505
Antigüedad: 14 años, 4 meses
Puntos: 0
Cita:
Iniciado por eft0_
A que le llamas 0?, podrias poner el formulario que llega tambien, asi poder ver que esta mal.
el cuerpo del mensaje son 0 nada mas
  #6 (permalink)  
Antiguo 07/02/2005, 15:55
Avatar de DracoWorld  
Fecha de Ingreso: julio-2003
Ubicación: Mérida - Venezuela
Mensajes: 505
Antigüedad: 14 años, 4 meses
Puntos: 0
Cita:
Iniciado por xknown
Cambia esta línea:
$message= $name+" Ha llenado el formulario y dijo:\n".$comments."\n\n";

por
$message= $name." Ha llenado el formulario y dijo:\n".$comments."\n\n";

he probado el cambio y solo me llega esto


0draco

draco Ha llenado el formulario y dijo:



"draco" es el nombre q use al enviar el post
  #7 (permalink)  
Antiguo 07/02/2005, 15:57
T4X
 
Fecha de Ingreso: enero-2004
Ubicación: myT-Base
Mensajes: 254
Antigüedad: 13 años, 11 meses
Puntos: 2
DracoWorld coloca un ejemplo de formulario, en este caso para envar mail, si es con BD, haz lo siguiente:
Código PHP:
<?
if($_POST){ /* Indicando aqui que el formulario se esta procesando */
/* Primero trae las variables para procesar */
 
$nombre $_POST['nombre'];
$email $_POST['email'];
 
// Haces conexion con la bd
mysql_connect('host','tu_usuario','contrasena') or trigger_error(mysql_error(),E_USER_ERROR); 
 
/* 
El trigger_error te devuelve un error exacto en la linea de tu archivo por si llegase a fracasar 
*/
$sql "INSERT INTO nombre_tabla (id, nombre, email) VALUES ('','".$nombre."','".$email."')";
mysql_db_query('tu_bd',$sql) or trigger_error(mysql_error(),E_USER_ERROR);
 
/* Y si lo quieres enviar por mail, prepara encabezados, asunto y mensaje */ 
 
$header "From: Quien lo envia <tuemail>";
$subject "Asunto del mensaje";
 
$msg "Mensaje a enviar";
 
if(!
mail($email,$subject,$msg,$header)) {
 
echo 
"Falló la accion de enviar mensaje";
 
} else {
 
 
 
/* Genera una respuesta procesada */
echo "Informacion procesada";
// Esta cierra la accion de que si se envio el mail
} else {
?>
// Espacio para tu form
[HTML]
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input name="nombre" type="text">
<input name="submit" type="submit" value="Enviar">
</form>
[/HTML] 
 
<? ?>
Ten en cuenta que el <?=$_SERVER['PHP_SELF']?> indica que se está apuntando con la accion al mismo archivo, cualquier inquietud te la resolvere!!!

Ahi te veo....!
__________________
Ahora T4X es
WinGFX!!!!!

Última edición por T4X; 07/02/2005 a las 16:10
  #8 (permalink)  
Antiguo 07/02/2005, 15:58
T4X
 
Fecha de Ingreso: enero-2004
Ubicación: myT-Base
Mensajes: 254
Antigüedad: 13 años, 11 meses
Puntos: 2
DracoWorld, revisaste que las variables esten iguales tanto como las que declaras en el POST como las que se imprimen en el mail????
__________________
Ahora T4X es
WinGFX!!!!!
  #9 (permalink)  
Antiguo 07/02/2005, 16:00
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 13 años
Puntos: 7
No me dijé antes, dónde asignas la variable $comments?, en realidad no debe ser $msg?

$message= $name." Ha llenado el formulario y dijo:\n".$msg."\n\n";
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #10 (permalink)  
Antiguo 07/02/2005, 16:09
Avatar de DracoWorld  
Fecha de Ingreso: julio-2003
Ubicación: Mérida - Venezuela
Mensajes: 505
Antigüedad: 14 años, 4 meses
Puntos: 0
ok,
http://draco.outnloud.net/index.php?...&file=contactf --> este es el formulario

xknown, ya arregle lo de la variable $msg y ahora si llega el mensaje
T4X , si he revisado las variables pero debe haber algo q falta (obviamente )porque realment eno lo veo

los campos a llenar son:

Nombre
Email
Sitio Web
Titulo
Mensaje

de los cuales SOLO llega

Nombre
Mensaje

ejemplo:

0Joely

Joely Ha llenado el formulario y dijo:
este es el cuerpo del mensaje


Y el email dice de "nobody"

tambien debo mencionar que no estoy usando DB, consideran mejor esa opción?
gracias por las respuesta hasta el momento :)
  #11 (permalink)  
Antiguo 07/02/2005, 16:12
T4X
 
Fecha de Ingreso: enero-2004
Ubicación: myT-Base
Mensajes: 254
Antigüedad: 13 años, 11 meses
Puntos: 2
Si en tu bandeja de correo sale el "nobody" es porque no has especificado quien lo envia, revisa algo del ejemplo que he colocado, espero que te sirva!
__________________
Ahora T4X es
WinGFX!!!!!
  #12 (permalink)  
Antiguo 07/02/2005, 16:32
 
Fecha de Ingreso: febrero-2005
Mensajes: 2
Antigüedad: 12 años, 10 meses
Puntos: 0
Siento ser pesado pero nadie puede ayudarme con mi duda?¿
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 21:45.