php - 将 PHP 插入无法在线工作的 mySQL 数据库(通过 Flash 应用程序)

标签 php mysql database actionscript-3 flash

所以,问题来了。我有一个小型 Flash 应用程序,它将一些变量发送到 php 脚本(通过 POST),然后该 php 脚本将它们发送到 mySQL 数据库。

当我离线测试 Flash 时,这工作正常,我转到 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)
?>

谢谢! 马可·罗伯托

最佳答案

除了明显的安全缺陷外,请尝试

"INSERT INTO results(Nome,Email,Idade,Profissao,Pais)
VALUES
('{$_POST['nome']}','{$_POST['email']}','{$_POST['idade']}','{$_POST['profissao']}','{$_POST['pais']}')";

基本上添加 {}''

编辑:
别介意那部分。注意到它不相关。

我相信您必须调用您自己的网站,并使用 CURL$_POST 值传递到其他域。

<强> Try this answer
尽管这是针对 javascript 的,但我相信相同的规则也适用于您的 swf 文件。

关于php - 将 PHP 插入无法在线工作的 mySQL 数据库(通过 Flash 应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10171405/

相关文章:

javascript - 通过 JS 清除 cookie,但 PHP 仍然检测到它

php - Codeigniter、Facebook javascript SDK、PHP SDK 在 facebook 登录后重定向不会 getUser() 直到刷新

php - Laravel 5.2 按距用户邮政编码的距离搜索用户

mysql - 在复杂查询的 Laravel 查询中使用聚合方法(此处为 SUM)

c# - 同时针对云和自托管应用程序?

sql - 什么是数据类型以及使用数据类型的示例 - 引用资料

php - laravel 在 groupBy 之后使用 count/sum 方法

php - 自适应支付 paypal - 支付 api 操作没有 pdt 数据

mysql - 如何在不丢失数据的情况下自动递增此表?

java - 哪个更快,或者它只是被认为是错误的代码