RE: [PHP] FLASH, MySql and PHP as CGI Problem.....

From: Date: Mon, 30 Sep 2002 11:01:51 +0000
Subject: RE: [PHP] FLASH, MySql and PHP as CGI Problem.....
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-118185@lists.php.net to get a copy of this message
Is register globals on? Look at a phpinfo() page to see. You may have to use $HTTP_GET_VARS or HTTP_POST_VARS (not sure how flash sends it's data) to get the values... $HTTP_GET_VARS['newsText'] $HTTP_GET_VARS['posted'] Let us know if that's not it. ---John Holmes... > -----Original Message----- > From: Rebekah Garner [mailto:rebekah@powergothgirls.com] > Sent: Monday, September 30, 2002 2:34 AM > To: php-general@lists.php.net > Subject: [PHP] FLASH, MySql and PHP as CGI Problem..... > > Okay, I have come down to the wire and I am at a complete loss. I have a > project due and to make a long story short (no lectures on this aspect of > my problem please, I have already beate myself up over it)---I had to > develop without the server/hosting information due to retarded clients. > Any, I have a Flash project that uses a MySql database via PHP. It works > perfectly on servers that have the PHP in Apache. I end up with PHP > running as CGI. No problem, I think. I change what needed to be changed > and it wouldn't work. After a week of pulling my hair out and bugging the > support department they recompile something and install the newest version > of PHP and it works! Or so I thought. I was only testing the "fetching" > script which pulls from the database for display in the SWF. It works. I > thought that I was in the clear. Wrong. My SWF won't send the content of > the variable to the database. The script runs, but it is making an empty > entry. The damned things work on any of the three other servers that I > have tested it on, but not this. So.....if anyone out there has any > experience with this or can direct me to someplace that they know for sure > would have the information, then please please do. I had gotten my base > scripting of this from PHP for Flash, but I can't find anything that > helps. > > I am including my php code for retrieving information from the database > (which works) and my code for inserting into the database (which executes, > but doesn't pass the varible information). > I am also including my ActionScript code and the guidelines set down by > the hosting company for use of PHP on their server. I have the PHP > scripts outside of the cgi-bin, but with the cgi exstension and a > permissions setting of 755. I know that the scripts are executing because > when I run them from a browser they send a blank entry into the database > also (as in when used in the SWF also). > > > fetchdefaultTableName.cgi------------------------- > > #!/usr/local/bin/php > > <?php > > $dbHost = "mysql.hostname.com"; > $dbUser = "username"; > $dbPass = "password"; > $dbName = "databasename"; > > > > > $link = @mysql_connect($dbHost, $dbUser, $dbPass); > > > if (!$link) > { > > print "Could not connect to server"; > exit; > } > > if (!@mysql_select_db($dbName)) > { > // Report error to Flash and exit > print "Could not select $dbName database"; > exit; > } > > > $query = "SELECT newsText FROM tablenamedefault ORDER BY updateID DESC > LIMIT 1"; > > > $result = @mysql_query($query); > > > if ($result && @mysql_num_rows($result) > 0) > { > $newsText = ""; > > > while($row = mysql_fetch_array($result)) > { > > $posted = strftime("%a %d/%m/%y %H:%M", $row['posted']); > > $newsText .= stripslashes($row['newsText']) . ''; > } > > print "&newsText=" . urlencode($newsText); > } > else > { > > print "No new items yet"; > } > > > mysql_close($link); > > ?> > > updatedefaultTableName.cgi----------------------- > #!/usr/local/bin/php > > <?php > > > $dbHost = "mysql.hostname.com"; > $dbUser = "username"; > $dbPass = "password"; > $dbName = "databasename"; > > > > $link = @mysql_connect($dbHost, $dbUser, $dbPass); > > > if (!$link) > { > print "Could not connect to server"; > exit; > } > > if (!@mysql_select_db($dbName)) > { > > print "Could not select $dbName database"; > exit; > } > > > > $posted = time(); > > $query = "INSERT INTO tablenamedefault (newsText, posted) > VALUES('$newsText', $posted)"; > > > $result = @mysql_query($query); > > if ($result) > { > print "Success"; > } > else > { > print "Couldn't add item"; > } > > > mysql_close($link); > > ?> > > Flash ActionScripting: > > > > Code that contains the posting info for display in the SWF (and it works > fine): > > > _root.clearNewsText(); > > _root.generateText(); > > newsText = ""; > > loadVariables("http://www.url.com/fetchdefaultTableName.cgi?"+(Math.rand om > ()*1000000), _root.newsText, "POST"); > > stop(); > > > > Code that contains the posting info for input: > > > on (release) { > > _root.sendTextUpdate(); > > > loadVariables("http://www.url.com/updatedefaultTableName.cgi"), > _root.newsTextHolder, "POST"); > > } > > > > > > WebHosting Facts: > > We do support PHP scripting, but it is not built into the web server. What > this means is that you can execute PHP code like you would execute C or > Perl code, as a CGI script. You will not be able to use the PHP "includes" > or "extensions" however. > > If you wish to use it, be sure to put your file/s in your cgi-bin. > > If a CGI script is not in the cgi-bin/ directory, the file must end in > .cgi. It also must be set executable and it needs to have the standard > #!/path/to/interpreter reference on the first line of the file. The path > to PHP is /usr/local/bin/php. > > The current version installed (from the -v flag) is: 4.0.2 > > > > > > Sorry for the redundancy, but I wanted to make sure that I was understood > and didn't leave anything out for you gurus out there. Show me the way to > your infinate light and wisdom ;) > > > > Rebekah Garner > >

« previous php.general (#118185) next »