0

ユーザーが記入する月次レポートを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);
4

1 に答える 1