Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP存储视频时出现未定义索引错误_Php_Mysql_Html - Fatal编程技术网

使用PHP存储视频时出现未定义索引错误

使用PHP存储视频时出现未定义索引错误,php,mysql,html,Php,Mysql,Html,我的php代码有问题。我正在尝试使用表单将数据写入mysql。该表单还包含一个视频上传,该上传将视频存储在本地,并将视频的url存储到数据库中。问题是,当我测试它时,它会出现多个未定义的“videoname”、“videoupload”、“videodescription”索引错误。有趣的是,如果我没有选择要上传的文件,并且仍然在其他字段中输入内容,它会将信息写入数据库,并且不会出现错误。这和视频有关。有人知道它可能是什么吗?谢谢 表格代码: <form action="videoUplo

我的php代码有问题。我正在尝试使用表单将数据写入mysql。该表单还包含一个视频上传,该上传将视频存储在本地,并将视频的url存储到数据库中。问题是,当我测试它时,它会出现多个未定义的“videoname”、“videoupload”、“videodescription”索引错误。有趣的是,如果我没有选择要上传的文件,并且仍然在其他字段中输入内容,它会将信息写入数据库,并且不会出现错误。这和视频有关。有人知道它可能是什么吗?谢谢 表格代码:

<form action="videoUpload.php" id="videoUp" method='POST' enctype="multipart/form-data">
        <p>Name:<textarea name="videoname" value="" class="name" ></textarea></p>
        <p>Upload video:<input type="hidden" name="MAX_FILE_SIZE" value="10485760">   <input type="file" name="videoupload"> </p>
        <p>Video Description:<textarea name="videodescription" value="" class="step" ></textarea></p>
        <p><input type="submit" name="videosubmit" value="Submit Video" class="submit" /></p>
    </form>

姓名:

上传视频:

视频描述:

和php:

 <?php  
    session_start();

    //This is the directory where images will be saved
    $target = "assets/video/";
    $target = $target . basename( $_FILES['videoupload']['name']);

    $name = $_POST['videoname'];
    $description = $_POST['videodescription'];


    $connect = mysql_connect("localhost","root","") or die("Couldn't connect");
    mysql_select_db("fyp") or die("Couldn't find db");

    $queryreg = mysql_query("INSERT INTO videos(VideoName,VideoLocation,VideoDescription) VALUES('$name','$target','$description')");

    //Writes the photo to the server
    if(move_uploaded_file($_FILES['videoupload']['tmp_name'], $target))
    {

        //Tells you if its all ok
        echo "The file  has been uploaded, and your information has been added to the directory";
    }
    else {

    //Gives and error if its not
    echo "Sorry, there was a problem uploading your file.";
}
?>
首先,检查文件上传:

$_FILES['videoupload']['error']
然后为错误和成功场景编写代码

关于未定义索引的错误只是告诉您,您试图访问的POST值未定义。
一定有问题。使用您喜爱的浏览器的开发人员工具或分析实际的HTTP请求,并确保传递值

行被插入到表中这一事实一点也不可笑:没有对实际值的验证。无论是否声明变量,查询都会执行。未赋值变量不会在PHP中导致错误

通常,您的代码在不同的地方缺乏验证:

  • 无输入验证
  • 未验证
    mysql\u query()的返回值
  • 对SQL注入开放
首先,检查文件上传:

$_FILES['videoupload']['error']
然后为错误和成功场景编写代码

关于未定义索引的错误只是告诉您,您试图访问的POST值未定义。
一定有问题。使用您喜爱的浏览器的开发人员工具或分析实际的HTTP请求,并确保传递值

行被插入到表中这一事实一点也不可笑:没有对实际值的验证。无论是否声明变量,查询都会执行。未赋值变量不会在PHP中导致错误

通常,您的代码在不同的地方缺乏验证:

  • 无输入验证
  • 未验证
    mysql\u query()的返回值
  • 对SQL注入开放

在插入变量之前,请尝试清理它们,其中可能有一些字符会打乱查询。在同一页面中是否有“表单”和“php脚本”
videoUpload.php
您收到了什么错误代码?检查
$\u文件['videoupload']['error']
并与否进行比较,它们位于不同的文件中。我对另一个包含图像上传的表单进行了类似的处理,效果很好。@ZombieHunter所有出现的错误都是针对未定义的索引。但只有当我尝试上传一些东西时,它们才会出现。如果我在填写表单时没有上传视频,它会将其写入数据库,并且不会出现任何错误,除了文件尚未上传的回显消息。在插入变量之前,请尝试清理变量,可能会有一些字符将查询弄乱。您有“表单”和“php脚本”吗在同一页面
videoUpload.php
您收到了什么错误代码?检查
$\u文件['videoupload']['error']
并与否进行比较,它们位于不同的文件中。我对另一个包含图像上传的表单进行了类似的处理,效果很好。@ZombieHunter所有出现的错误都是针对未定义的索引。但只有当我尝试上传一些东西时,它们才会出现。如果我在填写表格时没有上传视频,它会将其写入数据库,并且不会出现任何错误,除了文件尚未上传的回显消息。