sql >> Database >  >> RDS >> Mysql

$_POST variabelen werken niet met $_FILES en multipart/form-data

Je hoeft alleen maar je bestandsdingen naar je if-statement te verplaatsen en $_POST['filebutton'] te wijzigen naar $_FILES['filebutton']

Telkens wanneer u een bestand uploadt, worden de bestanden ingevuld in de $_FILES globale variabele, en de andere velden worden ingevuld in de $_POST globale variabele.

<?php
$uploaddir = "/var/www/img/pictures/";
if (isset($_FILES['filebutton'])) {  
    $uploadfile = $uploaddir . basename($_FILES['filebutton']['name']);
    move_uploaded_file($_FILES['filebutton']['tmp_name'], $uploadfile);
    $pictureUpdate = ", PICTURE_FILEPATH = '" . $_FILES['filebutton'] . "'";
} else {
    $pictureUpdate = "";
}
$connection = mysqli_connect("1.2.3.4","xxxx","xxxx","xxxx") or die("Caonnot connect to database.");
$update = "UPDATE table SET COLUMN1='" . $_POST['text1'] . "', COLUMN2='" . $_POST['text2'] . "' . $pictureUpdate . " where COLUMN3 = " . $_POST['text1'] . " ";
$update_sql = mysqli_query($connection, $update) or die("Cannot connect to mysql table. ". $update);
header("Location: " . $_SERVER['REQUEST_URL'] . "?success=1");
exit();

probeer deze code en kijk wat het voor je doet, als dit werkt en de andere niet, dan betekent dat dat er meer aan je code is die we nodig hebben om het probleem op te lossen.

<form name="myForm" METHOD="POST" ACTION="" enctype="multipart/form-data">
  <input type="text" name="text1" id="text1">
  <input type="text" name="text2" id="text2">
  <input type="file" name="filebutton" id="filebutton">
  <input type="submit" name="submit" id="submit">
</form>
<xmp><?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { var_dump($_FILES, $_POST); } ?></xmp>
array(1) {
  ["filebutton"]=>
  array(5) {
    ["name"]=>
    string(21) "scanParser.properties"
    ["type"]=>
    string(24) "application/octet-stream"
    ["tmp_name"]=>
    string(14) "/tmp/phpRm1Ytp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(264)
  }
}
array(3) {
  ["text1"]=>
  string(1) "1"
  ["text2"]=>
  string(1) "2"
  ["submit"]=>
  string(6) "Submit"
}



  1. SQL voegt meerdere waarden van kolom samen in één cel

  2. Wat is het gebruik van SQL GROUP BY-instructie?

  3. MYSQL Hoe twee woorden in een zin te matchen

  4. Overeenkomen met dichtstbijzijnde lengte-/breedtegraad