Okey讓用戶更改個人資料圖片時出現問題。如果我的愚蠢頭腦理解正確(我認爲),這是由於我的會話沒有更新......所以這是我的上傳文件,用戶可以將圖像文件上傳到數據庫,插入圖像並它工作正常但即使圖像在數據庫中更改我仍然看到舊的圖像時,我將它插入......只有當我註銷和登錄IM能夠看到新的畫面,在php中更新會話變量
- 有一些類型的方式,我可以更新我的會議,而用戶不會登錄在進程....?
- 這是由於我的會議不更新?
不知道是否有幫助,但這裏是我的代碼
<?php
if(isset($_FILES['file']))
{
move_uploaded_file($_FILES['file']['tmp_name'],'files/'.$_FILES['file']['name']);
session_start();
$username = $_SESSION['user'];
$userpic = 'files/'.$_FILES['file']['name'];
$id = $_SESSION['id'];
include ("connect.php");
$sql = $con->prepare('UPDATE users SET username=?, userpic=? WHERE id = ?');
$sql->bind_param("ssi",$username,$userpic,$id);
$sql->execute();
$sql->close();
$con->close();
echo '<div id = "check"> Your image was succesfully uploaded</div>';
}
else{
echo "no files";}
?>
這裏是我的登陸,如果這使得它更容易,以及:
<?php
include('connect.php');
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM users";
$result = $con->query($query);
while($row = $result->fetch_object())
{
if($username == $row->username)
{
$checkPassword = password_verify($password,$row->password);
if($checkPassword){ // betyder om det är sant
session_start();
$_SESSION['loggedIn'] = true;
$_SESSION['user'] = $row->username;
$_SESSION['admin'] = $row->admin;
$_SESSION['userpic'] = $row->userpic;
$_SESSION['id'] = $row->id;
header("Location:music.php?success");
exit();
$fail = false;
}
}
else{
$fail = true;
if($fail){
echo "<script>
alert('You typed in wrong password or username, please try again mate!');
window.location.href='music.php';
</script>";
}
}
}?>
任何幫助超過讚賞更多但請儘量保持簡單即時蠢
成功上傳圖片後,您需要更改'$ _SESSION ['userpic'] = $ row-> userpic;'變量值。 –
當用戶更新圖像...首先你需要取消鏈接文件夾中的現有圖像,並更新會話值與新的圖像值,因爲HTML已經加載,然後通過ajax你需要更新圖像src與新的.....其他直到用戶不註銷或刷新圖像不會改變。 – Naincy
它應該是'$ _SESSION ['userpic'] = $ userpic;'你什麼時候更新用戶表。也按照@Naincy提到的方式取消了舊圖片的鏈接。 –