2013-02-24 56 views
0

我正在研究一個腳本,需要用戶驗證他們的帳戶(從另一個網站,而不是我自己的網站)。一旦用戶輸入正確的登錄信息,並登錄服務器響應回到我的腳本,它顯示的用戶名作爲VAR顯示從Javascript到PHP顯示

" + usernameUrl + " 

這是規定值的腳本的一部分。

var usernameUrl = encodeURIComponent(username); 

我需要它放入一個文件上傳腳本,這將允許用戶在上傳圖片爲.png和只有自己的用戶名,沒有一個別人的。不過,我已經有了該腳本,我只需要知道如何將其添加到腳本本身。需要更改的行是...

move_uploaded_file($_FILES["file"]["tmp_name"], $path."/"<USERNAME>".png"); 

如果我需要提供更多信息,請讓我知道。 :d

多個代碼,他們可能會或可能不會幫助這個問題

document.getElementById("spanServerResponse").style.display = "inline"; 
    var loginName = document.getElementsByName("loginName")[0].value; 
    var loginNameUrl = encodeURIComponent(loginName); 
    document.getElementById("spanClientLogin").style.display = "none"; 

    var username = parts[2]; 

    //alert("Username: " + username + "\nSessionId: " + sessionId); 

    var usernameUrl = encodeURIComponent(username); 
    var sessionIdUrl = encodeURIComponent(sessionId); 
    var serverHash = "123"; 
    var urlStr = "http://domain.tld/test.jsp?user=" + usernameUrl + "&sessionId=" + sessionIdUrl + "&serverId=" + serverHash; 
+0

PHP永遠不會直接訪問Javascript變量。將JavaScript中的值傳遞給PHP的最簡單方法是將結果存儲在cookie中。但PHP只能在頁面(重新)加載時訪問它們。 – 2013-02-24 18:47:03

回答

0

您可以通過AJAX發送varaible並將其保存在會話中。使用jQuery:

$.get('save_var.php', {username: username}, function() { 
    // you can now upload a file 
}); 

save_var.php應該是:

<?php 
session_start(); 
$_SESSION['username'] = $_GET['username']; 

?> 

,你會得到從會話的用戶名在您的上傳腳本

move_uploaded_file($_FILES["file"]["tmp_name"], $path."/" . $_SESSION['username'] . ".png"); 

也許你會需要Ajax調用之前啓動會議在具有JavaScript代碼的同一個php文件中。