PHP个人资料图片更改

时间:2017-11-05 17:21:09

标签: javascript php html

我有一些代码可以改变我的个人资料图片,但这不是正在发生的事情。我收到了3条通知,但我收到的回声声明表明个人资料图片已被更改。配置文件图片将保存到images文件夹中,但不会保存到数据库中,也不会更改配置文件图片。请帮帮我。

profile.php:

<form id="form2" action="upload.php" method="post" enctype="multipart/form-data">
  <p id="p1">Change profile picture:</p> <br />
  <input type="file" name="fileToUpload" id="fileToUpload"><br />
  <br><input id="sub1" type="submit" value="Change profile picture" name="change"><br />
</form>

<!-- Trigger the Modal -->
<img id="myImg" src="default.png" width="200" height="150">

<!-- The Modal -->
<div id="myModal" class="modal">

  <!-- The Close Button -->
  <span class="close" onclick="document.getElementById('myModal').style.display='none'">&times;</span>

  <!-- Modal Content (The Image) -->
  <img class="modal-content" id="img01">

  <!-- Modal Caption (Image Text) -->
  <div id="caption"></div>
</div>
<script>
  // Get the modal
  var modal = document.getElementById('myModal');

  // Get the image and insert it inside the modal - use its "alt" text as a caption
  var img = document.getElementById('myImg');
  var modalImg = document.getElementById("img01");
  var captionText = document.getElementById("caption");
  img.onclick = function() {
    modal.style.display = "block";
    modalImg.src = this.src;
    captionText.innerHTML = this.alt;
  }

  // Get the <span> element that closes the modal
  var span = document.getElementsByClassName("close")[0];

  // When the user clicks on <span> (x), close the modal
  span.onclick = function() {
    modal.style.display = "none";
  }
</script>

upload.php的:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

include("connect.php"); 
include("auth_login.php"); 

$target_dir = "images/uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

// Check if image file is a actual image or fake image

if(isset($_POST["change"])) {

move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file);
$sql = "UPDATE users SET userPic = '".$_FILES['fileToUpload']['name']."' WHERE username = '" . $username . "'";

if($check !== false) {
echo "<a href = profile.php> Profile pciture has been changed </a>" . 
 $check["mime"] . ".";
$uploadOk = 1;

} else {
echo "File is not an image.";
$uploadOk = 0;
}
}

通告

注意:未定义的变量:用户名

注意:未定义的变量:检查

注意:未定义的变量:检查

1 个答案:

答案 0 :(得分:0)

你声明一个带有sql脚本的变量$ sql。但是没有提到该变量的执行。 像

这样的东西

$check= $conn->query($sql);

参考:https://www.w3schools.com/php/php_mysql_update.asp