我有一個的jsfiddle here其中用戶能夠在一個文本添加問題,並添加問題在下面。現在,當用戶添加一個問題時,它會在下面的表格中添加問題,但它也會添加一個包含文件輸入的列。用戶可以使用此輸入選擇圖像文件。
現在我沒有在Jsfiddle中包含一個提交按鈕,但是當用戶提交表單時,它將把用戶帶到create_session.php頁面,但我有一個AJAX,它將發佈到insertQuestion.php中的背景。
function submitform()
{
var fieldvalue = $("#QandA").val();
$.post("insertQuestion.php", $("#QandA").serialize() ,function(data){
var QandAO = document.getElementById("QandA");
QandAO.submit();
});
alert("Your Details for this Session has been submitted");
}
現在在insertQuestion.php,它做了兩兩件事,首先就應該從上傳的文件輸入字段中的所有文件,它應該插入所有的值從形式到數據庫中。
有2個問題,但:
問題1:
它使呼應我有一個「無效的文件」,即使我正在上傳正確的文件類型。爲什麼它這樣做,以及它如何被修復,因此它不會爲有效文件回顯「無效文件」。
問題2:
在插入值代碼,它不斷用於即使當一個文件的位置已經從文件輸入所選擇的「圖像標識」顯示空白值。爲什麼它會繼續詆譭一個空白的價值,以及如何解決這個問題?
下面是INSERT VALUES我目前看到的例子:
INSERT INTO Question (QuestionContent, ImageId) VALUES ('What is my Name?',''), ('What is my Age','')
下面是在insertQuestion.php的完整代碼:
<?php
session_start();
if ((($_FILES["fileImage"]["type"] == "image/gif")
|| ($_FILES["fileImage"]["type"] == "image/jpeg")
|| ($_FILES["fileImage"]["type"] == "image/pjpeg")
|| ($_FILES["fileImage"]["type"] == "image/jpg")
|| ($_FILES["fileImage"]["type"] == "image/png")
|| ($_FILES["fileImage"]["type"] == "image/tif")))
{
if ($_FILES["fileImage"]["error"] > 0)
{
echo "Return Code: " . $_FILES["fileImage"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["fileImage"]["name"] . "<br />";
echo "Type: " . $_FILES["fileImage"]["type"] . "<br />";
echo "Size: " . ($_FILES["fileImage"]["size"]/1024) . " Kb<br />";
echo "Temp fileImage: " . $_FILES["fileImage"]["tmp_name"] . "<br />";
if (file_exists("uploadimages/" . $_FILES["fileImage"]["name"]))
{
echo $_FILES["fileImage"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["fileImage"]["tmp_name"],
"uploadimages/" . $_FILES["fileImage"]["name"]);
echo "Stored in: " . "uploadimages/" . $_FILES["fileImage"]["name"];
}
}
}
else
{
echo "Invalid file";
}
$username="xxx";
$password="xxx";
$database="xxx";
mysql_connect('localhost',$username,$password);
mysql_select_db($database) or die("Unable to select database");
$i = 0;
$c = count($_POST['questionText']);
$insertquestion = array();
for($i = 0; $i < $c; $i++){
$imagequery = "SELECT ImageId FROM Image WHERE (ImageFile = '". mysql_real_escape_string($_POST['fileImage'])."')";
$imagers = mysql_query($imagequery);
$imagerecord = mysql_fetch_array($imagers);
$imageid = $imagerecord['ImageId'];
$insertquestion[] = "'".
mysql_real_escape_string($_POST['questionText'][$i]) ."','".
mysql_real_escape_string($imageid [$i]) ."'";
}
$questionsql = "INSERT INTO Question (SessionId, QuestionId, QuestionContent, QuestionMarks, OptionId, ImageId)
VALUES (" . implode('), (', $insertquestion) . ")";
echo($questionsql);
mysql_close();
?>