当我使用mysql将图像上传到数据库时,php中未定义的索引

当我使用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:

我正在使用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: 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>