Comunidad de diseño web y desarrollo en internet online

Ayuda con envio de formulario flash con PHP

Citar            
MensajeEscrito el 21 Feb 2009 07:37 pm
Hola, soy nueva en esto y tengo el siguiente problema:
Tengo en mi flash un formulario, ya lo programe en as2 y esa parte está bien, pero no logro que el php me funcione.
Cuando lo subo y lo pruebo me toma el nombre y el e-mail y del resto del formulario solo me toma el "budget" (que supongo que me lo toma por el hecho que en la película flash antes de empezar a completar el formulario el usuario ya tiene el simbolo $ para ingresar el monto). :roll:
También probé en poner todo junto en un mismo $message pero cuando recibo el e-mail toma algunas cosas y otras no y además no hay espacio entre las palabras. :(
Bueno aquí les dejo el código en PHP para que lo vean y me digan qué es lo que está mal.

<?php
$sendTo = "[email protected]";
$subject = "QUOTE from www.";
$headers = "From: " . $_POST["name_txt"];
$headers .= "<" . $_POST["email"] . ">\r\n";
$headers .= "Reply-To: " . $_POST["email"] . "\r\n";
$headers .= "Return-Path: " . $_POST["email"];
$message = $_POST["company"];
$message = $_POST["name_txt"];
$message = $_POST["address"];
$message = $_POST["city"];
$message = $_POST["zip"];
$message = $_POST["country"];
$message = $_POST["phone"];
$message = $_POST["ext"];
$message = $_POST["cell"];
$message = $_POST["web"];
$message = $_POST["companydo"];
$message = $_POST["purpose"];
$message .= "have a logo: " . $_POST['yes'] . "\r\n\n";
$message = $_POST["palette"];
$message = $_POST["theme"];
$message = $_POST["pages"];
$message .= "Site in" . $_POST['site_cmb'] . "\r\n\n";
$message .= "wants a CMS " . $_POST['yes_cms'] . "\r\n\n";
$message .= ($_POST['audio'] ? "Sí" : "No") . " wants audio.\r\n";
$message .= ($_POST['video'] ? "Sí" : "No") . " wants video.\r\n";
$message .= ($_POST['blog'] ? "Sí" : "No") . " wants blog.\r\n";
$message .= ($_POST['forum'] ? "Sí" : "No") . " wants forum.\r\n";
$message .= ($_POST['calendar'] ? "Sí" : "No") . " wants calencar.\r\n";
$message .= ($_POST['gallery'] ? "Sí" : "No") . " wants photo gallery.\r\n";
$message = $_POST["likesites"];
$message = $_POST["addcomment"];
$message = $_POST["budget"];
mail($sendTo, $subject, $message, $headers);
?>

Dedse ya les agradezco por su tiempo! :)

Por aglorena

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Feb 2009 09:09 pm
Prueba con el siguiente codigo y cuentamos como te va.

Código :

<?php
$header   = "From:".$_POST["name_txt"]."\nReply-To:".$_POST["email"]."\n";
$header   .= "X-Mailer:PHP/".phpversion()."\n";
$header   .= "Mime-Version: 1.0\n";
$header   .= "Content-Type: text/plain";
mail($sendTo, $subject, utf8_decode($message) ,$header);
?>

Por eseceve

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Feb 2009 11:27 pm
hola descubrí que me faltba el . para las cadenas. Y ahora me aparece todo pero sigue sin aparecerme la seleccion de los radiobuttons, el combobox o las selecciones comunes. Por las dudas les adjunto el AS, yo creo que está bien redactado pero a veces 4 ojos ven más que dos. Gracias por adelantado!
stop();
System.useCodepage=true;
import flash.controls.*;
import mx.controls.Alert;

company.tabIndex = 1;
name_txt.tabIndex = 2;
email_txt.tabIndex = 3;
address.tabIndex = 4;
city.tabIndex = 5;
zip.tabIndex = 6;
country.tabIndex = 7;
email.tabIndex = 8;
phone.tabIndex = 9;
ext.tabIndex = 10;
cell.tabIndex = 11;
web.tabIndex = 12;
companydo.tabIndex = 13;
purpose.tabIndex = 14;
yes.tabIndex = 15;
no.tabIndex = 16;
palette.tabIndex = 17;
theme.tabIndex = 18;
pages.tabIndex = 19;
site_cmb.tabIndex = 20;
yes_cms.tabIndex = 21;
no_cms.tabIndex = 22;
audio.tabIndex = 23;
video.tabIndex = 24;
blog.tabIndex = 25;
forum.tabIndex = 26;
calendar.tabIndex = 27;
gallery.tabIndex = 28;
likesites.tabIndex = 29;
addcomment.tabIndex = 30;
budget.tabIndex = 31;
reset.tabIndex = 32;
submit.tabIndex = 33;

FocusManager.defaultPushButton = submit;
Selection.setFocus(company);

var ListenerClean:Object = new Object();
ListenerClean.click = function(evt:Object){
company.text = "";
name_txt.text = "";
address.text = "";
city.text = "";
zip.text="";
country.text="";
email.text="";
phone.text="";
ext.text="";
cell.text="";
web.text="";
companydo.text="";
purpose.text="";
yes.selected=true;
palette.text="";
theme.text="";
pages.text="";
site_cmb.selectedItem= 0;
yes_cms.selected=true;
audio.selected=false;
video.selected=false;
blog.selected=false;
forum.selected=false;
calendar.selected=false;
gallery.selected=false;
likesites.text="";
addcomment.text="";
budget.text="";
}
reset.addEventListener("click",ListenerClean);

var ListenerSend:Object=new Object();
ListenerSend.click = function(evt:Object) {
if(name_txt.text.length == 0){
Alert.show("Name","Error",Alert.OK);
Selection.setFocus(name_txt);
return false;
}
if(address.text.length == 0){
Alert.show("Address", "Error", Alert.OK);
Selection.setFocus(address);
return false;
}
if(zip.text.length == 0){
Alert.show("Zip Code", "Error", Alert.OK);
Selection.setFocus(zip);
return false;
}
if(country.text.length == 0){
Alert.show("Country","Error",Alert.OK);
Selection.setFocus(country);
return false;
}
function isMail(mail:String){
if(mail.indexOf("@") > 0 && mail.indexOf("@") == mail.lastIndexOf("@")){
if(mail.lastIndexOf(".") > mail.indexOf("@") + 1 && mail.lastIndexOf(".") < mail.length - 2){
return true;
}
else{
return false;
}
}
else{
return false;
}
}
if (!isMail(email.text)) {
Alert.show("Invalid E-mail", "Error", Alert.OK);
Selection.setFocus(email);
return false;
}
if(phone.text.length == 0){
Alert.show("Phone", "Error", Alert.OK);
Selection.setFocus(phone);
return false;
}
if(pages.text.length == 0){
Alert.show("How many pages?", "Error", Alert.OK);
Selection.setFocus(pages);
return false;
}
var Send:LoadVars=new LoadVars();
Send.company = company.text;
Send.name_txt = name_txt.text;
Send.address = address.text;
Send.city = city.text;
Send.zip = zip.text;
Send.country = country.text;
Send.email = email.text;
Send.phone = phone.text;
Send.ext = ext.text;
Send.cell = cell.text;
Send.web = web.text;
Send.companydo = companydo.text;
Send.purpose = purpose.text;
if(yes.selected){
Send.logo = yes.data;
}
else if(no.selected){
Send.logo = no.data;
}
Send.palette = palette.text;
Send.theme = theme.text;
Send.pages = pages.text;
Send.site_cmb = site_cmb.selectedItem.data;
if(yes_cms.selected){
Send.cms = yes.data;
}
else if(no_cms.selected){
Send.cms = no.data;
}
Send.components = audio.selected;
Send.components = video.selected;
Send.components = blog.selected;
Send.components = forum.selected;
Send.components = calendar.selected;
Send.components = gallery.selected;
Send.budget = budget.text;

Send.onLoad=function(success:Boolean){
if(success){
company.text = "";
name_txt.text = "";
address.text = "";
city.text = "";
zip.text="";
country.text="";
email.text="";
phone.text="";
ext.text="";
cell.text="";
web.text="";
companydo.text="";
purpose.text="";
yes.selected=true;
palette.text="";
theme.text="";
pages.text="";
site_cmb.selectedItem= 0;
yes_cmsselected=true;
audio.selected=false;
video.selected=false;
blog.selected=false;
forum.selected=false;
calendar.selected=false;
gallery.selected=false;
likesites.text="";
addcomment.text="";
budget.text="";
}
else{
Alert.show("Your request has been sent","OK");
}
}
Send.sendAndLoad("Send_email.php",Send,"POST");
Selection.setFocus(company);
}
submit.addEventListener("click", ListenerSend);

Por aglorena

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Feb 2009 04:33 pm
Hola! ya lo solucioné por mi cuenta. :cool: Aqui les dejo los cambios que realicé en el AS y en el PHP por si le sirve de ayuda a algun otro que tenga mi mismo problema.

AS cambio en checkboxes

en el Send.LoadVars cambié

Send.components = audio.selected;
Send.components = video.selected;
Send.components = blog.selected;
Send.components = forum.selected;
Send.components = calendar.selected;
Send.components = gallery.selected;

por:

if(audio.selected){
Send.audio = true;
}
if(video.selected){
Send.video = true;
}
if(blog.selected){
Send.blog = true;
}
if(forum.selected){
Send.forum = true;
}
if(calendar.selected){
Send.calendar = true;
}
if(gallery.selected){
Send.gallery = true;
}
(vale aclarar que tambié me habia olvidado de poner los últimos dos textimput que van antes del elemento "budget"

Luego pasé al PHP
y lo cambié por el siguiente:

<?php
$sendTo = "[email protected]";
$subject = "QUOTE from www.";
$headers = "From: " . $_POST["name_txt"];
$headers .= "<" . $_POST["email"] . ">\r\n";
$headers .= "Reply-To: " . $_POST["email"] . "\r\n";
$headers .= "Return-Path: " . $_POST["email"];
$message = $_POST["company"];
$message .= $_POST["name_txt"];
$message .= $_POST["address"];
$message .= $_POST["city"];
$message .= $_POST["zip"];
$message .= $_POST["country"];
$message .= $_POST["phone"];
$message .= $_POST["ext"];
$message .= $_POST["cell"];
$message .= $_POST["web"];
$message .= $_POST["companydo"];
$message .= $_POST["purpose"];
$message .= "have a logo: " . $_POST['logo'] . "\r\n\n";
$message .= $_POST["palette"];
$message .= $_POST["theme"];
$message .= $_POST["pages"];
$message .= "Site in" . $_POST['site_cmb'] . "\r\n\n";
$message .= "wants a CMS " . $_POST['cms'] . "\r\n\n";
$message .= "Audio: " . $_POST['audio'] . "\r\n\n";
$message .= "Video: " . $_POST['video'] . "\r\n\n";
$message .= "Blog: " . $_POST['blog'] . "\r\n\n";
$message .= "Forum: " . $_POST['forum'] . "\r\n\n";
$message .= "Calendar: " . $_POST['calendar'] . "\r\n\n";
$message .= "Gallery: " . $_POST['gallery'] . "\r\n\n";
$message .= $_POST["likesites"];
$message .= $_POST["addcomment"];
$message .= $_POST["budget"];
mail($sendTo, $subject, $message, $headers);
?>

Opté por usar la misma fórmula como si fuera un radiobutton, pero por separado.
Y el resulatado anduvo lo más bien. Aparece todo correctamente y lo mejor de todo es que me indiica qué fue selecionado y qué no. Saludos!! :cool:

Por aglorena

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.