Это моя формаЗагрузить изображение в файл и информацию базы данных MySQL
<h3>Add Image</h3>
<form action="datauploadprocess.php" enctype="multipart/form-data" name="myForm" id="myForm" method="post">
Subject: <input name="subject" type="text" id="subject" /><br />
Content: <input name="content" type="text" id="content" /><br />
Image Name: <input name="imageName" type="text" id="imageName" /><br />
Upload Image (jpg only):
<label>
<input type="file" name="fileField" id="fileField" />
</label>
<label>
<input type="submit" name="button" id="button" value="Add Photo" />
</label>
</form>
и мой процесс ...
<?php include "header.php";?>
<?php
//Parser for Add Photo Form
if (isset($_POST["subject"], $_POST["content"], $_POST["imageName"])){
$subject = mysqli_real_escape_string ($con, isset ($_POST["subject"]));
$content = mysqli_real_escape_string ($con, isset ($_POST["content"]));
$imageName = mysqli_real_escape_string ($con, isset ($_POST["imageName"]));
//add photo to db
$sql = mysqli_query($con, "
INSERT INTO
Blog (
subject,
content,
imageName
)VALUES(
'$subject',
'$content',
'$imageName')")
or die(mysqli_error($con));
$pid = mysqli_insert_id();
$newname = "$pid.jpg";
move_uploaded_file($_FILES['fileField']['tmp_name'],"blogPhotos/$newname");
header("location: datauploadprocess.php");
exit();
}
?>
<?php include"footer.php"?>
Он работает без ошибок, но в базе данных значений для субъекта, содержимое и имя изображения отображаются как «1» каждый раз. Также изображение не добавляется в папку. Мое соединение включено в в правильном формате.
Отредактировано 15:45 Проблема с содержимым, содержимым и изображением теперь решена, но изображение по-прежнему не загружается в указанный файл. Новый код процесса;
//Parser for Add Photo Form
if (isset($_POST["subject"], $_POST["content"], $_POST["imageName"])){
$subject = mysqli_real_escape_string ($con, ($_POST["subject"]));
$content = mysqli_real_escape_string ($con, ($_POST["content"]));
$imageName = mysqli_real_escape_string ($con, ($_POST["imageName"]));
Update ... мне не хватает информации о подключении к линии
$pid = mysqli_insert_id();
Это должно быть
$pid = mysqli_insert_id($con);
Все работает.
Вы пытались распечатать var перед выполнением запроса, чтобы узнать, как это значение? – Goikiu
«1» по дизайну, поскольку вы используете 'isset ($ _POST [" subject "])' вместо просто '$ _POST [" subject "]'? –