0

それで、ここに質問があります。いくつかの変数を (POST 経由で) php スクリプトに送信する小さなフラッシュ アプリケーションがあり、その 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)
?>

ありがとうございました!マルコ・ロベルト

4

1 に答える 1

2

明らかなセキュリティ上の欠陥は別として、次のことを試してください。

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

基本的に と を追加{}''ます。

編集:
その部分は気にしないでください。関係ないことに気づきました。

自分のサイトへの呼び出しを行い、CURL$_POSTを使用して値を他のドメインに渡す必要があると思います。

この回答を試してください これ
はjavascript用ですが、swfファイルにも同じルールが適用されると思います。

于 2012-04-16T09:15:45.823 に答える