Uploadify没有传递变量,Session问题?

对皮特的爱,我不能让它接受任何变量到我的SQL数据库。 如果我把静态信息它工作。 我似乎无法通过scriptdata传递任何参数,这使得它更具挑战性,因为我在顶部使用智能模板系统。

我试图这样做。

{literal}  jQuery(document).ready(function() { jQuery("#fileUpload").uploadify({ 'scriptData' :{'alb_id': '{/literal}$alb_id{literal}','mem_id': '{/literal}$info.mem_id{literal}'}, 'uploader': '/ajax/upload/uploadify.swf', 'cancelImg': '/ajax/upload/cancel.png', 'script': '/ajax/upload/uploader.php', 'folder': 'photos', 'multi': true, 'displayData': 'speed', 'fileDesc' : 'Image Files', 'fileExt': '*.jpg;*.jpeg;', 'simUploadLimit': 200, 'width' : 130, 'queueID' : 'fileQueue', 'buttonImg': '/themes/mytheme/gfx/buttons/but_browse.gif' }); });  {/literal} 

在我的模板文件中。 上传部分工作正常。 只是不是mysql。 我正在使用脚本内置的函数来调整缩略图的图像大小,以及不构建目录。 一切正常。 它只是不会将任何变量传递给db。

 include_once("../../includes/config/config.inc.php"); //load libraries include(DOC_ROOT."/libraries.php"); $conn = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS,1); mysql_select_db(SQL_DB,$conn); $alb_id = $_REQUEST['alb_id']; $mem_id = $_REQUEST['mem_id']; if (!empty($_FILES)) { $tempFile = $_FILES['Filedata']['tmp_name']; $extension = ".jpeg"; $photo = build_thumbnailes($tempFile,$extension); $sql ="INSERT INTO `photos`(`mem_id`, `photo`, `photo_med`, `photo_small`, `approved`,`posted`, `upload_date`) VALUES ('$alb_id', '".$photo["ex"]."', '".$photo["med"]."','".$photo["small"]."' , '1', time(), time())"; mysql_query($sql) or die(mysql_error()); 

如果可以的话请帮忙。 我对这件事感到疯狂。 谢谢。

好吧,我不知道这是不是“答案”,但我确实看到了一些问题。

  1. 在您的模板中,您有:

     'scriptData': {'alb_id': '{/literal}$alb_id{literal}', 'mem_id': '{/literal}$info.mem_id{literal}'}, 

    你的$alb_id变量$alb_id$info.mem_id字面$info.mem_id传递(而不是它们的值)。 你需要:

     'scriptData': {'alb_id': '{/literal}{ $alb_id }{literal}', 'mem_id': '{/literal}{ $info.mem_id }{literal}'}, 
  2. 其次,您应该检查您的文件是否真的是PHP中的上传文件。 代替:

     if (!empty($_FILES)) { $tempFile = $_FILES['Filedata']['tmp_name']; 

    使用:

     if (is_uploaded_file($_FILES['Filedata']['tmp_name'])) { $tempFile = $_FILES['Filedata']['tmp_name']; 

我真的怀疑你没有从你认为你得到的表格中获取数据。 你怎么知道上传工作正常? 你怎么知道从表格传递的价值? 您可能希望从表单中打印出变量,看看您是否真的得到了您的期望。

你从MySQL得到错误吗? 还是数据没有出现? 提供更多信息可能会在这里为您提供更好的答案。

测试脚本的简单方法是以正常forms创建普通文件输入,并指向upload.php。 因此,如果出现错误,您会看到它。

build_tumbnailes是否有可能犯错误?

唯一必要的是删除{literal} 。 那它应该工作!