Hello,
This my first attempt with Php, i followed the guestbook tutorial at flashdb, the problem is that i’m loading it in another swf (i know it’s a common problem but i didn’t find the answer in other threads:-/)
The problem that i have is that no text is showing up, it just show Loading…, when i tried to make an input, it also show loading new entries.
I checked the text file and the entries are in the text, so the problem appears be the printing of the Data from the Guestbook to the Flash Movie. The path is Main–container–>guest(.swf)—guestbook.
Here are my actions
frame 1 in guestbook [AS]NumLow = 0;
NumHigh = 10;
loadVariables(“GuestBook.php?NumLow=”+NumLow+"&NumHigh="+NumHigh+"&R="+random(999), this);
stop();[/AS]
on the submit button
[AS]on (release) {
if (Name eq “”) {
_parent.Status = “Please enter your name”;
} else if (Email eq “”) {
_parent.Status = “Please enter email Address”;
} else if (Website eq “”) {
_parent.Status = “Please enter the URL to your website”;
} else {
Submit = “Yes”;
NumHigh = 10;
NumLow = 0;
_parent.GuestBook = "Processing… Loading New… ";
loadVariablesNum (“GuestBook.php”, 0, “POST”);
_parent.Status = “Your entry has been submitted. You should see your comments appear immediatly”;
gotoAndStop (2);
}
}[/AS]
the Php file (i also tried with _parent._parent._parent) :
<?php
// If you are using an old version of php, remove the next set of lines.
// or use $HTTP_POST_VARS["..."] instead.
$Submit = $_POST["Submit"];
$Name = $_POST["Name"];
$Email = $_POST["Email"];
$Website = $_POST["Website"];
$Comments = $_POST["Comments"];
$NumLow = $_REQUEST["NumLow"];
$NumHigh = $_REQUEST["NumHigh"];
// Replace special characters - you can remove the next 5 lines if wanted.
$Name = ereg_replace("[^A-Za-z0-9 ]", "", $Name);
$Email = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $Email);
$Comments = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $Comments);
$Website = eregi_replace("http://", "", $Website);
$Website = ereg_replace("[^A-Za-z0-9 \@\.\-\/\'\~\:]", "", $Website);
// Remove slashes.
$Name = stripslashes($Name);
$Email = stripslashes($Email);
$Website = stripslashes($Website);
$Comments = stripslashes($Comments);
// ###################################################################################
// ########## Reading and Writing the new data to the GuestBook Database #############
if ($Submit == "Yes") {
// Next line tells the script which Text file to open.
$filename = "GuestBook.txt";
// Opens up the file declared above for reading
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );
// Gets the current Date of when the entry was submitted
$Today = (date ("l dS of F Y ( h:i:s A )",time()));
// Puts the recently added data into html format that can be read into the Flash Movie.
// You can change this up and add additional html formating to this area. For a complete listing of all html tags
// you can use in flash - visit: http://www.macromedia.com/support/flash/ts/documents/htmltext.htm
$Input = "Name: <b>$Name</b><br>Email: <b><u><a href=\"mailto:$Email\">$Email</a></u></b><br>Website: <b><u><a href=\"http://$Website\" target=\"_blank\">$Website</a></u></b><br>Comments: <b>$Comments</b><br><i><font size=\"-1\">Date: $Today</font><br><br>.:::.";
/* This Line adds the '&GuestBook=' part to the front of the data that is stored in the text file. This is important because without this the Flash movie would not be able to assign the variable 'GuestBook' to the value that is located in this text file */
$New = "$Input$OldData";
// Opens and writes the file.
$fp = fopen( $filename,"w");
if(!$fp) die("&GuestBook=cannot write $filename ......&");
fwrite($fp, $New, 800000);
fclose( $fp );
}
// ###################################################################################
// ######### Formatting and Printing the Data from the Guestbook to the Flash Movie ##
// Next line tells the script which Text file to open.
$filename = "GuestBook.txt";
// Opens up the file declared above for reading
$fp = fopen( $filename,"r");
$Data = fread($fp, 800000);
fclose( $fp );
// Splits the Old data into an array anytime it finds the pattern .:::.
$DataArray = split (".:::.", $Data);
// Counts the Number of entries in the GuestBook
$NumEntries = count($DataArray) - 1;
print "&_parent._parent._parent._parent.TotalEntries=$NumEntries&_parent._parent._parent._parent.NumLow=$NumLow&_parent._parent._parent._parent.NumHigh=$NumHigh&_parent._parent._parent._parent.GuestBook=";
for ($n = $NumLow; $n < $NumHigh; $n++) {
print $DataArray[$n];
if (!$DataArray[$n]) {
Print "<br><br><b>No More entries</b>";
exit;
}
}
?>
I can provide the file if needed, it would be nice if someone could help me to deal with this !
Thanks
Ubik