ユーザーが記入する月次レポートをphpファイルに送信するフラッシュフォームがあり、それがMS SQLデータベースに送信されます。私が抱えているこの問題は、Flash フォームに入力された 1300 文字を超えるものはまったく機能しないということです。テキストの量を 1300 文字以下に減らすと、問題なく PHP とデータベースに送信されます。私の調査によると、フラッシュ変数は 65,000 文字を処理できる必要があり、フラッシュから php への出力をトレースすると、すべてのデータがトレースされています。ただし、phpに送信されていません。LoadVars を使用して、_GET でデータを送信しています。これはphpの問題ですか、それともフラッシュの問題ですか? PHP 情報ページを実行しましたが、max_post は 10M に設定されており、この負荷を十分に処理できます。1300 文字を超えるもので動作しない理由がわかりません。
これによって影響を受ける変数は、testEvlauation、projects、support、および programManagement 変数です。少なくとも 8000 文字を php ファイルに送信する必要があります。これについての助けをいただければ幸いです。
フラッシュコード:
on (release) {
sendData = new LoadVars();
sendData.contractor = contractor.text;
sendData.name = name.text;
sendData.contractNum = contractNum.text;
sendData.performance = performance.text;
sendData.manager = manager.text;
sendData.activity = activity.text;
sendData.taskNum = taskNum.text;
sendData.date = date.text;
sendData.testEvaluation = testEvaluation.text;
sendData.projects = projects.text;
sendData.support = support.text;
sendData.programManagement = programManagement.text;
sendData.send("Flash/php/MRform.php","_blank","GET");
trace(sendData.support);
}
PHP コード:
//MS SQL SERVER CONNECTION PERAMETERS
$serverName = "lsv-fs-jepac1\JEPAC";
$uid = "SQLLogin";
$pwd = "XXXXXXXXXXXXXXXXXXXXXX";
$connectionInfo = array("UID" => $uid, "PWD" => $pwd, "Database"=>"Requests");
/* Connect using MS SQL Credentials. */
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection Established.\n";
}
else {
echo "connection could not be established.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Set up the parameterized query.*/
$name =$_GET['name'];
$contractor =$_GET['contractor'];
$contractnum =$_GET['contractNum'];
$performance =$_GET['performance'];
$manager =$_GET['manager'];
$activity =$_GET['activity'];
$taskNum =$_GET['taskNum'];
$date =$_GET['date'];
$testEvaluation =$_GET['testEvaluation'];
$projects =$_GET['projects'];
$support =$_GET['support'];
$programManagement =$_GET['programManagement'];
$tsql = "INSERT INTO dbo.MRSup
(Name,
Contractor,
ContractNum,
Performance,
Manager,
Activity,
TaskNum,
Date,
TestEvaluation,
Projects,
Support,
ProgramManagement)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
// Set Parapter Values.
$params = array($name, $contractor, $contractnum, $performance, $manager, $activity, $taskNum, $date, $testEvaluation, $projects, $support, $programManagement);
$stmt = sqlsrv_query( $conn, $tsql, $params);
if( $stmt ) {
echo "Row successfully inserted.\n";
}
else {
echo "Row instertion failed.\n";
die (print_r( sqlsrv_errors(), true));
}
//free statements
sqlsrv_free_stmt( $stmt);
sqlsrv_close ($conn);