2012-03-22 164 views
1

在構建社交網絡時,我使用php會話來允許信息留在頁面上,當用戶轉到另一個頁面時,然而當mysql腳本更新一個值時。它確實反映了所做的更改,除非用戶註銷並重新登錄。任何想法?php會話和mysql更新

謝謝。 。 。

<?php 

session_start(); 

$login_email = $_SESSION['email'] ; 
$login_pass = $_SESSION['pass'] ; 

$target_path = "pictures/"; 

$target_path = $target_path . basename($_FILES['file']['name']); 

if (move_uploaded_file($_FILES['file']['tmp_name'], $target_path) and 

    $con = mysql_connect("localhost","root","naruto") and 

    mysql_select_db("users", $con) and 

    mysql_query (" UPDATE user_info SET profile_pic = ' $target_path ' WHERE email = '$login_email' AND password1 = '$login_pass' ")) { 

     session_destroy(); 

     include 'login.php'; 

     session_start(); 

if ($login_email == $_SESSION['page_email'] && $login_pass == $_SESSION['page_pass ']){  


     header ('location:home.php'); 

} else{ 

    echo "There was an error uploading the file, please try again!"; 
} 

    } 



?> 

$ _SESSION [ 'PAGE_EMAIL'] $ _SESSION [ 'page_pass']

+0

什麼是「不反映這些變化」的意思? – mithunsatheesh 2012-03-22 03:58:36

+1

您正在比較'$ _SESSION ['email']'到'$ _SESSION ['page_email']'和'$ _SESSION ['pass']'到'$ _SESSION ['page_pass']'並且如果它們不匹配,則表示上傳失敗?這對我來說沒有任何意義。 – AndrewR 2012-03-22 04:07:55

+0

我的意思是更新數據庫不會更新頁面,這是顯示頁面上圖片的$ _session ['profile_pic'],除非用戶註銷並重新登錄。 。 。 – 2012-03-24 05:09:54

回答

0

這將取決於你如何顯示在用戶的頁面上的個人資料照片。如果是通過存儲的會話,我建議你創建一個函數返回一個用戶信息存儲在$ _SESSION,並調用每個用戶配置文件更新

mysql_query (" UPDATE user_info SET profile_pic = ' $target_path ' WHERE email = '$login_email' AND password1 = '$login_pass' ")) { 

    session_destroy(); 

    include 'login.php'; 

    session_start(); 
    $_SESSION['user'] = get_user_info(); // your new function to return user info 
+0

是的我同意你的意見,但是我對PHP有點新鮮感,所以我對如何做到這一點有了一個想法,但是如果可以的話,它會很棒給我更多關於如何編寫這樣一個函數的見解,get_user_info(),我試着寫這個,但是它沒有很好地工作,在此先感謝。 。 。 。 – 2012-03-24 05:24:03