質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1131閲覧

$_FILESに入るはずのものが$_POSTに入ってしまう現象について

mandzuuuuweb

総合スコア2

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/11/03 12:06

前提・実現したいこと

PHPで、画像をドラッグ&ドロップできるプロフ画像登録フォームを作成しようとしています。

発生している問題・エラーメッセージ

画像データに関しては$_FILESに入ってくるはずなのですが、他の情報(ユーザーネームなど)と一緒に$_POSTに入ってしまいます(この際、パスはなく画像データの名前だけ入ってきます)。

        //現状=================         $_POST = array( [u_name] => koshi [email] => bz.tak.koshi@gmail.com [level_id] => 1 [MAX_FILE_SIZE] => 3145728 [pic] => user_prof01.jpeg )         $_FILES = Array( )          //本来やりたいこと         $_POST = array( [u_name] => koshi [email] => bz.tak.koshi@gmail.com [level_id] => 1 [MAX_FILE_SIZE] => 3145728 ) $_FILES = Array( [name] => user_prof01.jpeg [type] => image/jpeg [tmp_name] => /Applications/MAMP/tmp/php/phpyDEgSm [error] => 0 [size] => 803821 )

該当のソースコード

php

1<form action="" method="post" enctype="multipart/form-data"> 2 <div class="area-msg"> 3 <?php echo getErrMsg('common'); ?> 4 </div> 5 <div class="form-part"> 6 <label for="u_name"> 7 ニックネーム 8 </label> 9 <div class="area-msg"> 10 <?php echo getErrMsg('u_name'); ?> 11 </div> 12 <input type="text" name="u_name" id="u_name" value="<?php if( !empty(getFormData('u_name')) ){ echo getFormData('u_name'); } ?>"> 13 </div> 14 <div class="form-part"> 15 <label for="email"> 16 Email 17 </label> 18 <div class="area-msg"> 19 <?php echo getErrMsg('email'); ?> 20 </div> 21 <input type="email" name="email" id="email" value="<?php if( !empty(getFormData('email')) ){ echo getFormData('email'); } ?>"> 22 </div> 23 <div class="form-part"> 24 <label for="level_id"> 25 プレーヤーレベル 26 </label> 27 <div class="area-msg"> 28 <?php echo getErrMsg('level_id'); ?> 29 </div> 30 <select name="level_id" id="level_id"> 31 <!-- 省略 --> 32 </select> 33 </div> 34 <div class="form-part"> 35 <label for="pic"> 36 プロフィール画像 37 </label> 38 <div class="area-msg"> 39 <?php echo getErrMsg('pic'); ?> 40 </div> 41 <label class="area-drop"> 42 <input type="hidden" name="MAX_FILE_SIZE" value="3145728"> 43 <input type="file" name="pic" id="pic" class="input-file"> 44 <img src="<?php echo getFormData('pic'); ?>" alt="" class="prev-img" style="<?php if(empty(getFormData('pic'))) echo 'display:none;'; ?>"> 45 ドラッグ&ドロップ 46 </label> 47 </div> 48 49 <input type="submit" value="プロフィール変更" class="btn"> 50</form> 51

試したこと

先輩のポートフォリオサイトではほぼ同じコードで予定した動きができていました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

enctype="multipart/form-data"

の直前の空白文字が全角になっています。
半角に変更してください

投稿2021/11/04 00:21

yambejp

総合スコア116734

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mandzuuuuweb

2021/11/04 10:03

素早いご返答ありがとうございます!! そしてそんな初歩的なミスに気づかないなんて、、、お時間をとってコードを読んでいただきありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問