- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为登录的用户创建一个用户个人资料更新页面,以编辑他们的姓名、电子邮件和个人资料图片。我已成功更新文本,但无法使图片更新正常工作。没有产生错误,但数据库中的字段从空变为“”(空白)。我在下面粘贴了我的更新帐户页面代码,如果您能帮助我找出问题所在,我们将不胜感激!
<?php require 'Assets/Connections/Connections.php'; ?>
<?php session_start();
if(isset($_SESSION["UserID"])){
}else{
header('Location: LogIn.php');
die();
}
?>
<?php
$User = $_SESSION["UserID"];
$result = $con->query("SELECT * FROM user WHERE UserID ='$User'");
$row = $result->fetch_array(MYSQLI_BOTH);
$_SESSION["FirstName"] = $row['Fname'];
$_SESSION["LastName"] = $row['Lname'];
$_SESSION["Email"] = $row['Email'];
$_SESSION["PW"] = $row['Password'];
#$_SESSION["Picture"] = $row['ProfilePicture'];
?>
<?php
if(isset($_POST['Update'])){
$UpdateFName = $_POST['FirstName'];
$UpdateLName = $_POST['LastName'];
$UpdateEmail = $_POST['Email'];
$UpdatePassword = $_POST['Password'];
$StorePassword = password_hash($UpdatePassword, PASSWORD_BCRYPT, array('cost' => 10));
move_uploaded_file($_FILES['file']['tmp_name'], 'Assests/Images/'.$_FILES['file']['name']);
#move_uploaded_file($_FILES['file']['tmp_name'],"Assets/Images/".$_FILES['file']['name']);
$sql = $con->query("UPDATE user SET Fname = '{$UpdateFName}', Lname = '{$UpdateLName}', Email = '{$UpdateEmail}', Password = '{$StorePassword}', ProfileImage = '".$_FILES['file']['name']."' WHERE UserID = $User");
header('Location: Account.php');
die();
}
?>
<!doctype html>
<html>
<head>
<link href="Assets/CSS/Master.css" rel="stylesheet" type="text/css" />
<link href="Assets/CSS/Menu.css" rel="stylesheet" type="text/css" />
<meta charset="utf-8">
<title>Update Account</title>
</head>
<body>
<div class="Container">
<div class="Header"></div>
<div class="Menu">
<div id="Menu">
<nav>
<ul class="cssmenu">
<li><a href="Home.php">Home</a></li>
<li><a href="Account.php">Account</a></li>
<li><a href="Projects.php">Projects</a></li>
<li><a href="Users.php">Users</a></li>
<li><a href="LogOut.php">LogOut</a></li>
</ul>
</nav>
</div>
</div>
<div class="LeftBody"></div>
<div class="RightBody">
<form id="form1" name="form1" method="post">
<div class="FormElement">
<input name="FirstName" type="text" class="TField" id="FirstName" value="<?php echo $_SESSION["FirstName"]; ?>">
</div>
<div class="FormElement">
<input name="LastName" type="text" class="TField" id="LastName" value="<?php echo $_SESSION["LastName"]; ?>">
</div>
<div class="FormElement">
<input name="Email" type="email" class="TField" id="Email" value="<?php echo $_SESSION["Email"]; ?>">
</div>
<div class="FormElement">
<input name="Password" type="password" class="TField" id="Password" placeholder="Password" required="requried">
</div>
<div class="FormElement" action="" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<br><br>
</div>
<div class="FormElement">
<input name="Update" type="submit" class="button" id="Update" value="Submit Changes">
</div>
</form>
</div>
<div class="Footer"></div>
</div>
</body>
</html>
最佳答案
你的表单元素需要enctype="multipart/form-data"
来上传文件
你的表单标签是
<form id="form1" name="form1" method="post" enctype="multipart/form-data">
从你的 div
中删除 action=""method="post"enctype="multipart/form-data"
<div class="FormElement" action="" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<br><br>
</div>
这些是表单元素。你在你的表格中提到这些东西
<div class="FormElement">
<input type="file" name="file">
<br><br>
</div>
阅读form
关于PHP + MySQLi - 尝试使用 enctype ="multipart/form-data"将图像上传到本地主机数据库中的用户行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34854019/
我在表单帖子中遇到了土耳其语字符问题, 我在尝试以下代码时遇到问题, // some input 但是当我尝试这个时它工作正常 // some input 为什么会这样? 最佳答案 在第一个示
用于表单的属性 enctype 是什么? 最佳答案 它用于指定用于请求的内容类型。 html 表单中使用了 2 种内容类型:application/x-www-form-urlencoded这是默认
我试图编辑我商店中的产品。根据要求,缺少 $request->file('image'); 我在下面附上源代码,我真的不知道为什么我在请求中没有收到图片,因为我认为我所做的是正确的 我的表格: id)
现在我知道上传文件表单是使用 ENCTYPE="multipart/form-data。但是当我们想通过 php 文件将表单数据传输到 mysql 时,enctpe=""应该是什么? 我们可以使用
我有 2 个普通文本字段和 1 个要解析的上传字段。 Apache Tomcat FileUpload page 中建议的 getFieldName();似乎只得到 input html 标签的名称属
这个问题在这里已经有了答案: How can I upload files asynchronously with jQuery? (34 个答案) 关闭 9 年前。 我有这个 Js/Ajax 代码
大多数时候,文件上传错误的根源是我们忘记在 HTML 表单中添加 enctype 属性。 一般情况下,我们不需要为常规请求添加enctype属性。但是,我们确实需要在上传文件时将此添加到 HTML 表
我正在创建自定义帖子类型的音乐。 function layzend_admin_music_init() { add_meta_box("layzend_music_information-met
我有以下表格: 然后,我想在提交到 firefox addon observer 之前捕获变量值。请注意,表单没有属性:enctype="multipart
如何向 FormData() 对象添加 enctype 属性? 我正在构建一个发送数据和文件的 FormData() 对象。但是,尽管向 xhr 请求添加了 Content-Type header ,
我有 html 页面,其中包含 3 个文件输入和 3 个文本输入。如果我在 jsp 页面中使用 enctype = multipart/form-data 我无法获取测试输入表单字段。这些值始终显示为
我想将多个文件上传到 Controller ,但它只上传了一个。 我正在使用 multipart 进行文件传输。如何将多个文件获取到 Controller 端。我无法访问字节和文件名。它的抛出错误,
这是我发出 POST 请求的代码: function post(path, params, method) { method = method || "post"; // Set method t
通过更改,我发现 django 管理界面始终使用 enctype="multipart/form-data"。 我想采用这种模式,但我不确定我是否看到了这带来的所有后果。 为什么不总是使用 encty
我有这个提交我的表单数据的 jquery 代码: $(document).ready(function(){ $("#message").hide(); $("#please_wait_box").
用于 HTML 表单。我很困惑,我正在尝试设置 enctype='application/octet-stream' 但服务器收到内容类型 ='application/x-www-form-urlen
在构建 HTML 表单时,为什么我们不总是使用 enctype="multipart/form-data"? 最佳答案 multipart/form-data 比 application/x-www-
为什么是将文件上传到网络服务器时需要吗? 最佳答案 它与浏览器如何打包二进制和表单数据以通过 HTTP 传输有关。默认情况下只发送表单数据,但如果表单需要支持上传文件,则还必须附加二进制数据并将其与表
我找到了防止 xss 攻击的下一个代码。但它有一个问题。它适用于具有 enctype="application/x-www-form-urlencoded" 的表单,但不适用于具有 enctype="
我正在使用 Angular 的 $resource 来上传文件。我需要将编码设置为 mulipart/form-data,但无论如何我都找不到在 $resource 中设置 enctype。 这可能吗
我是一名优秀的程序员,十分优秀!