Hola, tengo un formulario de contacto flash que jale de una pagina (no me acuerdo cual), este formulario como todos utiliza un archivo php para mandar la info, pero ademas vino con un "template_contactar.txt".
En este ejemplo funciona bien, envia el mensaje y sale la pagina de "Gracias"
http://bestwood.com.pe/contacto.html
Pero cuando lo quise volver a utilizar en otra pagina ya no quiso funcionar, me sale que me falta el fichero o plantilla (y yo entiendo que se refiere a al archivo "template_contactar.txt"), y si, si lo subi al servidor, pueden revisar la web:
http://daponte.com.pe/ (en contacto)
Esta es la programacion del AS (va en el frame):
borrar_formulario = function () { // función para el botón borrador
nombre.text = "";
email.text = "";
telefono.text = "";
mensaje.text = "";
};
enviar_formulario = function () { // función para el botón enviar
lv = new LoadVars();
lv.nombre = nombre.text;
lv.email = email.text;
lv.telefono = telefono.text;
lv.mensaje = mensaje.text;
lv.F_SUBJECT = "Mensaje desde la web"; // comienzo del protocolo de correo
lv._root.F_TEMPLATE = "template_contactar.txt";
lv.F_SENT = "gracias.html";
lv.F_NOSENT = "nogracias.html";
lv.F_TO = "[email protected]";
lv.F_FROM = lv.F_TO;
lv.send("formflash.php", "POST"); // enviamos el correo
};
// Con el objeto LoadVars, cargamos variables y las enviamos vía flashform.php
Y esta es la programacion del PHP:
<?
//echo "Enviando e-mail...";
//flush();
$noemail="Debe especificar el e-mail";
$notpl="Falta o incorrecto: Fichero de plantilla";
$noto="Falta o incorrecto: Destinatario";
$nofrom="Falta o incorrecto: Remitente";
$err="";
//if($email=="") $err=$noemail;
if($F_TO=="") $err=$noto;
if($F_FROM=="") $err=$nofrom;
if($F_TEMPLATE=="" || !@fopen($F_TEMPLATE, "r")) $err=$notpl;
if($err=="") {
$t=@file($F_TEMPLATE);
$l="";
for ($i=0;$i<count($t);$i++) {
$t[$i]=utf8_encode($t[$i]);
$p=ereg("\{\{[A-z0-9_]*\}\}", $t[$i]);
$a=ereg_replace("\{\{","$",$t[$i]);
$a=ereg_replace("\}\}","",$a);
$a=addslashes($a) . "<br>";
eval("\$a = utf8_decode(\"$a\");");
//$a=utf8_decode($a);
$l.=$a;
}
@mail($F_TO, $F_SUBJECT, $l, "From: $F_FROM \nMime-Version: 1.0\nContent-Type: text/html; charset=ISO-8859-1\nContent-Transfer-Encoding: 7bit");
//echo "sent=1";
//echo "<script language=\"JavaScript\">document.location=\"$F_SEN T\";</script>\n";
Header("Location: $F_SENT");
} else {
//echo "sent=0";
echo "<html>\n<head>\n<title>Error</title>\n</head>";
echo "<body>\n<center>\n" . $err . "<br>\n";
echo $F_TEMPLATE;
echo "<a href=\"javascript:history.go(-1);\">Volver</a>\n";
echo "</center>\n</body>\n</html>\n";
}
?>
Ahora, una cosa, tal vez tenga que ver con el problema, en el primer caso (en el que funciona): el codigo lo he colocado en segunda posicion, por decirlo asi, esto quiere decir que va de la siguiente manera:
En el flash:
Page 1> formulario (y dentro de formulario va en el codigo en el primer frame)
pero en el segundo caso (en el que no funciona) va en tercera posicio, osea:
Page1> Contacto> formulario (y ahi va el codigo)
TENDRA QUE VER ESTO CON EL PROBLEMA?
necesitare colocarle un _root. o _parent. en alguna de la variables (lv.)?
Por favor necesito ayuda, o si por ultimo deciden que es muy complicado de solucionar tal vez me pueden pasar algunos formularios sencillos y que funcionen en "tercera posicion"
gracias de antemano