php - 将数据传递到新页面以发布到 MySQL 数据库时未定义索引,但仅用于文件名输入,并且数据未发布到数据库

标签 php mysql html

2 个问题,我仅收到文件名的未定义索引错误。我创建了新页面,但每次文件名都有同样的问题。 数据也没有进入数据库,它正在连接,但没有输入任何内容。

<?php

include("conn.php");

    $name = $conn->real_escape_string($_POST['FirstName']);
    $surname = $conn->real_escape_string($_POST['Surname']);
    $dateOfBirth = $conn->real_escape_string($_POST['DOB']);
    $emailAddress = $conn->real_escape_string($_POST['email']);
    $phoneNumber = $conn->real_escape_string($_POST['Phone']);
    $address = $conn->real_escape_string($_POST['Address1']);
    $address2 = $conn->real_escape_string($_POST['Address2']);
    $city = $conn->real_escape_string($_POST['City']);
    $county = $conn->real_escape_string($_POST['County']);
    $postcode = $conn->real_escape_string($_POST['Postcode']);
    $password = $conn->real_escape_string($_POST['postpass']);
    $filename = $_FILES['imgupload']['name'];

    $finddate = date("Y-m-d");
    $filetmp = $_FILES['imgupload']['tmp_name'];

move_uploaded_file($filetmp, "../ETimg/".$filename);

$insert = "INSERT INTO ET_UserDetails (FirstName, Surname, DateOfBirth,      EmailAddress, PhoneNumber, Address1, Address2, City, County, Postcode, Pass,   imgpath, Date) VALUES ('$name', '$surname', '$dateOfBirth', '$emailAddress', '$phoneNumber', '$address', '$address2', '$city', '$county', '$postcode', '$password', '$filename', '$finddate')";

信息来源的原始代码

<div class="form-row">
 <div class="form-group col-lg-6">
     <input type="file" class="form-control" name="imgupload" id ="real-   file" hidden="hidden"/>
      <button type="button" id="custom-button">Select an image file</button>
     <span id="custom-text">No file chosen</span>

       <script type="text/javascript">
 const realFileBtn = document.getElementById("real-file");
 const customBtn = document.getElementById("custom-button");
 const customTxt = document.getElementById("custom-text");

 customBtn.addEventListener("click", function(){
 realFileBtn.click();
 });

 realFileBtn.addEventListener("change", function() {
 if(realFileBtn.value) {
     customTxt.innerHTML = realFileBtn.value.match(/[\/\\]   ([\w\d\s\.\-\(\)]+)$/)[1];
 } else {
     customTxt.innerHTML = "No file chosen yet.";
 }
 });
         </script>
 </div>

最佳答案

我可能是错的,因为我自己对 PHP 还很陌生,但我认为你需要将它包装在 <form> 中。标签并设置 Method="post"

所以它看起来像:

<form method="post">
    <divs for form and other code here>
</form>

这告诉表单数据被 POSTED 到 $_POST 变量中。

关于php - 将数据传递到新页面以发布到 MySQL 数据库时未定义索引,但仅用于文件名输入,并且数据未发布到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55439731/

相关文章:

php - 使用正则表达式验证 ISBN 编号

mysql - Laravel 中不存在的地方

mySQL 复杂的 Join 和 evenually pivot

mysql - 将 BINARY 数据类型与 MySQL 中的二进制模式匹配

html - 在网页上多次显示一个图像文件 = 对同一文件的多个 http 请求?

php - 按另一个表中的帖子排序

java - 如何在 android studio 中从 mysql 数据库检索并显示用户详细信息?

php - 如何使用 PHP 和 MySQL 创建站点地图

css - 无法让 div 在调整大小时消失

javascript - 外部JS文件按钮调用