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

时间:2019-03-31 09:54:09

标签: php mysql html5

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>

1 个答案:

答案 0 :(得分:1)

在这里我可能是错的,因为我本人对PHP还是很陌生,但是我认为您需要将其包装在<form>标记中并设置Method="post"

因此它看起来像:

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

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