Foros del Web » Programando para Internet » PHP »

Ayuda con un simple formulario

Estas en el tema de Ayuda con un simple formulario en el foro de PHP en Foros del Web. Hola amigos, Tengo un formulario php alojado en "sync.es" y no funciona. Sin embargo, el mismo formulario funciona perfectamente en otros servidores. El servicio técnico ...
  #1 (permalink)  
Antiguo 10/10/2005, 04:00
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
Ayuda con un simple formulario

Hola amigos,
Tengo un formulario php alojado en "sync.es" y no funciona. Sin embargo, el mismo formulario funciona perfectamente en otros servidores. El servicio técnico de sync.es dice que es un error de programación.

El código del archivo php es muy sencillo, simplemente valida tres campos y envia el correo con la función mail().
Soy un novato con esto del php y por eso me gustaría pediros ayuda con el código ya que yo no veo ningún error:
Código PHP:
<?
//VALIDACION DE CAMPOS OBLIGATORIOS - NOMBRE - CORREO - COMENTARIO

if(eregi('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]'$nombre)){
} else {
include(
"errornombre.html");
exit;
}

if ((
eregi('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$'$email)) ) {
} else {
include(
"errorcorreo.html");
exit;
}

if(
eregi('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]'$comentario)){
echo (
"El formulario ha sido enviado correctamente");
} else {
include(
"errorcoment.html");
exit;
}


// RECOGE LOS CAMPOS DEL FORMULARIO EL DESTINATARIO Y EL ASUNTO                                
$destinatario "[email protected]"
$asunto "Consulta";
$cuerpo ="NOMBRE: $nombre<br>";
$cuerpo .="CORREO: $email<br>";
$cuerpo .="TELEFONO: $telefono<br>";
$cuerpo .="COMENTARIO: $comentario<br><br><br>";


//ENVIO DEL FORMULARIO EN FORMATO HTML

$headers "MIME-Version: 1.0\r\n"
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"
$headers .= "From: $nombre <$email>\r\n"

mail($destinatario$asunto$cuerpo$headers
?>
Muchas gracias y un saludo.

Última edición por jam1138; 10/10/2005 a las 05:55
  #2 (permalink)  
Antiguo 10/10/2005, 06:06
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Saludos

Primero dejame recomendarte ayudes a que se te ayude aportando, de manera clara, los datos necesarios para poder saber cuál es el error. Concretamente ¿por qué no funciona?; un "no funciona no dice mucho". Veo que el código importa un archivo en caso de fallo ¿esta importando dicho archivo?, ¿acaso se queda en blanco la página?, ¿dice que envia el correo pero no recibes nada?, ¿hay algún mensaje de error?; en caso de haberlo menciona cuál exáctamente y comenta en tu código las lineas implicadas.

Eso solo como comentarios... la verdad es que parece que tu error es algo bastante común y es que no haces uso de las variables superglobales.
FAQ: http://www.forosdelweb.com/showpost....88&postcount=3
otra FAQ: http://www.forosdelweb.com/showpost....89&postcount=4

Prueba cambiar $nombre por $_POST['nombre'], $email por $_POST['email'] y así con las variables que provengan de tu formulario.
www.php.net/variables.external

Edite tu mensaje para encerrar tu código pués descomponia por completo la estructura del sitio... además ve que se lee mejor así. Date un tiempo para revizar mi firma...

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 10/10/2005 a las 06:11
  #3 (permalink)  
Antiguo 10/10/2005, 08:03
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
Gracias por tu correo Jam1138 y disculpa por mi falta de claridad.

Voy a probar con las variables globales.

Gracias de nuevo.

Última edición por jahm001; 10/10/2005 a las 08:32
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 08:48.