2013-02-24 30 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文件中。