当我使用mysql将图像上传到数据库时,php中未定义的索引
我正在使用PHP和MySQL创建一个MCQ应用程序。当我使用php表单将图像上传到数据库时,我得到了这些错误,我认为我的代码中没有任何错误,我这样说是因为我遵循youtube教程来完成这项工作,我所做的与视频教程中显示的完全一样当我使用mysql将图像上传到数据库时,php中未定义的索引,php,mysql,Php,Mysql,我正在使用PHP和MySQL创建一个MCQ应用程序。当我使用php表单将图像上传到数据库时,我得到了这些错误,我认为我的代码中没有任何错误,我这样说是因为我遵循youtube教程来完成这项工作,我所做的与视频教程中显示的完全一样 Notice: Undefined index: fopt1 in C:\USBWebserver v8.6\root\online-quizz\online-quiz\admin\add_edit_questions.php on line 211 Notice:
Notice: Undefined index: fopt1 in C:\USBWebserver v8.6\root\online-quizz\online-quiz\admin\add_edit_questions.php on line 211
Notice: Undefined index: fopt1 in C:\USBWebserver v8.6\root\online-quizz\online-quiz\admin\add_edit_questions.php on line 214
Notice: Undefined index: fopt2 in C:\USBWebserver v8.6\root\online-quizz\online-quiz\admin\add_edit_questions.php on line 217
Notice: Undefined index: fopt2 in C:\USBWebserver v8.6\root\online-quizz\online-quiz\admin\add_edit_questions.php on line 220
Notice: Undefined index: fopt3 in C:\USBWebserver v8.6\root\online-quizz\online-quiz\admin\add_edit_questions.php on line 222
Notice: Undefined index: fopt3 in C:\USBWebserver v8.6\root\online-quizz\online-quiz\admin\add_edit_questions.php on line 225
Notice: Undefined index: fopt4 in C:\USBWebserver v8.6\root\online-quizz\online-quiz\admin\add_edit_questions.php on line 227
Notice: Undefined index: fopt4 in C:\USBWebserver v8.6\root\online-quizz\online-quiz\admin\add_edit_questions.php on line 230
Notice: Undefined index: fanswer in C:\USBWebserver v8.6\root\online-quizz\online-quiz\admin\add_edit_questions.php on line 232
Notice: Undefined index: fanswer in C:\USBWebserver v8.6\root\online-quizz\online-quiz\admin\add_edit_questions.php on line 235
//这是我的代码文件名-add_edit_questions.php
<?php
include "header.php";
include "../connection.php";
$id = $_GET["id"];
$exam_category = '';
$res = mysqli_query($link, "select * from exam_category where id = $id");
while($row = mysqli_fetch_array($res))
{
$exam_category = $row["category"];
}
?>
<div class="breadcrumbs">
<div class="col-sm-4">
<div class="page-header float-left">
<div class="page-title">
<h1>Add Questions <?php echo "<font color='red'>" .$exam_category. "</font>"; ?></h1>
</div>
</div>
</div>
</div>
<div class="content mt-3">
<div class="animated fadeIn">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<form action="" name="form1" method="POST" enctype="multipart/form-data ">
<div class="col-lg-6">
<div class="card-header"><strong>Add New Questions - Text</small></div>
<div class="form-group">
<label for="exampleInputEmail1"> Add a Question </label>
<input type="text" name="question" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Add Question">
</div>
<div class="form-group">
<label for="exampleInputEmail1"> Add Option 1 </label>
<input type="text" name="opt1" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Add Option 1">
</div>
<div class="form-group">
<label for="exampleInputEmail1"> Add Option 2 </label>
<input type="text" name="opt2" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Add Option 2">
</div>
<div class="form-group">
<label for="exampleInputEmail1"> Add Option 3 </label>
<input type="text" name="opt3" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Add Option 3">
</div>
<div class="form-group">
<label for="exampleInputEmail1"> Add Option 4 </label>
<input type="text" name="opt4" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Add Option 4">
</div>
<div class="form-group">
<label for="exampleInputEmail1"> Add Answer </label>
<input type="text" name="answer" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Add Answer">
</div>
<button type="submit" name="submit1" class="btn btn-primary"> Add Question</button>
</div>
<!-- image questions-->
<div class="col-lg-6">
<div class="card-header"><strong>Add New Questions - Images</small></div>
<div class="form-group">
<label for="exampleInputEmail1"> Add a Question </label>
<input type="text" name="fquestion" class="form-control" placeholder="Add Question">
</div>
<div class="form-group">
<label for="exampleInputEmail1"> Add Option 1 </label>
<input type="file" name="fopt1" class="form-control">
</div>
<div class="form-group">
<label for="exampleInputEmail1"> Add Option 2 </label>
<input type="file" name="fopt2" class="form-control">
</div>
<div class="form-group">
<label for="exampleInputEmail1"> Add Option 3 </label>
<input type="file" name="fopt3" class="form-control">
</div>
<div class="form-group">
<label for="exampleInputEmail1"> Add Option 4 </label>
<input type="file" name="fopt4" class="form-control">
</div>
<div class="form-group">
<label for="exampleInputEmail1"> Add Answer </label>
<input type="file" name="fanswer" class="form-control">
</div>
<button type="submit" name="submit2" class="btn btn-primary"> Add Question</button>
</div>
</form>
</div>
</div> <!-- .card -->
</div>
<!--/.col-->
</div>
</div><!-- .animated -->
</div><!-- .content -->
</div><!-- /#right-panel -->
<?php
if(isset($_POST["submit1"]))
{
$loop = 0;
$count=0;
$res = mysqli_query($link, "select * from questions where category='$exam_category' order by id asc")
or die (mysqli_error($link));
$count = mysqli_num_rows($res);
if($count == 0)
{
}
else
{
while($row = mysqli_fetch_array($res))
{
$loop = $loop +1;
mysqli_query($link,"update questions set question_no= '$loop' where id= '$row[id]' ");
}
}
$loop = $loop + 1;
mysqli_query($link, "insert into questions values(NULL, '$loop', '$_POST[question]', '$_POST[opt1]', '$_POST[opt2]', '$_POST[opt3]', '$_POST[opt4]', '$_POST[answer]', '$exam_category')")
or die(mysqli_error($link));
?>
<script type="text/javascript">
alert("question added successfully");
window.location.href = window.location.href;
</script>
<?php
}
?>
<?php
if(isset($_POST["submit2"]))
{
$loop = 0;
$count=0;
$res = mysqli_query($link, "select * from questions where category='$exam_category' order by id asc")
or die (mysqli_error($link));
$count = mysqli_num_rows($res);
if($count == 0)
{
}
else
{
while($row = mysqli_fetch_array($res))
{
$loop = $loop +1;
mysqli_query($link,"update questions set question_no= '$loop' where id= '$row[id]' ");
}
}
$loop = $loop + 1;
$tm = md5(time());
$fnm1 = $_FILES["fopt1"]["name"];
$dst1= "./opt_images/" .$tm.$fnm1;
$dst_db1 = "opt_images/" .$tm.$fnm1;
move_uploaded_file($_FILES["fopt1"]["tmp_name"],$dst1);
$fnm2 = $_FILES["fopt2"]["name"];
$dst2= "./opt_images/" .$tm.$fnm2;
$dst_db2 = "opt_images/" .$tm.$fnm2;
move_uploaded_file($_FILES["fopt2"]["tmp_name"],$dst2);
$fnm3 = $_FILES["fopt3"]["name"];
$dst3= "./opt_images/" .$tm.$fnm3;
$dst_db3 = "opt_images/" .$tm.$fnm3;
move_uploaded_file($_FILES["fopt3"]["tmp_name"],$dst3);
$fnm4 = $_FILES["fopt4"]["name"];
$dst4 = "./opt_images/" .$tm.$fnm4;
$dst_db4 = "opt_images/" .$tm.$fnm4;
move_uploaded_file($_FILES["fopt4"]["tmp_name"],$dst4);
$fnm5 = $_FILES["fanswer"]["name"];
$dst5 = "./opt_images/" .$tm.$fnm5;
$dst_db5 = "opt_images/" .$tm.$fnm5;
move_uploaded_file($_FILES["fanswer"]["tmp_name"],$dst5);
mysqli_query($link, "insert into questions values(NULL, '$loop', '$_POST[fquestion]', '$dst_db1', '$dst_db2', '$dst_db3', '$dst_db4', '$dst_db5', '$exam_category')")
?>
<script type="text/javascript">
alert("question added successfully");
window.location.href = window.location.href;
</script>
<?php
}
?>
<?php
include "footer.php";
?>
添加问题检查PHP配置,相同问题:
此外,请检查:
- MySQL注入:
- 表格消毒/验证:
- 您的标题
..
- 不要将所有标签用于=“相同输入”
- 给出一个id,并传递给输入,示例:
永远不要放弃。您的代码容易受到SQL注入的攻击,并且在尝试分配变量(即:isset($\u FILES['fopt1'))
等)之前,您没有检查文件数据是否可用。在上述代码中,打开和关闭div
标记的数量存在差异。有26个开始和27个结束我建议有两个表单-一个用于基于文本的问题,另一个用于ImagesHankyou@RamRaider删除一个额外的div标记后,我没有收到任何错误,但仍然没有上传图像,在数据库中我看到路径opt_images/但不是我上传的文件名这回答了你的问题吗?
<form action="" method="post" id="form1">
<input type="text" name="fname" form="form1">
</form>