Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/08/2009, 13:51
PATRICIA_SE
 
Fecha de Ingreso: junio-2009
Mensajes: 8
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Formulario se envía vacío cuando el archivo supera 8mb

Hola amigos, intento hacer un formulario desde la web que me llegue a mi correo. Me he bajado muuchos .php pero no consigo que me llegue bien. Cuando pongo la casilla con el botón examinar, a mi correo me llega la dirección pero no la foto. Alguien me puede ayudar xfa

html

<FORM name = "formulario" ACTION="xxxx" METHOD="GET" onSubmit="return validate1(this)">
<fieldset>
<font color="#000000">
<legend><font size="3" face="Arial, Helvetica, sans-serif">Datos del Anuncio</font></legend>
</font><br>
<strong><FONT color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Nombre</FONT></strong>
<INPUT TYPE="text" NAME="nombre" size="40">
<BR>
<BR>
<font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Forma de contacto</b></font>
<input type="text" name="correo" size="31">
<BR>
<BR>
<FONT color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Secci&oacute;n</b></FONT>
<SELECT name="selectweb">
<OPTION value="Ninguna" selected>Ninguna</OPTION>
<OPTION value="Nino">nino</OPTION>
<OPTION value="nina">nina</OPTION>
<OPTION value="premama">premama</OPTION>
</SELECT>
<BR>
<BR>
<FONT color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Foto</b></FONT>
<INPUT TYPE="file" NAME="upload" size="40">
<BR>
<BR>
<textarea name="mensaje" cols="50" rows="10">Contenido de tu anuncio </textarea>
<BR>
<INPUT TYPE="hidden" NAME="pagina_gracias" VALUE="gracias.">
</fieldset>
<br>
<fieldset>
<BR>
<INPUT name="submit" TYPE="submit" VALUE="Enviar"><input type="reset">
</FORM>

php

<?php

## VARIABLES
## Dirección de tu email
$micorreo="patriciaxxxxx";
## Asunto axiliar si no lo introduce un asunto que identifique la procedencia del mail.
$xasunto="Correo desde tu pagina";
## Pagina final de gracias. Si el formulario no incluye este campo oculto del formulario.
$gracias_defecto="xxxxxxxxxx";
## Página final si se produce un error al enviar el email
$error_correo="errorml";
## variable auxiliar, que produce un salto de línea
$retorno="\r\n";

## CABECERAS DE CORREO
## Diversas cabeceras para el email. Luego, lo usaremos para enviarlo
## $nombre $correo son variables que contienen los valores de: nombre y email del formulario.
$headers = "MIME-Version: 1.0\r\n" ;
## campos y variables nombre, $nombre y email $correo. No puede ser modificado su nombre en el form
## Han de mantenerse en el formulario para utilizar el mismo script con distintos formularios
## Añadimos esta linea por compatibilidad, Ver la Explicación
$nombre=$HTTP_GET_VARS['nombre'];$correo=$HTTP_GET_VARS['correo'];
## Origen del mensaje
$headers .= "From: $nombre<$correo>\r\n";
## Responder al mail
$headers .= "Reply-To: $correo<$correo>\r\n";
## Otras cabeceras que pueden ponerse si ocurren problemas u omitirse si todo va bien.
## Obligatoriamente, cada elemento de la cabecera termina en \r\n Nueva línea.
## $headers .= "X-Mailer: PHP/" . phpversion();
## $headers .= "X-Sender: $correo<$correo>\r\n";
## $headers .= "Return-Path: <$correo>\r\n";
## $headers .= "Cc: $nombre<$correo>\r\n";

## CUERPO DEL MENSAJE INICIO
## Obtención de la IP del visitante
## Empezamos a contruir el mensaje final, sumando los elementos del mensaje
$mfinal.="IP visitante: ";
## Guardamos la IP del visitante
$mfinal.=$HTTP_SERVER_VARS['REMOTE_ADDR'];
$mfinal.=": ";
## Y el puerto del usuario
$mfinal.=$HTTP_SERVER_VARS['REMOTE_PORT'];
## añadimos dos retornos de línea
$mfinal.=$retorno;
$mfinal.=$retorno;

## CUERPO DEL MENSAJE AÑADIDO DE CAMPOS AL MENSAJE
## $vareliminar Número de botones del formulario y campos ocultos (últimos elementos) + 1 --> en este caso (1+1)
## Si queremos eliminar del mensaje el campo oculto de la página final $vareliminar=3;
$vareliminar=2;
## Almacenar en un array los nombres de variables del formulario enviado
$claves_array=array_keys ($HTTP_GET_VARS);
## de i=0 hasta el número de campos del formulario, - variables a eliminar
for ($i=0;$i<=(count($HTTP_GET_VARS)-$vareliminar);$i++){
## Obtenemos el nombre de cada campo en concreto
$nombrevar=$claves_array[$i];
## Sumamos el nombre de campo de formulario al mensaje final
$mfinal .= $nombrevar;
$mfinal .= ": ";
## Y añadimos el contenido que haya introducido nuestro visitante
$mfinal .= $HTTP_GET_VARS[$nombrevar];
## Separamos cada campo por dos retornos, podemos eliminar uno
$mfinal .= $retorno;
$mfinal .= $retorno;
}
## Si no hay asunto, o no contiene nada, le damos al email un asunto defecto
if (is_null($asunto)){ $asunto2="correo desde la web";}
## Si hay asunto, añadimos un prefijo propio para identificar que es email desde la web.
else { $asunto2 ="Asunto-> $asunto"; }

## ENVÍO DEL CORREO
## Para finalizar, envíamos el mail, y comprobamos el resultado
$resultado=mail($micorreo, $asunto2, $mfinal, $headers);
## Si quisiésemos enviar un mensaje de acuso de recibo, añadimos esta línea, sabiendo que:
## tenemos que asignar estas variables $asuntoreply (Asunto), $mreply (mensaje), $headers2(mensaje)
## de modo similar a como hemos construido las variables anteriores
## $resultado2=mail($correo, $asuntoreply, $mreply, $headers2);

## COMPROBACIÓN
## Si no se ha podido enviar el correo.
if ($resultado ==true)
{
## Si no hay página de gracias carga las página de defecto
if (is_null($pagina_gracias)){ header( "Location: $gracias_defecto" );}
else{
## Si hay página de gracias, cárgala
header( "Location: $pagina_gracias" );
}
}
## Si se ha producido un error, advierte al usuario
else header( "Location: $error_correo" );
?>

Me va muy bien pero cuando inserto el botón Examinar para enviar una foto a mi correo no me llega.

Muchas gracias (como siempre por estar aqui)