Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Formulario simple con archivos adjuntos

Estas en el tema de Formulario simple con archivos adjuntos en el foro de PHP en Foros del Web. Estimados; estoy algo confundido haciendo un formulario yaque no me manejo mucho en php, les agradezco un millón si me pueden echar una mano. Mi ...
  #1 (permalink)  
Antiguo 27/11/2013, 10:43
 
Fecha de Ingreso: octubre-2006
Mensajes: 114
Antigüedad: 17 años, 5 meses
Puntos: 0
Formulario simple con archivos adjuntos

Estimados; estoy algo confundido haciendo un formulario yaque no me manejo mucho en php, les agradezco un millón si me pueden echar una mano.

Mi codigo del formulario es:
Código:
<form name='formulario' id='formulario' method='post' action='enviar.php' target='_self' enctype="multipart/form-data"> 
          <ol><li>
            <label for="Nombre">Nombre</label>
            <input id="Nombre" name="Nombre" class="text" />
          </li>
          <li>
            <label for="email">Correo electrónico </label>
            <input id="email" name="email" class="text" />
          </li><li>
            <label for="Titulo">Título</label>
            <input id="titulo" name="titulo" class="text" />
          <li>
            <label for="tipo">Tipo</label>
            <SELECT name="Tipo" size="1">
		<OPTION VALUE="Confirmacion">Confirmación de Compra</OPTION>
		<OPTION VALUE="Cotizacion">Consulta de precio</OPTION>
        <OPTION VALUE="Duda">Duda</OPTION>
	</SELECT>
          </li><li>
           <li>
             <label for="archivo">Selecciona tu archivo </label>
            <input type="file" name="archivo1" id="archivo1" size="40">
          </li><li>
            <label for="mensaje">Información Adicional</label>
            <textarea id="mensaje" name="mensaje" rows="8" cols="50"></textarea>
          </li><li>            <input type="submit" class="enviar" /> 
            <br> 
            <br> 
            Al hacer click en enviar, Ud. acepta nuestros <a href="terminos.html" target="_blank">términos y condiciones</a>.
              <div class="clr"></div>
          </li></ol>
          </form>
y en el php tengo:

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.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($oFichero, filesize($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)); 
} 

//cambiar aqui el email 
if (form_mail("[email protected]", $_POST[asunto], 
"Los datos introducidos en el formulario son:nn", $_POST[email])) 
echo "Su formulario ha sido enviado con exito"; 
?>
  #2 (permalink)  
Antiguo 27/11/2013, 10:46
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 6 meses
Puntos: 43
Respuesta: Formulario simple con archivos adjuntos

Y la pregunta cual es?
  #3 (permalink)  
Antiguo 27/11/2013, 10:48
 
Fecha de Ingreso: octubre-2006
Mensajes: 114
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Formulario simple con archivos adjuntos

Cita:
Iniciado por Cuervoo Ver Mensaje
Y la pregunta cual es?
el problema es que no me resulta nada, no me llega el correo ni me deja alguna notificación, simplemente luego de llenar y enviar el formulario al php la pantalla se queda en blanco
  #4 (permalink)  
Antiguo 27/11/2013, 10:51
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
Respuesta: Formulario simple con archivos adjuntos

Cita:
Iniciado por sx7a Ver Mensaje
el problema es que no me resulta nada, no me llega el correo ni me deja alguna notificación, simplemente luego de llenar y enviar el formulario al php la pantalla se queda en blanco
Algunos servidores se tildan de esa forma (morir sin dejar mensajes) cuando se excede el límite de tamaño para archivos adjuntos, descarta eso primero.
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #5 (permalink)  
Antiguo 27/11/2013, 10:56
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 6 meses
Puntos: 43
Respuesta: Formulario simple con archivos adjuntos

Ponele error_reporting(E_ALL) a ver si te tira el error. Igual ahi parece que nunca cerrás la función.
  #6 (permalink)  
Antiguo 27/11/2013, 11:18
 
Fecha de Ingreso: octubre-2006
Mensajes: 114
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Formulario simple con archivos adjuntos

Cita:
Iniciado por temaqueja Ver Mensaje
Algunos servidores se tildan de esa forma (morir sin dejar mensajes) cuando se excede el límite de tamaño para archivos adjuntos, descarta eso primero.
descartado, use na imagen de 10 kb

Cita:
Iniciado por Cuervoo Ver Mensaje
Ponele error_reporting(E_ALL) a ver si te tira el error. Igual ahi parece que nunca cerrás la función.
gracias por la ayuda, donde lo coloco?

Lo nico q no he incluido en el codigo del php es esta parte:

Cita:
<label for="tipo">Tipo</label>
<SELECT name="Tipo" size="1">
<OPTION VALUE="Confirmacion">Confirmación de Compra</OPTION>
<OPTION VALUE="Cotizacion">Consulta de precio</OPTION>
<OPTION VALUE="Duda">Duda</OPTION>
  #7 (permalink)  
Antiguo 27/11/2013, 13:19
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 6 meses
Puntos: 43
Respuesta: Formulario simple con archivos adjuntos

Ponelo en el index, al principio de la ejecución de la página. Con eso te van a saltar todos los errores, puede ser que te salten warnings o notices que antes no lo hacían.
  #8 (permalink)  
Antiguo 27/11/2013, 20:23
 
Fecha de Ingreso: octubre-2006
Mensajes: 114
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Formulario simple con archivos adjuntos

bueno, muchas gracias por la ayuda, al final pelee y pelee todo el día y la solución solo fue cambiar de host, el codigo estaba impeke, saludos cordiales

Etiquetas: adjuntos, formulario, html, select, simple
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 13:36.