Foros del Web » Programando para Internet » PHP »

formulario en php

Estas en el tema de formulario en php en el foro de PHP en Foros del Web. Bueno esque navegando en internet en contre un codigo php de un formulario que me mandaba un mail con los datos y un archivo adjunto ...
  #1 (permalink)  
Antiguo 08/09/2008, 13:06
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
formulario en php

Bueno esque navegando en internet en contre un codigo php de un formulario que me mandaba un mail con los datos y un archivo adjunto solo que yo nesesito que sean 5, la verdad es que en esto de los codigos yo soy muy nuevo y queria ver si alguien de ustedes me podrian ayudar.
FORMULARIO:

Código:
<form name='formulario' id='formulario' method='post' action='enviar.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' />
<br />
Datos de registro dre clonica vetetinaria</p>
<p>
  <textarea name="mensaje" cols="50" rows="10" id="mensaje"></textarea>
</p>
<p>Imagen 1: 
<input type='file' name='archivo1' id='archivo1'></p>
<p>Imagen 2: 
<input type='file' name='archivo1' id='archivo1'></p> 
<p>Imagen 3: 
<input type='file' name='archivo1' id='archivo1'></p>
<p>Imagen 4: 
<input type='file' name='archivo1' id='archivo1'></p>
<p>Logo: 
<input type='file' name='archivo1' id='archivo1'></p><p>
<input type='submit' value='Enviar'> 
</p> 
</form>
Codigo de envio en php:
Código:
<?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)); 
} 

//cambiar aqui el email 
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"; 
?>
como se podran dar cuanta el codigo del formularo ya lo edite el que no se como editar es el php de envio
  #2 (permalink)  
Antiguo 08/09/2008, 13:16
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: formulario en php

Te recomiendo usar mejor la clase PHPMailer. Es muy completa y facil de usar.

Por cierto, en tu formulario repites el campo de archivo:
<input type='file' name='archivo1' id='archivo1'>

Todos tus campos se llaman igual. Dales nombres diferentes a los campos de archivo.
  #3 (permalink)  
Antiguo 08/09/2008, 13:59
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: formulario en php

Ronruby pues eso que me digiste del
<input type='file' name='archivo1' id='archivo1'>
esra unicamente lo que me fallabaso lo tenia que ponerlo asi
<input type='file' name='archivo1' id='archivo1'>
<input type='file' name='archivo2' id='archivo2'>
<input type='file' name='archivo3' id='archivo3'>

y asi susesivamente
  #4 (permalink)  
Antiguo 08/09/2008, 15:00
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: formulario en php

Que tal VirtualD, como ya te explicaron puedes utilizar la clase PHPMailer para enviar tus mail con archivos adjuntos muy util para esto.




Saludos.
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 07:01.