Foros del Web » Programando para Internet » PHP »

Formulario con imagen y problemilla

Estas en el tema de Formulario con imagen y problemilla en el foro de PHP en Foros del Web. Hola a tod@s foreros, es mi primer post y e recurrido a esta pagina web para ver si soluciono mis problemillas con el php... En ...
  #1 (permalink)  
Antiguo 29/06/2013, 02:44
Avatar de angel_xx_1990  
Fecha de Ingreso: junio-2013
Ubicación: Guadalajara
Mensajes: 236
Antigüedad: 10 años, 9 meses
Puntos: 0
De acuerdo Formulario con imagen y problemilla

Hola a tod@s foreros, es mi primer post y e recurrido a esta pagina web para ver si soluciono mis problemillas con el php...

En primer lugar e creado una página web en la cual existe un formulario que la gente rellena y tras pulsar el botón enviar, se envia a mi correo elctrónio, ahora bien el problema me surge cuando ademas quiero que las personas que rellenen el formulario puedan añadir una imagen...es entonces cuando no me aparece en el e-amil que se me envia....

¿¿Sabéis como lo podría realizar??

Es una pagina web en plan de anuncios de segundamano, en la cual la gente introduce una descripcion del producto un precio y la foto del articulo que vende..

Gracias!!
  #2 (permalink)  
Antiguo 29/06/2013, 03:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Formulario con imagen y problemilla

Hola:

Para adjuntar archivos en formularios debes usar el método post y el enctype="multipart/form-data"... lo demás no debería influenciar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 29/06/2013, 09:03
 
Fecha de Ingreso: enero-2011
Ubicación: Ya dije
Mensajes: 43
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Formulario con imagen y problemilla

aca te paso el script. con php lo que te dijo caricatos, es parte del html dentro del formulario

asi:

<form id="formulario" action="?" enctype="multipart/form-data" method="post">


Código PHP:
<?php
///////Configuración/////
$mail_destinatario '[email protected]';
///////Fin configuración//

///// Funciones necesarias////
function form_mail($sPara$sAsunto$sTexto$sDe)
{
$bHayFicheros 0;
$sCabeceraTexto "";
$sAdjuntos "";
if (
$sDe)$sCabeceras "From:".$sDe."n";
else 
$sCabeceras "";
$sCabeceras .= "MIME-version: 1.0n";
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-1n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BITn";
$sTexto $sCabeceraTexto.$sTexto;
}
if (
$vAdjunto["size"] > 0)
{
$sAdjuntos .= "nn----_Separador-de-mensajes_--n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name="".$vAdjunto["name"].""n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64n";
$sAdjuntos .= "Content-disposition: attachment;filename="".$vAdjunto["name"].""nn";
$oFichero fopen($vAdjunto["tmp_name"], 'r');
$sContenido fread($oFicherofilesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}
if (
$bHayFicheros)
$sTexto .= $sAdjuntos."nn----_Separador-de-mensajes_----n";
return(
mail($sPara$sAsunto$sTexto$sCabeceras));
}

if (isset (
$_POST['enviar'])) {
if (
form_mail($mail_destinatario$_POST['asunto'],
"Los datos introducidos en el formulario son:nn"$_POST['email']))
echo 
'

Su mensaje a sido enviado correctamente. Gracias por contactar con nosostros

'
;
else echo 
'

Error al enviar el formulario. Por favor, inténtelo de nuevo mas tarde.

'
; }

echo 
'
<form id="formulario" action="?" enctype="multipart/form-data" method="post">
<label for="nombre">Nombre y apellidos : </label>
<input maxlength="80" name="nombre" size="50" type="text">

<label for="email">Email : </label>
<input maxlength="60" name="email" size="50" type="text">

<label for="asunto">Asunto : </label>
<input maxlength="60" name="asunto" size="50" type="text">

<label for="mensaje">Mensaje : </label> <textarea cols="31" rows="5" name="mensaje"></textarea> 

<label for="archivo">Adjuntar archivo:
<input id="archivo" name="archivo" type="file">

</label><label for="enviar">
<input name="enviar" type="submit" value="Enviar consulta"></label>
</form>

 

'
;

?>
espero que te sirva.. saludos!
  #4 (permalink)  
Antiguo 29/06/2013, 09:39
 
Fecha de Ingreso: julio-2008
Mensajes: 253
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: Formulario con imagen y problemilla

Me parece que la mejor opción en tu caso es subir el archivo directamente a una dirección en tu servidor.

Luego, tu sistema lee la imagen desde la dirección generada.

salu2
__________________
Neothek.com | Web hosting, registro de dominios, Diseño Web y Certificados SSL

Etiquetas: formulario
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:38.