[kml_flashembed movie="/labs/swf/phpwritetodb.swf" height="150" width="450" /]
I have written a small script that will assist you into using communication between Flash and PHP to write to a mySQL database. The task is simple, verify the contents of the fields in flash and then send the information to PHP who then writes the information into the database.
Actionscript:
-
var submitListener:Object = new Object();
-
submitListener.click = function(evt:Object) {
-
try {
-
checkForm();
-
}
-
catch(e) {
-
result_ta.text = e.toString();
-
return;
-
}
-
var result_lv:LoadVars = new LoadVars();
-
result_lv.onLoad = function(success:Boolean) {
-
if (success) {
-
trace("THE ERROR = " + result_lv.error);
-
trace(unescape(result_lv.toString()));
-
if (result_lv.error != undefined) {
-
result_ta.text = result_lv.error;
-
}else{
-
result_ta.text = "Wrote to DB: \n";
-
result_ta.text += "First Name = " + result_lv.fname + "\n";
-
result_ta.text += "Last Name = " + result_lv.lname + "\n";
-
result_ta.text += "Age Name = " + result_lv.age + "\n";
-
result_ta.text += "Total Records = <b>" + result_lv.nuRows + "</b>";
-
}
-
} else {
-
result_ta.text = "Error connecting to server.";
-
}
-
}
-
var send_lv:LoadVars = new LoadVars();
-
send_lv.fname = fn_tfl.text;
-
send_lv.lname = ln_tfl.text;
-
send_lv.age = age_tfl.text;
-
send_lv.sendAndLoad("path/to/your/php/file.php", result_lv, "POST");
-
};
-
submit_btn.addEventListener("click", submitListener);
-
function checkForm() {
-
if (fn_tfl.text == undefined || fn_tfl.text.length <1) {
-
throw new Error("First name is required");
-
}
-
if (ln_tfl.text == undefined || ln_tfl.text.length <1) {
-
throw new Error ( "Last name is required");
-
}
-
if (age_tfl.text == undefined || age_tfl.text.length <1) {
-
throw new Error ( "Age is required");
-
}
-
}
This is the script used to create the tables and fields:
PHP:
-
CREATE TABLE `users` (<br />
-
`fname` VARCHAR( 15 ) NOT NULL ,<br />
-
`lname` VARCHAR( 15 ) NOT NULL ,<br />
-
`age` INT( 3 ) NOT NULL<br />
-
) ENGINE = MYISAM ;
Make sure you check the mySQL version on your server in case you encounter any errors.
September 24th, 2007 at 5:20 pm
This is wicked. Helmut, you're the man.
October 10th, 2007 at 4:23 pm
Where can i find the "file.php" or how will that look?
October 12th, 2007 at 9:20 am
@Newbie
The "file.php" is a file that you write in PHP which inserts the information into the db, the name was used just as an example but it can be named anything you like.
May 8th, 2008 at 7:54 am
Is this AS2 or AS3?
Thanks!
May 13th, 2008 at 10:22 pm
Good ol' AS2
May 14th, 2008 at 5:31 am
Just before I go ahead and try this out. can you use ajax to send this so we can write the DB without having to reload the page?
May 24th, 2008 at 3:26 pm
Hey Lee,
Not sure why you would need AJAX since all the information is being handled within Flash you don't need to refresh the browser to see the updates.
Go ahead and test the form in the post and you will see what i mean.
June 11th, 2008 at 3:27 pm
Hey, am kinda new into this, and I believe it is something like what I wanna do..
Am making a wbsite with Flash, and I wanna add a guest book for people to commets. All I nd is to store that in database.
My question is, if that can help with what am trying to do, then where am I suppose to place the script ?? And how can I add the HTML code to the Flash ?!
Thank you
July 4th, 2008 at 12:00 am
@abs
the code above is for people that have a little bit of experience with flash/php/html that is why I didnt post details on how to implement the code. You can use the same idea for a guestbook as you commented. Same you would save the user's name and comment to the database and then pull it with flash.