использование переменной формы со сценарием загрузки файла
Вопрос
Я использую эту форму в качестве формы загрузки файла (как часть более крупного PHP-скрипта, $pk на самом деле очищается):
<?php
if (isset($_GET["pk"]))
{ $pk = $_GET["pk"];}
echo '<form action="up.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<input type="hidden" name="pk" value="$pk">
<br />
<input type="submit" name="submit" value="Submit" />
</form>';
?>
Я использую следующий (чрезвычайно урезанный) код для обработки загрузки.Любые синтаксические ошибки являются результатом использования табулятора.
<?php
if (isset($_GET["pk"])) {
$pk = $_GET["pk"];
}
$con = mysqli_connect("localhost","x","x", "x");
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
move_uploaded_file($_FILES["file"]["tmp_name"],
"./" . $_FILES["file"]["name"]);
echo "Stored in: " . "./" . $_FILES["file"]["name"];
$fileQuery = "INSERT INTO FILES VALUES (?, ?)";
if ($fileInsert = $con->prepare($fileQuery)) {
$fileInsert->bind_param("ss", $pk, $_FILES["file"]["name"]);
$fileInsert->execute();
$fileInsert->close();
} else {
print_r($con->error);
}
?>
Что я хотел бы знать, так это как мне получить доступ к $pk.Он уже передан в код обработки с формой?
Решение
Предположение: $pk
не установлено.
Поэтому попробуйте использовать $_REQUEST['pk']
вместо _GET
Кроме того, одинарные кавычки в вашем echo не будут оценивать $pk.Изменить
input type="hidden" name="pk" value="$pk"
к
input type="hidden" name="pk" value="' . $pk . '"
Здоровья, Т.
Другие советы
$_POST['pk']
но ты увидишь $pk
Я думаю, потому что вы используете одинарные кавычки для повторения строки.
Не связан с StackOverflow