1

言語: PHP / MySQL

ページに非表示の入力があるフォームがあります。これらの入力からのデータを別のページに転送してから、データベースに挿入します。

フォーム内の入力は次のとおりです。

  • コピーされた_ファイル名[]
  • コピーされた_url[]
  • コピーされたユーザー ID[]

ユーザーが複数のファイルを添付する場合があるため、これらは配列になるように設定されています。

<input type="hidden" id="copied_filename" name="copied_filename[]" value="<?php echo $img->filename; ?>" />
<input type="hidden" id="copied_url" name="copied_url[]" value="<?php echo $img->url; ?>" />
<input type="hidden" id="copied_userid" name="copied_userid[]" value="<?php echo $current_user->id; ?>" />

データが受信される 2 ページ目では、次のように処理します。

    if (empty($_POST["copied_filename"])) {
    WHAT IT DOES WHEN THERE ARE NO ATTACHED FILES
    }

    else {
    $copied_filename = $_POST["copied_filename"];
    $copied_url = $_POST["copied_url"];
    $new_sessionid = $_POST['session_id'];


    foreach ($_POST["copied_filename"] as $copied_file) {
        $sql = "INSERT INTO ".$wpdb->prefix."estimate_images (code, url, filename, session_id, user_id) VALUES ('".$code."', '".$copied_url."', '".$copied_file."','".$new_sessionid."', '".$current_user->id."')";
        $wpdb->query($sql);

    }

ファイル名には問題なく機能しますが、データベースに挿入されている URL は「配列」という単語です...

私はそれが foreach 形式であると確信していますが、私は困惑していて、それを修正する方法がわかりません。

お時間をいただきありがとうございました。

4

4 に答える 4