php - 允许用户导入文件的页面不起作用 - PHP
问题描述
我正在尝试开发一个页面,让用户导入 JSON 文件并将他重定向到显示文件信息的主页。我做了这个页面,它与数据库没有连接,页面保持静态,而且我得到这个警告: Invalid argument provided for foreach() in C:\xampp\htdocs\stsbootstrap\import.php on line 36 注意:未定义的索引:第 32 行 C:\xampp\htdocs\stsbootstrap\import.php 中的 samplefile.json 注意:第 33 行 C:\xampp\htdocs\stsbootstrap\import.php 中的未定义索引:samplefile.json 我有点迷路了关于我第一次做这件事时我做错了什么,我正在处理 PHP 文档。有什么想法吗?
$serverName = "localhost";
$username ="";
$password="";
$dbName = "sts";
try {
$conn = new PDO("mysql:host=$serverName; dbname=$dbName", $username, $password);
}
catch (PDOException $e){
$errorInfo= $e->errorInfo;
echo "Database error " . $errorinfo[1];
}
//importing file
if(isset($_POST['buttonImport'])) {
copy($_FILES['jsonFile']['tmp_name'], 'uploads/'.$_FILES['jsonFile']['samplefile.json']);
$data = file_get_contents('uploads/'.$_FILES['jsonFile']['samplefile.json']);
$ticket = json_decode($data);
foreach ($ticket as $ticket) {
$stmt=('INSERT INTO
tickets(subject, description, team, status) VALUES(:subject, :description, :team, :status)');
$stmt = $conn->prepare($stmt);
$stmt->bindValue('subject', $ticket->subject);
$stmt->bindValue('description', $ticket->description);
$stmt->bindValue('team', $ticket->team);
$stmt->bindValue('status', $ticket->status);
$stmt->execute();
echo "Your upload was successful!";
header ('home.php');
}
}
?>
<body>
<form method="post" enctype="multipart/form-data" style="padding: 0 16px;">
Please upload a JSON file here:</br><input type="file" class="btn btn-light"
name="jsonFile">
<br>
</br>
<div class="form-group row">
<div class="offset-sm-2 col-sm-10">
<input type="submit" value="Import" name="buttonImport" class="btn btn-primary"/>
</div>
</div>
</form>
</body>
Here's my database too:
解决方案
推荐阅读
- python - 'int'对象没有属性访问多值django时出错
- angular - 如何检查:用户是否使用 angular-6-social-login npm 包登录?
- python - PyGame 不显示窗口(MacOS Catalina)
- node.js - 使用 Gmail OAuth2 的 Nodemailer - 服务帐户 - 无效请求错误
- python - 修改 Python 函数
- extjs - ExtJS 6/7 - 带有标签字段编辑器的单元格在编辑后被标记为脏,即使值不变
- python - 如果不满足条件,则删除组中的所有行
- excel - 如何将此 VBA 代码应用于两个指定的工作表?
- javascript - 如何在多个 HTML 页面之间共享 Javascript 类
- reactjs - 反应高阶功能以插入随机图像在重新渲染时不起作用