Part 3 - Email the Custom text and swf to someone (Explaining the Script)
The following script is what is used to send out the email as well as save the user entered remarks to a text file on your server. I'll attempt to explain it line by line - you can also find some additional comments in the source downloaded for this tutorial, this file is called "SendEcard.php". Recall that on the "Click here to Send card" in the main flash movie, it calls this script and Post's all of the variables from the Movie to this script.
<? 1) $CreateEcard = date(U); 2) $filename = $CreateEcard.".txt"; 3) $ToName = stripslashes($ToName); 4) $FromName = stripslashes($FromName); 5) $Greeting = stripslashes($Greeting); 6) $IntroMessage = stripslashes($IntroMessage); 7) $Today = (date ("l dS of F Y ( h:i:s A )",time())); 8) $Created="Ecard Created on $Today"; 9) $EcardNum = $EcardSelect; 10) $EcardText = "ToName=$ToName&ToEmail=$ToEmail&FromName=$FromName&FromEmail=$FromEmail& Greeting=$Greeting&IntroMessage=$IntroMessage&Created=$Created"; 11) $fp = fopen( "./dBText/$filename","w"); 12) fwrite($fp, $EcardText, 10000); 13) fclose( $fp ); ######Email Card######## 14) $ToSubject = "You have received a Flash Ecard from $FromName"; 15) $Message = "$ToName,\nYou have received a Flash card from $FromName. \nClick the following link to view your card:\n\n http://www.yoursite.com/E-Cards/SelectCard.php?EcardText=$CreateEcard&ENum=$EcardNum \n\n-----------------------------------\nHere is the message that was sent:\n$ToName,\n$Greeting\n$IntroMessage \n\n-$FromName\n\n\n-----------------------------------\nThis card was sent from www.yoursite.com/E-Cards/\n\n"; 16) mail($ToName." <".$ToEmail.">",$ToSubject, $Message, "From: ".$FromName." <".$FromEmail.">"); 17) print "_root.Status=Success your Card Has Been Sent!"; ?>
Line 1) The first line uses the date function to retrieve the seconds since the epoch (which is a very large number). I choose to use this number to provide a consistent numbering system for the text files. It is possible but highly unlikely that two people could fill out the text messages in the exact same second.
Line 2) Adds the .txt extension to the file name and sets the variable $filename which is later used.
Lines 3-6) These lines remove unwanted slashes that are added when posted. These lines are not necessary, but do help avoid unwanted slashes in your data.
Line 7) Returns the current date and time.
Line 8) Just formats a nice string telling you when the card was created.
Line 9) Sets the variable EcardNum to the value contained in EcardSelect. EcardSelect contains a number between 1 and 5 depending on what the user choose and is later used in determining which card to display when sent.
Line 10) Formats a string called EcardText containing all the submitted information. This is then written to a text file on your server.
Line 11) Opens or creates a new text file for writing to. In this case the filename we want to write to was determined in lines 1 and 2 of this script. The 'w' tells the script that we intend to write information to this file. Notice that this text file is located in a directory called dBText. The directory permissions of dBText also need to be changed - this is explained later.
Line 12) This writes the information contained in EcardText to the file. Their is also a limit on the amount of data that can be written to this text file, here it is set at 10000 which is really high, you may want to consider setting it to a much lower value.
Line 13) Close's the file we are writing to.
Line 14) This is the first part of the Email function. This line sets the Subject line of the email we are sending. You can set this to anything you want.
Line 15) Formats the message that we are sending out. You can use any of the variable names that were used in the main ECards movie to format this message. The link that is sent out is probably the most important part of this message. Notice the string that is added onto the end of the Link (?EcardText=$CreateEcard&ENum=$EcardNum) this attaches the variable EcardText and it's value $CreateEcard onto the end of the Link - this will eventually tell the flash movie which text file to open up. Also the variable ENum is attached. This variable tells the next script which swf to embed - and has the same value that EcardSelect did from the original movie. Also, make sure to change 'www.somesite.com' to your site. If you did not locate these files in a directory called 'ECards' you will have to change that as well.
Line 16) This line of code is what actually sends the email. You shouldn't have to change anything here.
Line 17) Prints out a success message back to the movie to let the user know that his card was sent successfully.
That's it for that script!
|» Level Advanced|
Rating: 8.95 Votes: 123
|Jeffrey Hill is a freelance web developer from Boulder, Colorado. He specializes in creating and developing dynamic database driven Flash content. Being a recent graduate of the University of Colorado - he somehow finds time to write these tutorials.|
|Download the files used in this tutorial.|
|Download (426 kb)|
|More help? Search our boards for quick answers!|