Невозможно отправить все данные флеш-формы в PHP - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть флэш-форма, которая отправляет ежемесячный отчет, который пользователи заполняют, в файл php, который отправляет его в базу данных MS SQL. У меня проблема в том, что все, что больше 1300 символов, введенных во флэш-форму, не будет работать вообще. Если я уменьшу объем текста до 1300 символов или меньше, он отправит его в php и базу данных просто отлично. Мои исследования показывают, что переменная flash должна быть способна обрабатывать 65 000 символов, и когда я отслеживаю вывод с flash на php, отслеживаются все данные. однако, это не отправляется php. Я использую LoadVars для отправки данных с _GET. Так это проблема php, или проблема со вспышкой? Я запустил информационную страницу php, и мой max_post настроен на 10M, что должно быть достаточно для обработки этой нагрузки. Я не уверен, почему он не работает с чем-то большим, чем 1300 символов. Ниже приведен мой код для моих файлов php и flash.

Переменные, на которые влияет это, - переменные testEvlauation, projects, support и programManagement. Мне нужно, чтобы они отправили не менее 8000 символов в файл php. Любая помощь с этим будет оценена.

Флэш-код:

on (release) {
    sendData = new LoadVars();</p>

<pre><code>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 код:

<code>//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);

1 Ответ

5 голосов
/ 06 апреля 2011

Вы должны использовать POST. Вы ограничены в количестве данных, которые вы можете отправить через GET.

sendData.send("Flash/php/MRform.php","_blank","POST");

Как правило, ограничение полного URL-адреса (включая имена и значения переменных) составляет около 2 КБ, но оно варьируется от системы к системе, от браузера к браузеру. Для более чем основных потребностей, отправка через POST позволит вам отправлять неограниченное (ну, в пределах разумного) количество данных. (Единственными ограничениями являются ограничения, налагаемые сервером, и доступные ресурсы.)

...