$_POST variables de ne pas travailler avec $_FILES et multipart/form-data

Problème: Chaque fois que je change le enctype sur mon formulaire HTML pour multipart/form-data, $_POST variables de ne pas le remplir dans mon script php. Les utilisateurs de télécharger des fichiers avec de remplir un formulaire, et l'upload de fichiers sur le serveur, mais le $_POST variables de ne pas le remplir.

Code:

Mon formulaire HTML qui recueille les données de texte/image.

index.php

<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>

Mon script php qui tente de mettre à jour ma base de données MySQL, ainsi que de charger mon fichier sur mon serveur Ubuntu est ci-dessous.

upload.php

<?php
$uploaddir = "/var/www/img/pictures/";
$uploadfile = $uploaddir . basename($_FILES['filebutton']['name']);
move_uploaded_file($_FILES['filebutton']['tmp_name'], $uploadfile);
if (isset($_POST['filebutton'])) {  
    $pictureUpdate = ", PICTURE_FILEPATH = '" . $_POST['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();

Ce que j'ai Essayé:
C'est la première fois de faire cela, alors je suis un peu freestyle ici parce que je n'arrive pas à obtenir que cela fonctionne.

  • Changé le enctype à application/x-www-form-urlencoded. Ni le $_POST ou $_FILE des données a montré dans le upload.php fichier.
  • Retiré application/x-www-form-urlencoded tout à fait. Quand je fais cela, mon $_POST des variables, mais mon fichier n'a pas de téléchargement.
  • Cochée, php.ini pour post_max_size. Après une recherche sur internet, j'ai rencontré un couple StackOverflow des sujets concernant des problèmes similaires. De ce que j'ai recueillies, si le fichier en essayant d'être téléchargé excède la valeur dans post_max_size, puis $_POST variables ne passera pas par. La valeur dans mon php.ini fichier pour post_max_size dit "8M", et le fichier de test de l'image téléchargée est 103 Kio.

Comment puis-je obtenir $_POST de données de travail, ainsi que le chargement d'un fichier à partir de la même forme?

  • vous n'avez pas d'action dans votre formulaire, puis comment c'est possible. Ou vous êtes à l'aide de jquery pour que
  • N'a pas d'action par défaut à l'URI en cours si elle n'est pas définie?
  • vierge action = url actuelle de sorte que vous voulez ACTION="upload.php"
  • Stirling si vous demandez alors ok, mais si vous dites que vous Pouvez le voir il y a deux fichiers index.php et upload.php
  • L'upload.php pourraient être inclus dans index.php pour tout ce que nous savons 😉
  • PAS inclure le code est montré à moi.merci
  • J'apprécie les commentaires. action de ne pas être ensemble ne semble pas être le problème; j'ai changé d'action pour pointer vers mon script php, et cela ne résout pas mon problème.
  • vous avez beaucoup d'erreurs de syntaxe et nous avons affaire à un fichier, pas un post de tableau.

InformationsquelleAutor aCarella | 2015-06-04