Foros del Web » Programando para Internet » PHP »

problemas con formulario

Estas en el tema de problemas con formulario en el foro de PHP en Foros del Web. En primer lugar un saludo, y gracias anticipadas al que me pueda ayudar. Como antecedentes decir que piloto poco con html y menos con PHP. ...
  #1 (permalink)  
Antiguo 03/11/2008, 10:15
 
Fecha de Ingreso: abril-2004
Mensajes: 7
Antigüedad: 20 años
Puntos: 0
problemas con formulario

En primer lugar un saludo, y gracias anticipadas al que me pueda ayudar.
Como antecedentes decir que piloto poco con html y menos con PHP.
El caso es que "siguiendo (copiando)" un tuto de original-design para hacer un formulario con posibilidad de adjuntar un archivo, cuando lo subo a mi servidor y le digo enviar me redirecciona "no se puede mostrar la pag.." y no se por que. Lo único que he hecho es fusilar el codigo copiándolo en dreamweaber y guardando como html la página con el formulario y php la que lo "procesa" (dios que manera de explicarme).
el codigo del html con el formulario es:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name='formulario' id='formulario' method='post' action='send.php' target='_self' enctype="multipart/form-data">
<p>Nombre <input type='text' name='Nombre' id='Nombre'></p>
<p>E-mail
<input type='text' name='email' id='email'>
</p>
<p>Asunto
<input type='text' name='asunto' id='asunto' />
</p>
<p>Mensaje
<textarea name="mensaje" cols="50" rows="10" id="mensaje"></textarea>
</p>
<p>Adjuntar archivo: <input type='file' name='archivo1' id='archivo1'></p>
<p>
<input type='submit' value='Enviar'>
</p>
</form>



y el del PHP

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";

if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;

foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";

$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";

$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";

$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}

if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}

if (form_mail("[email protected]", $_POST[asunto],
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))
echo "Su formulario ha sido enviado con exito";
?>


</body>
</html>
</body>
</html>


Siento la tosta, y hablar desde tan profunda ignorancia, pero aun así agradecido al que me eche un cable
  #2 (permalink)  
Antiguo 03/11/2008, 10:21
Avatar de pepeverastegui  
Fecha de Ingreso: septiembre-2008
Ubicación: Pedernales, Michoacan
Mensajes: 82
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: problemas con formulario

pudiera ser que tienes mal dirigido el formulario

tu lo tienes dirigido a la pagina send.php, y en realidad ese archivo existe??? ahora eso de targe='_self' para uqe lo usas no le veo importancia
  #3 (permalink)  
Antiguo 03/11/2008, 10:38
 
Fecha de Ingreso: abril-2004
Mensajes: 7
Antigüedad: 20 años
Puntos: 0
Respuesta: problemas con formulario

Pues send.php es el archivo que lleva el 2º código y si, lo he subido al servidor. Por otro lado he eliminado target='_self' y me sigue ocurriendo lo mismo....
  #4 (permalink)  
Antiguo 03/11/2008, 10:41
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: problemas con formulario

¿te redirecciona justo cuando le das a enviar? ¿qué página pone en la url del navegador?
  #5 (permalink)  
Antiguo 03/11/2008, 10:44
 
Fecha de Ingreso: abril-2004
Mensajes: 7
Antigüedad: 20 años
Puntos: 0
Respuesta: problemas con formulario

Cita:
¿te redirecciona justo cuando le das a enviar? ¿qué página pone en la url del navegador?
Eso es, cuando le doy a enviar, y llama a send.php
  #6 (permalink)  
Antiguo 03/11/2008, 10:47
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: problemas con formulario

Pero en la url del navegador lo pone todo bien? la ruta y el send.php? y existe en ese directorio ese archivo?
  #7 (permalink)  
Antiguo 03/11/2008, 10:51
 
Fecha de Ingreso: abril-2004
Mensajes: 7
Antigüedad: 20 años
Puntos: 0
Respuesta: problemas con formulario

La página de prueba, está en ..., y si, he subido ambos archivos a la vez

Última edición por caetanus; 04/11/2008 a las 01:26
  #8 (permalink)  
Antiguo 03/11/2008, 10:54
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: problemas con formulario

Pero cuando le das a enviar, la url en el navegador cambia a send.php?
  #9 (permalink)  
Antiguo 03/11/2008, 10:55
 
Fecha de Ingreso: abril-2004
Mensajes: 7
Antigüedad: 20 años
Puntos: 0
Respuesta: problemas con formulario

Eso es, solo que muestra pagina no encontrada
  #10 (permalink)  
Antiguo 03/11/2008, 10:57
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: problemas con formulario

Y si la intentas abrir directamente, poniendo en el navegador la dirección entera del send.php?

Tiene pinta de que no se ha subido correctamente.... o de que el servidor no admite php.
  #11 (permalink)  
Antiguo 03/11/2008, 10:59
 
Fecha de Ingreso: abril-2004
Mensajes: 7
Antigüedad: 20 años
Puntos: 0
Respuesta: problemas con formulario

si pones la direccion directamente aparece esto:

$sValor) $sTexto = $sTexto."\n".$sNombre." = ".$sValor; foreach ($_FILES as $vAdjunto) { if ($bHayFicheros == 0) { $bHayFicheros = 1; $sCabeceras .= "Content-type: multipart/mixed;"; $sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n"; $sCabeceraTexto = "----_Separador-de-mensajes_--\n"; $sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n"; $sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n"; $sTexto = $sCabeceraTexto.$sTexto; } if ($vAdjunto["size"] > 0) { $sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n"; $sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";; $sAdjuntos .= "Content-Transfer-Encoding: BASE64\n"; $sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n"; $oFichero = fopen($vAdjunto["tmp_name"], 'r'); $sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"])); $sAdjuntos .= chunk_split(base64_encode($sContenido)); fclose($oFichero); } } if ($bHayFicheros) $sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n"; return(mail($sPara, $sAsunto, $sTexto, $sCabeceras)); } if (form_mail("[email protected]", $_POST[asunto], "Los datos introducidos en el formulario son:\n\n", $_POST[email])) echo "Su formulario ha sido enviado con exito"; ?>
  #12 (permalink)  
Antiguo 03/11/2008, 11:03
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: problemas con formulario

Me da que el servidor no acepta PHP.
  #13 (permalink)  
Antiguo 03/11/2008, 11:22
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: problemas con formulario

estas trabajando en local?, si es asi fijate de tener un servidor web instalado, que el archivo este redireccionando bien al action, tendrias que tener los dos archivos en la misma carpeta para que te lo tome
  #14 (permalink)  
Antiguo 04/11/2008, 01:25
 
Fecha de Ingreso: abril-2004
Mensajes: 7
Antigüedad: 20 años
Puntos: 0
Respuesta: problemas con formulario

No trabajo en local, de hecho deje la dirección colgada. Por otro lado creo que lo que comenta Keysher puede ser el problema.

Gracias por la ayuda
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 00:40.