Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/09/2012, 06:58
Avatar de T4ke0veR
T4ke0veR
 
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 17 años, 4 meses
Puntos: 28
Respuesta: Mail Form con archivos adjuntos... PHPMailer

alguien que haya podido encontrar mi error??? Aún sigo sin entender que le pasó pues el modelo que descargue funcionaba, bastó que le agregara los campos nuevos y empezó a fallar

asi estaba el primer codigo
Código PHP:
<?php
/*
Contactenos V4 - 26/06/2011 
este formulario utiliza la clase PHPMailer para el envio y proceso.
Es solo un ejemplo de una posible implementacion de PHPMailer
La clase se puede descargar desde http://phpmailer.sourceforge.net/
Junto con mas ejemplos y documentacion.

Para preguntas y soporte sobre este formulario se pueden utilizar los comentarios.
También se pueden hacer consultas via Twitter: @alfonsocatron
*/

/*
NOTA: 
este archivo debe estar acompañado de una carpeta
con el nombre "archivos" en donde se copiaran los
archivos. Esta carpeta debe tener chmod 777. 
*/
//CONFIGURACION 

$direccion_envio'[email protected]';                                 
//la direccion a la que se enviara el email.

$url'http://www.alfonsocatron.com.ar/ejemplos/form-adjunto-multiple';     
//la URL donde esta publicado el formulario. SIN la barra al final

$cantidad_archivos10;                                                         
//la cantidad máxima de archivos que se permitirá enviar.

//FIN CONFIGURACION
?>


<?PHP
//proceso del formulario
// si existe "enviar"...
if (isset ($_POST['enviar'])) {

// vamos a hacer uso de la clase phpmailer, 
require("inc/class.phpmailer.php");

$mail = new PHPMailer();

//recogemos las variables y configuramos PHPMailer
$mail->From     $_POST['email'];
$mail->FromName $_POST['nombre'];
$mail->AddAddress($direccion_envio); 
$mail->Subject "Contacto desde el Formulario";
$mail->AddReplyTo($_POST['email'],$_POST['nombre']);
$mail->IsHTML(true);                              
$comentario=$_POST['comentario'];


//comprobamos si se adjuntaron archivos, los cargamos en el servidor y los pasamos como adjuntos del email
if (isset($_FILES['archivo']['tmp_name'])) {
    
$achivos_adjuntos='';                    
    
$i=0;
    do  {
        if(
$_FILES['archivo']['tmp_name'][$i] !=""
            { 
            
$aleatorio rand(); 
            
$nuevonombre $aleatorio.'-'.$_FILES['archivo']['name'][$i];
            
copy($_FILES['archivo']['tmp_name'][$i],'archivos/'.$nuevonombre);
            
$achivos_adjuntos .= '<br /><a href="'.$url.'/archivos/'.$nuevonombre.'">'.$nuevonombre.'</a></strong>';
            
$mail->AddAttachment($_FILES['archivo']['tmp_name'][$i], $nuevonombre);
            }    
            
$i++;
        } while (
$i $cantidad_archivos);

}

//comprobamos si todos los campos fueron completados
if ($_POST['email']!='' && $_POST['nombre']!='' && $_POST['comentario']!='' && $error_archivo=='') {

$email=$_POST['email'];
$nombre=$_POST['nombre'];
$comentario=$_POST['comentario'];

//armamos el html
$contenido '<html><body>';
$contenido .= '<h2>Contacto desde formulario</h2>';
$contenido .= '<p>Enviado el '.  date("d M Y").'</p>';
$contenido .= '<hr />';
$contenido .= '<p>Nombre: <strong>'.$nombre.'</strong></p>';
$contenido .= '<p>Email: <strong>'.$email.'</strong></p>';
$contenido .= '<p>Comentario: <strong>'.$comentario.'</strong></p>';
$contenido .= '<hr />';
$contenido .= '<p>Archivos Adjuntos: '.$achivos_adjuntos.'</p>';
$contenido .= '<hr />';
$contenido .= '</body></html>';

$mail->Body    $contenido;
// si todos los campos fueron completados enviamos el mail

$mail->Send();

$flag='ok';
$mensaje='<div id="ok">Sus archivos han sido adjuntados con &eacute;xito<br /> Gracias por Contactarnos</div>';
} else {
    
//si no todos los campos fueron completados se frena el envio y avisamos al usuario    
$flag='err';
$mensaje='<div id="error">- Los Campos Marcados Con * Son Requeridos. '.$error_archivo.'</div>';

}
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>Contactenos - v4</title>
        <link href="css/contactenos.css" rel="stylesheet" type="text/css" />        
        <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
        <script src="js/jquery.form.js" type="text/javascript" language="javascript"></script>
        <script src="js/jquery.MultiFile.pack.js" type="text/javascript" language="javascript"></script>

    </head>
    <body>
    <div id="form">
        
<h2>Formulario de Contacto v4</h2>
<p>Ejemplo del formulario de contacto con env&iacute;o de múltiples archivos adjuntos en el mail</p>

<?php echo $mensaje/*mostramos el estado de envio del form */ ?>

<?php if($cantidad_archivos 1) {$plural='s';} else {$plural='';} ?>

<?php if ($flag!='ok') { ?>
<form action="<?php echo $PHP_SELF;?>" method="post" enctype="multipart/form-data">
    <p><strong>Nombre*</strong><br />
    <input  size="40" <?php if (isset ($flag) && $_POST['nombre']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="nombre" value="<?php echo $_POST['nombre'];?>" /></p>
    
    <p><strong>Email*</strong><br />
    <input size="40" <?php if (isset ($flag) && $_POST['email']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="email"  value="<?php echo $_POST['email'];?>" /></p>


    <p><strong>Adjuntar Archivos</strong><br />
        Puede adjuntar hasta <?=$cantidad_archivos?> archivo<?=$plural?>.<br /><br />
    <input type="file" class="multi max-<?=$cantidad_archivos?>"  name="archivo[]" value="<?=$_FILES['archivos']?>"><br /><br /></p>
        
    <p><strong>Comentario*</strong><br />
    <textarea cols="60"  rows="10"<?php if (isset ($flag) && $_POST['comentario']=='') { echo 'class="com-error"';} else {echo 'class="com"';} ?> name="comentario"><?php echo $_POST['comentario'];?></textarea></p>
    <p><input class="boton" type="submit" name="enviar" value="enviar" /></p>
    </form>
<?php ?>
    </div> <!-- end form-->

    </body>
</html>
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...

Última edición por T4ke0veR; 19/09/2012 a las 08:11