Hi Everyone I Am Having Problems With actionscript and php it is basicly and email form with many comboboxes
I am Recieving This Error:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.controls::ComboBox/get value()
at Untitled_fla::wholeFrom_1/ValidateAndSend()
here is the code :
Actionscript :
function Addprocessor ():void {
processor.addItem( { label: "Intel® Core™ 2 Duo" } );
processor.addItem( { label: "Intel® Core™ 2 Quad" } );
processor.addItem( { label: "Intel® Core™ i3" } );
processor.addItem( { label: "Intel® Core™ i5" } );
processor.addItem( { label: "Intel® Core™ i7" } );
processor.addItem( { label: "Intel® Core™ i7 Extreme Editon" } );
}
// Run function above now
Addprocessor ();
function Addramsize ():void {
ram_size.addItem( { label: "1 GB" } );
ram_size.addItem( { label: "2 GB" } );
ram_size.addItem( { label: "4 GB" } );
ram_size.addItem( { label: "6 GB" } );
ram_size.addItem( { label: "8 GB" } );
ram_size.addItem( { label: "12 GB" } );
}
// Run function above now
Addramsize ();
function Addmoniter ():void {
moniter.addItem( { label: "15 Inch" } );
moniter.addItem( { label: "17 Inch" } );
moniter.addItem( { label: "19 Inch" } );
moniter.addItem( { label: "21 Inch" } );
}
// Run function above now
Addmoniter ();
function Addvideocard ():void {
videocard.addItem( { label: "NVIDIA GeForce GTS 240" } );
videocard.addItem( { label: "NVIDIA GeForce 310" } );
videocard.addItem( { label: "NVIDIA GeForce 205" } );
videocard.addItem( { label: "NVIDIA GeForce GT 320" } );
videocard.addItem( { label: "NVIDIA GeForce GT 330" } );
videocard.addItem( { label: "NVIDIA GeForce GT 340" } );
videocard.addItem( { label: "NVIDIA GeForce GTS 240" } );
videocard.addItem( { label: "NVIDIA GeForce GTX 590" } );
videocard.addItem( { label: "NVIDIA GeForce GTX 580" } );
videocard.addItem( { label: "NVIDIA GeForce GTX 570" } );
videocard.addItem( { label: "NVIDIA GeForce GTX 560" } );
videocard.addItem( { label: "NVIDIA GeForce GTX 550" } );
videocard.addItem( { label: "NVIDIA GeForce GTX 460" } );
videocard.addItem( { label: "ATI Radeon™ HD 5000 Series " } );
videocard.addItem( { label: "ATI Radeon™ HD 4000 Series graphics" } );
videocard.addItem( { label: "AMD Radeon™ HD 6990 Graphics" } );
videocard.addItem( { label: "AMD Radeon™ HD 6000 series " } );
}
// Run function above now
Addvideocard ();
function Addcabinet ():void {
cabinet.addItem( { label: "Zebronics® Pluto" } );
cabinet.addItem( { label: "Zebronics® Genie" } );
cabinet.addItem( { label: "Zebronics® Genesis" } );
cabinet.addItem( { label: "Zebronics® Flair" } );
cabinet.addItem( { label: "Zebronics® Eternity" } );
cabinet.addItem( { label: "Zebronics® Fantasy" } );
cabinet.addItem( { label: "Zebronics® Home" } );
cabinet.addItem( { label: "NZXT® LEXA S" } );
cabinet.addItem( { label: "NZXT® Phantom" } );
cabinet.addItem( { label: "NZXT® Guardian 921 RB" } );
cabinet.addItem( { label: "Coolermaster® Elite 310" } );
cabinet.addItem( { label: "Coolermaster® HAF X" } );
cabinet.addItem( { label: "Coolermaster® HAF X NVIDIA edition " } );
cabinet.addItem( { label: "Coolermaster® HAF 932 AMD " } );
cabinet.addItem( { label: "Coolermaster® HAF HAF 922 " } );
}
// Run function above now
Addcabinet ();
function Addram ():void {
ram_company.addItem( { label: "Kingston" } );
ram_company.addItem( { label: "Cosair" } );
}
// Run function above now
Addram ();
function Addprocessor2 ():void {
processor_2.addItem( { label: "1.8 GHz" } );
processor_2.addItem( { label: "2.00 GHz" } );
processor_2.addItem( { label: "2.13 GHz" } );
processor_2.addItem( { label: "2.20 GHz" } );
processor_2.addItem( { label: "2.33 GHz" } );
processor_2.addItem( { label: "2.40 GHz" } );
processor_2.addItem( { label: "2.50 GHz" } );
processor_2.addItem( { label: "2.66 GHz" } );
processor_2.addItem( { label: "2.83 GHz" } );
processor_2.addItem( { label: "2.93 GHz" } );
processor_2.addItem( { label: "3.00 GHz" } );
processor_2.addItem( { label: "3.00 GHz" } );
processor_2.addItem( { label: "3.06 GHz" } );
processor_2.addItem( { label: "3.20 GHz" } );
processor_2.addItem( { label: "3.33 GHz" } );
processor_2.addItem( { label: "3.46 GHz" } );
}
// Run function above now
Addprocessor ();
function Addharddisk ():void {
harddisk.addItem( { label: "60 GB" } );
harddisk.addItem( { label: "120 GB" } );
harddisk.addItem( { label: "250 GB" } );
harddisk.addItem( { label: "500 GB" } );
harddisk.addItem( { label: "750 GB" } );
harddisk.addItem( { label: "1 TB" } );
harddisk.addItem( { label: "1.5 TB" } );
harddisk.addItem( { label: "2 TB" } );
}
// Run function above now
Addharddisk ();
function Addharddisktype ():void {
harddisk_type.addItem( { label: "SSD" } );
harddisk_type.addItem( { label: "HDD" } );
}
// Run function above now
Addharddisktype ();
// build variable name for the URL Variables loader
var variables:URLVariables = new URLVariables;
// Build the varSend variable
var varSend:URLRequest = new URLRequest("email.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 {
name_txt.text = "";
email_txt.text = "";
phone_txt.text = "";
numberofpcs.value = 1;
status_txt.text = event.target.data.return_msg;
}
buynow_btn.addEventListener(MouseEvent.CLICK, ValidateAndSend);
function ValidateAndSend (event:MouseEvent):void {
// validate fields
if(!name_txt.length) {
status_txt.text = "Please enter your name";
} else if (!email_txt.length) {
status_txt.text = "Please enter your email";
} else if (!phone_txt.length) {
status_txt.text = "Please enter your Phone Number";
} else {
variables.userName = name_txt.text;
variables.userEmail = email_txt.text;
variables.userPhone = phone_txt.text;
variables.userProcessor = processor.value;
variables.userProcessortype = processor_2.value;
variables.userharddisk = harddisk.value;
variables.userVideocard = videocard.value;
variables.userRam = ram_company.value;
variables.userRam_2 = ram_size.value;
variables.userCabinet = cabinet.value;
variables.userMoniter = moniter.value;
variables.userharddisktype = harddisk_type.value;
variables.userNumberofpcs = numberofpcs.value;
// Send the data to PHP now
varLoader.load(varSend);
}
}
and this the php srcipt (email.php) :
<?php
$senderName = $_POST['userName'];
$senderEmail = $_POST['userEmail'];
$senderPhone = $_POST['userphone'];
$senderProcessor = $_POST['userProcessor'];
$senderHardDisk = $_POST['userHarddisk'];
$senderQuantity = $_POST['userNumberofpcs'];
$senderProcessor_2 = $_POST['userProcessortype'];
$senderVideocard = $_POST['userVideocard'];
$senderRam = $_POST['userRam'];
$senderRam_2 = $_POST['userRam_2'];
$senderHarddisk_2 = $_POST['userHarddisktype'];
$senderCabinet = $_POST['userCabinet'];
$senderMoniter = $_POST['userMoniter'];
// Strip slashes on the Local typed-in variables for security and run any php based error check here
$senderName = stripslashes($senderName);
$senderEmail = stripslashes($senderEmail);
$senderPhone = stripslashes($senderPhone);
$to = "pm.compsols@gmail.com";
$from = "$senderEmail";
$subject = "New Pc Order";
// Modify the Body of the message however you like
$message = "Results from the form:
Name: $senderName
Email: $senderEmail
Phone: $senderPhone
Processor: $senderProcessor
Hard Disk: $senderHardDisk
Quanitity: $senderQuantity
Processor_2: $senderProcessor_2
Video Card: $senderVideocard
Hard Disk Type = $senderHarddisk_2
RAM: $senderRam
RAM Size: $senderRam_2
Moniter: $senderMoniter
Cabinet: $senderCabinet
$senderMessage";
// Build $headers Variable
$headers = "From: $from
";
$headers .= "Content-type: text
";
$to = "$to";
// Send the email
mail($to, $subject, $message, $headers);
$my_msg = "Thanks $senderName, all data has been sent.";
print "return_msg=$my_msg";
// Exit script
exit();
?>
Thx In Advanvance:bucktooth: