0

ユーザーが自分のアカウントを検証する必要があるスクリプトに取り組んでいます (自分の Web サイトではなく、別の Web サイトから)。ユーザーが正しいログイン情報を入力し、ログイン サーバーがスクリプトに応答すると、ユーザー名が次のように表示されます。

" + 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;
4

1 に答える 1

0

その変数をajax経由で送信し、セッションに保存できます。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");

たぶん、javascriptコードを持つ同じphpファイルでajaxを呼び出す前にセッションを開始する必要があります。

于 2013-02-24T19:05:19.217 に答える