Foros del Web » Programando para Internet » PHP »

Problemas formulario en php

Estas en el tema de Problemas formulario en php en el foro de PHP en Foros del Web. Hola de nuevo.Tengo el codigo del script de desarrolloweb para enviar formularios por mail,es este: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Mándanos ...
  #1 (permalink)  
Antiguo 09/06/2004, 06:23
 
Fecha de Ingreso: mayo-2004
Mensajes: 63
Antigüedad: 13 años, 6 meses
Puntos: 0
Problemas formulario en php

Hola de nuevo.Tengo el codigo del script de desarrolloweb para enviar formularios por mail,es este:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Mándanos tus comentarios</title>
</head>

<body bgcolor="#cccc66" text="#003300" link="#006060" vlink="#006060">
<?
if (!$HTTP_POST_VARS){
?>
<form action="envia_form_php.php" method=post>
Nombre: <input type=text name="nombre" size=16>
<br>
Email: <input type=text name=email size=16>
<br>
Comentarios: <textarea name=coment cols=32 rows=6></textarea>
<br>
<input type=submit value="Enviar">
</form>

<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS['nombre'] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS['email'] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS['coment'] . "\n";

//mando el correo...
mail("[email protected]","Formulario recibido",$cuerpo);

//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";

}
?>
</body>
</html>

El problema es que ya he modificado el php.ini y le he puesto mi servidor de smtp,y tambien puse la direccion de correo donde quiero que se envie en la funcion mail,y cuando pulso el boton de envio,me sale el error "Http pagina no encontrada",y el email no se envia.Ayyuda por favor,alguien sabe de algun otro script sencillo?,tampoco ha de ser muy complicado.Gracias de antemano
  #2 (permalink)  
Antiguo 09/06/2004, 06:43
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
¿La pagina donde tienes el código se llama "envia_form_php.php"?. Porque según este código se llama a si misma y como tenga otro nombre por eso te va a dar fallo. Siempre lo que puedes hacer es poner esto:

<form action="<?=$_SERVER['PHP_SELF']?>" method=post>
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 09/06/2004, 12:02
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 14 años, 2 meses
Puntos: 4
igual puedes nombrar el archivo como envia_form_php.php para que no halla problemas
  #4 (permalink)  
Antiguo 10/06/2004, 02:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 63
Antigüedad: 13 años, 6 meses
Puntos: 0
Teniais razon con lo de renombrar el documento,se me paso,no se como.Ya lo hice,pero ahora me da esto:

Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Inetpub\wwwroot\auten\formulario.php on line 30

Como lo soluciono?
  #5 (permalink)  
Antiguo 10/06/2004, 15:43
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 14 años, 2 meses
Puntos: 4
simple, tienes que definir un valor para la variable
sendmail_from = [email protected] ; for Win32 only
o definir el From del parametro $header para la funcion mail. en otras palabras:

$headers = "From: alguien<[email protected]>";
mail("[email protected]","Formulario recibido",$cuerpo,$headers);

pase lo que pase no dejes que el From quede sin una direccion de email(ej $headers = "From: alguien<>").
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:02.