Foros del Web » Programando para Internet » PHP »

Ayuda formulario de contacto

Estas en el tema de Ayuda formulario de contacto en el foro de PHP en Foros del Web. Hola. Alguien me puede ayudar...?Quiero colocar un formulario de contacto con adjunto de archivos multiples en mi web...pero no cosigo configurar el archivo enviar.php...No entiendo ...
  #1 (permalink)  
Antiguo 14/01/2008, 20:01
 
Fecha de Ingreso: enero-2008
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Ayuda formulario de contacto

Hola. Alguien me puede ayudar...?Quiero colocar un formulario de contacto con adjunto de archivos multiples en mi web...pero no cosigo configurar el archivo enviar.php...No entiendo mucho de eso...y como el tutorial no me lo pone muy facil...pues no hay manera...El script lo he sacado de http://www.buayacorp.com/archivos/enviar-o-subir-multiples-archivos-adjuntos-al-estilo-gmail
Eso es lo que he echo yo:
El archivo formulario.html:
<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Para</title>
<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>

<form name="frm" id="frm" action="enviar.php" method="post" enctype="multipart/form-data">
<dl>

<dt><label for="to" accesskey="1">Para</label></dt>
<dd><input type="text" name="to" id="to" size="60" /></dd>

<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><b><font face="Verdana"><label for="msg" accesskey="4">Mensaje</label></font></b></dt>

<dd><textarea id="msg" name="msg" rows="7" cols="45"></textarea></dd>

<dt><b><font face="Verdana"><label>Archivos Adjuntos:</label> <a href="#" onclick="addField()" accesskey="5">Añadir Archivo</a></font></b></dt>
<dd><div id="files"></div></dd>
<dd><input type="submit" value="Enviar" id="postback" name="postback" accesskey="6" /></dd>
</dl>
</form></body>

</html>
El arvivo enviar.php:
<?php
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 ();
$mail -> From = $from;
$mail -> FromName = "BuayaCorp"; # Puede obtenerse del formulario, por facilidad se hace de esta manera
$mail -> AddAddress = ($to)"[email protected]";
$mail -> Subject = $sbj;
$mail -> Body = $msg;
$mail -> IsHTML (true);
$archivos = '';
$msg = "Mensaje Enviado";

if (isset ($_FILES["archivos"])) {
$msg .= "<ul>";
foreach ($_FILES["archivos"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$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);
/*
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";
}
}
?>
He subido los archivos en el servidor y no funciona...claro...Me sale el siquente anuncio de error:
From = $from; $mail -> FromName = "BuayaCorp"; # Puede obtenerse del formulario, por facilidad se hace de esta manera $mail -> AddAddress = "[email protected]"; $mail -> Subject = $sbj; $mail -> Body = $msg; $mail -> IsHTML (true); $archivos = ''; $msg = "Mensaje Enviado"; if (isset ($_FILES["archivos"])) { $msg .= "

* "; foreach ($_FILES["archivos"]["error"] as $key => $error) { if ($error == UPLOAD_ERR_OK) { $tmp_name = $_FILES["archivos"]["tmp_name"][$key]; $name = $_FILES["archivos"]["name"][$key]; $msg .= "$name
"; $name = uniqid('bc') . '_' . $name; # Generar un nombre �nico para el archivo $mail -> AddAttachment ($tmp_name, $name); /* 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 .= '

'; } # if if (!$mail -> Send ()){ $msg = "No se pudo enviar el email"; } } ?>
Con lo poco que entiendo yo me doy cuenta que el archivo enviar.php no esta configurado correcto...De echo,no se como configurarlo...Tengo que decir que en otra pagina he colocado un formulario de contacto con un solo archivo adjunto y me funciona perfecto...pero en el script ponia muy claro como tengo que configurar el archivo .php.
Pues eso...POR FAVOR...si alguie me puede ayudar con la configuracion del enviar.php(supongo que alli esta el problema)...tengo variaos dias dandole vueltas al asunto y ya no puedo mas...pronto tirare el ordenador por la ventana...
Mi correo es [email protected]
MUCHISIMAS GRACIAS...!!!
  #2 (permalink)  
Antiguo 14/01/2008, 20:06
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Ayuda formulario de contacto

Bienvenido al foro!

UNO: No publiques tu correo en el foro... SPAM SPAM SPAM!

DOS: ... Quién va a leer todo eso? Haz tus preguntas concretas por favor, y así habrá más gente que te podrá ayudar. Si colocas tanto texto creéme que todos van a salir sin leer la primera linea siquiera.

Para publicar código coloreado en el foro (que es mucho más legible), enciérralo entre [php] y [/php], de tal manera que queda así:

Código PHP:
echo "Hola mundo, exte es mi primer script"
Un saludo,
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 11:23.