amigos... tengo un codigo que consegui por la red que funciona genial... pero tengo muy poo conocimiento de php, y quiero modificar con su ayuda una parte... les pongo el codigo y les explico
Código PHP:
<?php
// Para el envío de mails
include_once('class.phpmailer.php');
// Indica si los datos provienen del formulario
$postback = isset($_POST['postback']) ? true : false;
if ($postback) {
extract($_POST);
$mail = new phpmailer (); # Crea una instancia
$mail -> From = $from;
$mail -> FromName = $from; #"BuayaCorp"; Puede obtenerse del formulario, por facilidad se hace de esta manera
$mail->AddAddress("[email protected]","ASONEF");
$mail->AddBCC("[email protected]");
$mail -> Subject = $sbj;
$mail -> Body = $msg;
$mail -> IsHTML (true);
$archivos = '';
$msg = "Mensaje Enviado";
if (isset ($_FILES["archivos"])) { # Si es que se subió algún archivo
$msg .= "<ul>";
foreach ($_FILES["archivos"]["error"] as $key => $error) { # Iterar sobre la colección de archivos
if ($error == UPLOAD_ERR_OK) { // Si no hay error
$tmp_name = $_FILES["archivos"]["tmp_name"][$key];
$name = $_FILES["archivos"]["name"][$key];
$msg .= "<li>$name</li>";
$name = uniqid('bc') . '_' . $name; # Generar un nombre único para el archivo
$mail -> AddAttachment ($tmp_name, $name); # Añade el archivo adjunto
/*
Si se van a guardar los archivos en un directorio, deberían descomentarse
las siguientes líneas, si se van a guardar los nombres
de los archivos en una base de datos, aquí debería realizarse algo...
move_uploaded_file($tmp_name, "ruta/directorio/$name"); # Guardar el archivo en una ubicación, debe tener los permisos necesarios
*/
} #if
} # foreach
$msg .= '</ul>';
} # if
if (!$mail -> Send ()){
$msg = "No se pudo enviar el email";
}
}
?>
<head>
<title>Multiple Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
body {
font: small "Trebuchet MS";
}
#disclaimer {
background-color: #fafafa;
padding: 1em;
border: 3px double #ccc;
}
/*************************/
/* Necesario para que se muestre bien los nuevos elementos agregados */
.file {
display: block;
}
span a {
margin-left: 1em;
}
/*************************/
input, textarea {
border:3px double #ccc;
background-color:#fafafa;
}
</style>
<script type="text/javascript">
var numero = 0;
// Funciones comunes
c= function (tag) { // Crea un elemento
return document.createElement(tag);
}
d = function (id) { // Retorna un elemento en base al id
return document.getElementById(id);
}
e = function (evt) { // Retorna el evento
return (!evt) ? event : evt;
}
f = function (evt) { // Retorna el objeto que genera el evento
return evt.srcElement ? evt.srcElement : evt.target;
}
addField = function () {
container = d('files');
span = c('SPAN');
span.className = 'file';
span.id = 'file' + (++numero);
field = c('INPUT');
field.name = 'archivos[]';
field.type = 'file';
a = c('A');
a.name = span.id;
a.href = '#';
a.onclick = removeField;
a.innerHTML = 'Quitar';
span.appendChild(field);
span.appendChild(a);
container.appendChild(span);
}
removeField = function (evt) {
lnk = f(e(evt));
span = d(lnk.name);
span.parentNode.removeChild(span);
}
</script>
</head>
<body>
<?php if (isset($msg)) echo $msg;?>
<form name="frm" id="frm" action="" method="post" enctype="multipart/form-data">
<dl>
<dt><label for="to" accesskey="1"></label>
</dt>
<dt><label for="from" accesskey="2">De</label></dt>
<dd><input type="text" name="from" id="from" size="60" /></dd>
<dt><label for="sbj" accesskey="3">Asunto</label></dt>
<dd><input type="text" name="sbj" id="sbj" size="60" /></dd>
<dt><label for="msg" accesskey="4">Mensaje</label></dt>
<dd><textarea id="msg" name="msg" rows="7" cols="45"></textarea></dd>
<dt><label>Archivos Adjuntos:</label> <a href="#" onClick="addField()" accesskey="5">Añadir Archivo</a></dt>
<dd><div id="files"></div></dd>
<dd><input type="submit" value="Enviar" id="postback" name="postback" accesskey="6" /></dd>
</dl>
</form>
</body>
</html>
Al final hay un link creado por Javascript que cada vez que se linkea abre una nueva caja para cargar archivo... osea, da la opcion de cargar cuantos archivos quiera... quiero que esa caja aparezca una vez se carga el formulario y que solo se cargue una, osea quitarle el codigo java y dejarlo directo por php...
Adicional a eso quiero saber como agregarle mas campos (nombre, apellido,edad,direccion, ciudad, etc.) y que cuando lleguen al correo lleguen en el cuerpo del mensaje.
Agradezco su ayuda...
Ej