未定义的索引错误 - 图片上传相同的代码正在处理另一个示例
undefined index error - image upload same code is working with another example
使用 php 上传的图片由于某种原因无法正常工作,这里有人可以解决问题吗?
HTML代码:
<td>Business Image<br><td> <input type="file" name="photo">
<td><input id="button" type="submit" name="submit" value="Setup"></td>
MYSQL:
Table table markers
的结构
CREATE TABLE IF NOT EXISTS `markers` (
`id` int(11) NOT NULL,
`name` varchar(60) NOT NULL,
`phone` int(100) NOT NULL,
`address` varchar(80) NOT NULL,
`email` varchar(100) NOT NULL,
`link` varchar(200) NOT NULL,
`lat` float(10,6) NOT NULL,
`lng` float(10,6) NOT NULL,
`type` varchar(30) NOT NULL,
`days` varchar(100) CHARACTER SET utf8 NOT NULL,
`openingHours` varchar(255) NOT NULL,
`img` blob NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=51
PHP代码
<?php
include ("../Connections/Connection.php");
if (isset($_POST["submit"])) {
$name = $_POST["name"];
$type = $_POST["type"];
$address = $_POST["address"];
$email = $_POST["email"];
$phone = $_POST["phone"];
$link = $_POST["link"];
$lng = $_POST["lng"];
$lat = $_POST["lat"];
$days = implode(";", $_POST['days']);
$openingHours = implode(";", $_POST['openingHours']);
$img = time().$_FILES['photo']['name'];
if (!move_uploaded_file($_FILES['photo']['tmp_name'],'../Uploads/'.$img)) die("error");
$sql = "INSERT INTO markers (name, type, address, email, phone, link, lng, lat, days, openingHours, img)
VALUES('$name', '$type', '$address', '$email', '$phone', '$link', '$lng', '$lat', '$days', '$openingHours', '$img')";
$query = mysql_query($sql);
if (!$query) {
die("Error : " . mysql_error());
}
if (empty($name) || empty($type) || empty($address) || empty($email) || empty($phone) || empty($lng) || empty($lat) || empty($days) || empty($openingHours) || empty($img)) {
echo "You did not fill out the required fields.";
die(); // Note this
}
echo "<center></center>";
}
?>
没有上传文件按钮也能完美运行..但是当我添加照片字段时,我得到了:
注意:未定义索引:第56行C:\xampp\htdocs\Final\BackEnd\ShopSetup.php中的照片
注意:未定义索引:第57行C:\xampp\htdocs\Final\BackEnd\ShopSetup.php中的照片
错误
这很长,但我无法缩短解释
上传文件数据时,您需要将 <form>
元素的编码设置为 multipart,例如:
<form action="upload.php" method="post" enctype="multipart/form-data">
使用 php 上传的图片由于某种原因无法正常工作,这里有人可以解决问题吗?
HTML代码:
<td>Business Image<br><td> <input type="file" name="photo">
<td><input id="button" type="submit" name="submit" value="Setup"></td>
MYSQL:
Table table markers
的结构
CREATE TABLE IF NOT EXISTS `markers` (
`id` int(11) NOT NULL,
`name` varchar(60) NOT NULL,
`phone` int(100) NOT NULL,
`address` varchar(80) NOT NULL,
`email` varchar(100) NOT NULL,
`link` varchar(200) NOT NULL,
`lat` float(10,6) NOT NULL,
`lng` float(10,6) NOT NULL,
`type` varchar(30) NOT NULL,
`days` varchar(100) CHARACTER SET utf8 NOT NULL,
`openingHours` varchar(255) NOT NULL,
`img` blob NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=51
PHP代码
<?php
include ("../Connections/Connection.php");
if (isset($_POST["submit"])) {
$name = $_POST["name"];
$type = $_POST["type"];
$address = $_POST["address"];
$email = $_POST["email"];
$phone = $_POST["phone"];
$link = $_POST["link"];
$lng = $_POST["lng"];
$lat = $_POST["lat"];
$days = implode(";", $_POST['days']);
$openingHours = implode(";", $_POST['openingHours']);
$img = time().$_FILES['photo']['name'];
if (!move_uploaded_file($_FILES['photo']['tmp_name'],'../Uploads/'.$img)) die("error");
$sql = "INSERT INTO markers (name, type, address, email, phone, link, lng, lat, days, openingHours, img)
VALUES('$name', '$type', '$address', '$email', '$phone', '$link', '$lng', '$lat', '$days', '$openingHours', '$img')";
$query = mysql_query($sql);
if (!$query) {
die("Error : " . mysql_error());
}
if (empty($name) || empty($type) || empty($address) || empty($email) || empty($phone) || empty($lng) || empty($lat) || empty($days) || empty($openingHours) || empty($img)) {
echo "You did not fill out the required fields.";
die(); // Note this
}
echo "<center></center>";
}
?>
没有上传文件按钮也能完美运行..但是当我添加照片字段时,我得到了:
注意:未定义索引:第56行C:\xampp\htdocs\Final\BackEnd\ShopSetup.php中的照片
注意:未定义索引:第57行C:\xampp\htdocs\Final\BackEnd\ShopSetup.php中的照片 错误
这很长,但我无法缩短解释
上传文件数据时,您需要将 <form>
元素的编码设置为 multipart,例如:
<form action="upload.php" method="post" enctype="multipart/form-data">