0

はじめに、はい、このトピックに関連する他のすべての Stack Overflow の質問を読みましたが、どれも解決策を提供してくれませんでした。そのうちの 1 つは有望なリンクを持っていましたが、それは死にかけていました。どうやら、swfupload フォーラム全体はもう存在しないようです。

もちろん、私の問題は、アップロードを処理してMySQLデータベースに行を挿入する実際のPHPにセッション変数を渡すことに関連しています。その SQL 行の 2 つのフィールドは、ログインしているユーザーからのセッション変数です。

ドキュメントと他のスレッドから読んだ内容に基づいて、これが私のコード (または関連部分) です。

これは、メインのアップロード ページからの私の JavaScript コードです。他にもありますが、これが関連するものです。このコードは$content、テンプレート関数で使用する変数の一部であるため、PHP 構文です。ブラウザでこのコードをチェックすると、正しい値がレンダリングされることに注意してください。

var swfu;

window.onload = function() {
    var settings = {
        flash_url : "js/swfupload/swfupload.swf",
        upload_url: "process_upload.php",
        post_params: {
            "user_id" : "'.$_SESSION['user_id'].'",
            "school_id" : "'.$_SESSION['school_id'].'"
        },
        file_size_limit : "1000 MB",
        file_types : "*.wmv; *.mpg; *.avi; *.vob; *.mov; *.m4v; *.mpeg; *.mkv; *.flv; *.3gp",
        file_types_description : "All Files",
        file_upload_limit : 10,

今、これを行うと、私のprocess_upload.phpファイルで:

$user_id = $_POST['user_id'];
$school_id = $_POST['user_id'];

次に、これらの変数をクエリで使用します。

mysql_query("INSERT INTO table SET name='".$file_name."', school_id='".$school_id."', user_id='".$user_id."'") or die(mysql_error());

クエリは成功し、データベースにエントリを取得しましたが、エントリが入力されずuser_idschool_idエラー ログに Undefined Index エラーがその行に表示されます。

4

1 に答える 1

0

どうやら私が見逃しているのは、process_upload ページのセッション ID です。だから私はこれをしました、そしてそれは今私のセッション値を持っているようです.

アップロードページ:

        post_params: {
            "PHPSESSID" : "'.session_id().'",
            "user_id" : "'.$_SESSION['user_id'].'",
            "school_id" : "'.$_SESSION['school_id'].'"
        },

プロセスページ:

if (isset($_POST["PHPSESSID"])) {
    session_id($_POST["PHPSESSID"]);
} else if (isset($_GET["PHPSESSID"])) {
    session_id($_GET["PHPSESSID"]);
}

session_start();

$user_id = $_POST['user_id'];
$school_id = $_POST['school_id'];

次に、これらの変数をクエリで使用すると、すべて問題ありません。

于 2012-07-01T00:27:32.320 に答える