dminadeo Posted October 26, 2009 Share Posted October 26, 2009 so i've been building out this form in flash cs4 and i can't for the life of me get the checkboxes to submit their labels to the php mailer please help!!! thanks. here's the AS3: // Function to populate gas type function addGasTypesToList ():void { userFuel.addItem( {label: "Fuel Interests"} ); userFuel.addItem( {label: "E85"} ); userFuel.addItem( {label: "BioDiesel"} ); userFuel.addItem( {label: "EV Charging"} ); userFuel.addItem( {label: "ALL"} ); } //Run function above now addGasTypesToList (); var variables:URLVariables = new URLVariables; //Build the varSend variable var varSend:URLRequest = new URLRequest("form_parse.php"); varSend.method = URLRequestMethod.POST; varSend.data = variables; //Build the varLoader variable var varLoader:URLLoader = new URLLoader; varLoader.dataFormat = URLLoaderDataFormat.VARIABLES; varLoader.addEventListener(Event.COMPLETE, completeHandler); //handler for the PHP script completion and return of status function completeHandler(event:Event):void{ //remove processing clip userName.text = ""; userEmail.text = ""; userPhone.text = ""; userCompany.text = ""; userAddress.text = ""; userCity.text = ""; userState.text = ""; userZip.text = ""; userVehicle.text = ""; userMessage.text = ""; subjectNews.selected = false; subjectBrochure.selected = false; subjectStation.selected = false; subjectSelling.selected = false; subjectFleet.selected = false; subjectPress.selected = false; subjectCorporate.selected = false; subjectOther.selected = false; //Load the response from PHP here messageStatus.text = event.target.data.return_msg } // Add event listener for submit button click sendButton.addEventListener(MouseEvent.CLICK, ValidateAndSend); //function ValidateAndSend function ValidateAndSend (event:MouseEvent):void{ //validate fields if(!userName.length) { messageStatus.text = "Please enter your name"; }else if( !validate_email(userEmail.text) ) { messageStatus.text = "Please enter a VALID email"; }else { //All is good, send the data to PHP messageStatus.text = "sending..."; //ready the variables for sending variables.userName = userName.text; variables.userEmail = userEmail.text; variables.userPhone = userPhone.text; variables.userCompany = userCompany.text; variables.userAddress = userAddress.text; variables.userCity = userCity.text; variables.userState = userState.text; variables.userZip = userZip.text; variables.userVehicle = userVehicle.text; variables.userFuel = userFuel.value; variables.userMessage = userMessage.text; variables.userNews = subjectNews.selected; variables.userBrochure = subjectBrochure.selected; variables.userStation = subjectStation.selected; variables.userSelling = subjectSelling.selected; variables.userFleet = subjectFleet.selected; variables.userPress = subjectPress.selected; variables.userCorporate = subjectCorporate.selected; variables.userOther = subjectOther.selected; //Send the data to PHP now varLoader.load(varSend); }//close else condition for error handling } //function for validate email function validate_email(s:String):Boolean { var p:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/; var r:Object = p.exec(s); if( r == null ) { return false; } return true; } //--------------Set tab index userName.tabIndex = 1; userEmail.tabIndex = 2; userPhone.tabIndex = 3; userCompany.tabIndex = 4; userAddress.tabIndex=5; userCity.tabIndex=6; userState.tabIndex=7; userZip.tabIndex=8; userVehicle.tabIndex=9; userFuel.tabIndex=10; here's the php: <?php // Create local variables from the Flash ActionScript posted variables $userName = $_POST['userName']; $userEmail = $_POST['userEmail']; $userPhone = $_POST['userPhone']; $userCompany = $_POST['userCompany']; $userAddress = $_POST['userAddress']; $userCity = $_POST['userCity']; $userState = $_POST['userState']; $userZip = $_POST['userZip']; $userVehicle = $_POST['userVehicle']; $userFuel = $_POST['userFuel']; $userNews = $_POST['subjectNews']; $userBrochure = $_POST['subjectBrochure']; $userStation = $_POST['subjectStation']; $userSelling = $_POST['subjectSelling']; $userFleet = $_POST['subjectFleet']; $userPress = $_POST['subjectPress']; $userCorporate = $_POST['subjectCorporate']; $userOther = $_POST['subjectOther']; $userMessage = $_POST['userMessage']; // Strip slashes on the Local typed-in variables for security and run any php based error check here $userName = stripslashes($userName); $userEmail = stripslashes($userEmail); $userMessage = stripslashes($userMessage); // IMPORTANT - Change these lines to be appropriate for your needs - IMPORTANT !!!!!!!!!!!!!!!!!! $to = "david@creativegreen.org"; $from = "$userEmail"; $subject = "DMC Green Form Feedback"; // Modify the Body of the message however you like $message = "Results from the form: Name: $userName Email: $userEmail Phone: $userPhone Company: $userCompany Address: $userAddress City: $userCity State: $userState Zip: $userZip Vehicle: $userVehicle Fuel: $userFuel Newsletter: $userNews Brochure: $userBrochure Station in my area: $userStation Selling DMC fuels: $userSelling Info for my fleet: $userFleet Press/Public Relations Inquiry: $userPress Corporate Affairs/Regulatory Inquiry: $userCorporate Other Requests: $userOther Their Message is below: $userMessage"; // Build $headers Variable $headers = "From: $from\r\n"; $headers .= "Content-type: text\r\n"; $to = "$to"; // Send the email mail($to, $subject, $message, $headers); // Assemble the message that goes back to Flash // The flash ActionScript is looking for a return variable of "return_msg" $my_msg = "Thanks $userName, all data has been sent."; // Print the data back to flash who is patiently waiting for it in the onCompleteHandler print "return_msg=$my_msg"; // Exit script exit(); ?> thanks again everyone! Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/ Share on other sites More sharing options...
MadTechie Posted October 26, 2009 Share Posted October 26, 2009 First check they are being submitted, add var_dump($_POST); to the start of your PHP code and post its results, then the boxes are selected Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945026 Share on other sites More sharing options...
dminadeo Posted October 26, 2009 Author Share Posted October 26, 2009 First check they are being submitted, add var_dump($_POST); to the start of your PHP code and post its results, then the boxes are selected below the <?php right? Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945041 Share on other sites More sharing options...
mrMarcus Posted October 26, 2009 Share Posted October 26, 2009 <?php var_dump($_POST); //rest of script; ?> Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945043 Share on other sites More sharing options...
dminadeo Posted October 26, 2009 Author Share Posted October 26, 2009 <?php var_dump($_POST); //rest of script; ?> i did that, but i'm not seeing where the output is... the address is dmcgreen.com/form.html Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945049 Share on other sites More sharing options...
MadTechie Posted October 27, 2009 Share Posted October 27, 2009 Okay as your not viewing the PHP, it makes it harder to debug.. So i'll highlight the problem for you, Your AS code does this variables.userBrochure = subjectBrochure.selected; But PHP expects this $userBrochure = $_POST['subjectBrochure']; Note the variable expects subjectBrochure but your passing userBrochure So to fix the problem you can simply update the PHP code to this $userNews = $_POST['userNews']; $userBrochure = $_POST['userBrochure']; $userStation = $_POST['userStation']; $userSelling = $_POST['userSelling']; $userFleet = $_POST['userFleet']; $userPress = $_POST['userPress']; $userCorporate = $_POST['userCorporate']; $userOther = $_POST['userOther']; Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945080 Share on other sites More sharing options...
dminadeo Posted October 27, 2009 Author Share Posted October 27, 2009 oh man, i should have known better than to have those so close in name, i completely looked past it. Now my problem is that it is only submitting true/false values. how would i go about having it send the label value? thanks again Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945086 Share on other sites More sharing options...
MadTechie Posted October 27, 2009 Share Posted October 27, 2009 The value would be true or false, because subjectBrochure.selected is a boolean, My AS is a little rusty (but your get the idea) but you have 2 options 1. in AS if(subjectBrochure.selected){variables.userBrochure = "SendBrochure"}else{variables.userBrochure = "Don't SendBrochure"} 2. in PHP $userBrochure = ($_POST['subjectBrochure'] == "false")?"Don't SendBrochure":"SendBrochure"; Note: as subjectBrochure becomes a string from Flash your need the quotes Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945089 Share on other sites More sharing options...
dminadeo Posted October 27, 2009 Author Share Posted October 27, 2009 I used the PHP code, and it works great. I just put a blank value in for: $userBrochure = ($_POST['userBrochure'] == "false")?"[color=red] - [/color]":"Send me a Brochure"; i think this is going to work out nice, thanks so much for all your help! i'm having a lot of fun learning these two languages, and i'm sure i'll be back very very soon for more help. thanks again!! Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945534 Share on other sites More sharing options...
dminadeo Posted October 27, 2009 Author Share Posted October 27, 2009 Actually i have one more question... how do i make the results bold in the email? Name: $userName Email: $userEmail Phone: $userPhone Company: $userCompany Address: $userAddress City: $userCity State: $userState Zip: $userZip Vehicle: $userVehicle Fuel: $userFuel Inquery: $userNews $userBrochure $userStation $userSelling $userFleet $userPress $userCorporate $userOther just the $user... parts not the "name:" part. thanks again Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945537 Share on other sites More sharing options...
MadTechie Posted October 27, 2009 Share Posted October 27, 2009 Your need to send a HTML email, and use HTML tags so Name: $userName becomes <B>Name:</B> $userName So change your email from plain to html, change $headers .= "Content-type: text\r\n"; to $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; EDIT: ooops forgot the \r\n Now added Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945573 Share on other sites More sharing options...
dminadeo Posted October 27, 2009 Author Share Posted October 27, 2009 thanks! Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945595 Share on other sites More sharing options...
MadTechie Posted October 27, 2009 Share Posted October 27, 2009 Your welcome Quote Link to comment https://forums.phpfreaks.com/topic/179101-solved-flash-form-as3-with-php-please-help/#findComment-945600 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.