所以,这就是问题所在。我有一个小型 Flash 应用程序,它将一些变量发送到 php 脚本(通过 POST),然后该 php 脚本将它们发送到 mySQL 数据库。
当我离线测试我的闪存时,这工作正常,我去 phpmyadmin,并且注册表已完成。当我将 swf 上传到在线 html 时,这将停止工作。它不再在数据库中创建另一个注册表。我不知道为什么会这样。
我读了一点,发现了跨域策略,并认为这可能是问题所在。因此,我制作了一个小的 .xml 文件并将其上传到两台服务器(swf 所在的服务器和具有数据库的服务器),但它仍然无法正常工作。
这是我的 crossdomain.xml 文件(以这种方式命名):
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
还有 php(名为 insert.php),它与数据库位于同一台服务器上:
<?php
//connect to the local MySQL
$connect=mysql_connect("localhost", "DBName", "DBPass");
//select your database
mysql_select_db("DBTable");
//query the database
$query="INSERT INTO results(Nome,Email,Idade,Profissao,Pais)
VALUES
('$_POST[nome]','$_POST[email]','$_POST[idade]','$_POST[profissao]','$_POST[pais]')";
//$result=mysql_query($query);
if (!mysql_query($query,$connect))
{
die('Error: ' . mysql_error());
echo "InsertOk=NotOk";
}else{
echo "InsertOk=Ok";
}
mysql_close($connect)
?>
谢谢!马可·罗伯托