我有一个flash表单,每月发送一个报告,用户填写一个php文件,将其发送到MS SQL数据库.我遇到的这个问题是,任何超过1300个字符的内容都会输入flash表单根本不起作用.如果我将文本量减少到1300个字符或更少,它会将它发送到PHP和数据库就好了.我的研究表明,flash变量应该能够处理65,000个字符,当我将我的输出从flash跟踪到php时,所有数据都被跟踪.但是,它没有发送到PHP.我正在使用LoadVars使用_GET发送数据.那么这是一个php问题,还是一个flash问题?我运行了一个php信息页面,我的max_post设置为10M,应该足以处理这个负载.我不知道为什么它不能处理超过1300个字符的任何东西.下面是我的php和flash文件的代码.
受此影响的变量是testEvlauation,projects,support和programManagement变量.我需要它们向php文件发送至少8000个字符.任何帮助都将不胜感激.
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);
Run Code Online (Sandbox Code Playgroud)
}
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);
你必须使用POST.您可以通过GET发送的数据量有限.
sendData.send("Flash/php/MRform.php","_blank","POST");
Run Code Online (Sandbox Code Playgroud)
通常,完整URL的限制(包括变量名称和值)大约为2K,但它因系统,浏览器和浏览器而异.对于超过基本需求,通过POST发送它将允许您发送无限(好的,在合理范围内)数据量.(唯一的限制是服务器强加的限制和可用资源.)
| 归档时间: |
|
| 查看次数: |
447 次 |
| 最近记录: |