我使用一个简单的uploadscript将一些照片上传到我的服务器,并在数据库中为galery添加一些信息。脚本工作正常。所有照片都上传到正确的位置,我定义的变量在数据库中设置。只有来自我的表单的输入(来自字段和区域和radiobutton的文本)才会被插入到mysql中。
这是我用来开始上传并将数据插入数据库的脚本。
$( "#load" ).submit(function( event ) {
uploadObj.startUpload();
event.preventDefault();
});
这是表格
<form id="load" action="">
<p style="color: #05296B;"><b>Galerietitel:</b>
<input class="textbox" type="text" name="gal_title" style="width: 200px; margin-left: 164px;" /></p>
<p style="color: #05296B;"><b>Galerietext:</b></p>
<p><textarea id="styled" name="gal_text" onfocus="setbg('#FFF9B1');" onblur="setbg('#e5fff3')" style="resize: none; color: #05296B;" WRAP=SOFT></textarea></p>
<p style="color: #05296B;"><b>Öffentliche Galerie?:</b>
<input type="radio" id="publics" name="publics" style="margin-left: 80px;" value="1" checked > ja
<input type="radio" id="publics" name="publics" style="margin-left: 25px;" value="0" /> nein
</p>
<div id="fileuploader">Bilder auswählen</div>
<input type="submit" class="button-link" value="Hoch laden">
</form>
最后是php
$gal_title = $_POST['gal_title'];
$gal_text = $_POST['gal_text'];
$publics = $_POST['publics'];
$nickname = "ms";
$test = "marco";
$path2 = date('dmY');
$path3 = mt_rand(1, 999999);
$uploads = $test."_".$path2.$path3;
$output_dir = "galerie/".$uploads."/";
if(isset($_FILES["loadpic"]))
{
mkdir('galerie/'.$uploads.'', 0775);
$ret = array();
$error =$_FILES["loadpic"]["error"];
if(!is_array($_FILES["loadpic"]["name"]))
{
$fileName = $_FILES["loadpic"]["name"];
move_uploaded_file($_FILES["loadpic"]["tmp_name"],$output_dir.$fileName);
$ret[]= $fileName;
}
else
{
$fileCount = count($_FILES["loadpic"]["name"]);
for($i=0; $i < $fileCount; $i++)
{
$fileName = $_FILES["loadpic"]["name"][$i];
move_uploaded_file($_FILES["loadpic"]["tmp_name"][$i],$output_dir.$fileName);
$ret[]= $fileName;
}
}
$stamp = time();
$sql = "INSERT INTO
galery
(user_id,
nickname,
uploads,
gal_title,
gal_text,
publics,
datum
)
VALUES
('".mysql_real_escape_string(trim($test))."',
'".mysql_real_escape_string(trim($nickname))."',
'".mysql_real_escape_string(trim($uploads))."',
'".mysql_real_escape_string(trim($gal_title))."',
'".mysql_real_escape_string(trim($gal_text))."',
'".mysql_real_escape_string(trim($publics))."',
'".mysql_real_escape_string(trim($stamp))."'
)";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
&#39; gal_title&#39; ,&#39; gal_text&#39;和#&quot; publics&#39;不会被插入数据库。所以我表格中的所有数据。怎么了?
@Forgest:
这里我调用galery_upload.php(所有代码都包含的文件):
$(document).ready(function()
{
var uploadObj = $("#fileuploader").uploadFile({
url:"galery_upload.php",
multiple:true,
autoSubmit:false,
fileName:"loadpic",
formData: {name:"load"},
maxFileSize:20480,
maxFileCount:6,
dynamicFormData: function()
{
var data ={ location:"Germany"}
return data;
},
答案 0 :(得分:0)
在获取POST数据时,您的表单创建应该是POST。切换你的html顶行:
<form id="load" action="">
为:
<form id="load" action="" method="POST">
这可以解决您的问题。
答案 1 :(得分:0)
我解决了。我必须将表格中的数据提供给
var data = $("form :input").serialize();
之前我的var数据中设置了一个示例+眼睛滚动+ 现在所有需要的数据都到了正确的位置。谢谢你的帮助。