フォーム作成時、inputのnameに予約語を使うと404になる

IMG_2141

先日からカスタマイズで会員サイトの新規ユーザー登録、ユーザー情報変更、掲示板投稿などの画面をフォームで作成しててはまったのでメモ

仕様は

  • フォームで情報を入力後確認ボタンを押すと確認画面が表示または登録される。
  • PHPファイルは1つ。
  • POSTで入力されたデーターを渡す。
  • 当然ですが、1ファイルでやるのでSubmit後は同じページが表示される。

と言う内容で何画面か作成しているのですが、入力後、submitボタンをクリックすると404ページが表示される。原因は、タイトルにも書きましたが、inputのnameに予約語を使うと404になるんです。
つまり、以下のような感じ↓
input type="text" name="ここに予約後は使えない" id="user_login" value=""
ってわかっててもなんか使ってしまっているのか404ページが出まくる!

ちなみに、予約語って何?という方にざっくり言うと、「この名前使うから使わないでね!」って感じのものです。PHPにもありますし、WordPress自体にもあり、ちなみにcoreファイルにちゃんと書いてある。
こんな感じ↓
/**
* Public query variables.
*
* Long list of public query variables.
*
* @since 2.0.0
* @access public
* @var array
*/
public $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 'withoutcomments', 's', 'search', 'exact', 'sentence', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'tag', 'feed', 'author_name', 'static', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id', 'preview', 'robots', 'taxonomy', 'term', 'cpage', 'post_type');
/**
* Private query variables.
*
* Long list of private query variables.
*
* @since 2.0.0
* @var array
*/
public $private_query_vars = array( 'offset', 'posts_per_page', 'posts_per_archive_page', 'showposts', 'nopaging', 'post_type', 'post_status', 'category__in', 'category__not_in', 'category__and', 'tag__in', 'tag__not_in', 'tag__and', 'tag_slug__in', 'tag_slug__and', 'tag_id', 'post_mime_type', 'perm', 'comments_per_page', 'post__in', 'post__not_in', 'post_parent', 'post_parent__in', 'post_parent__not_in' );

フォーム作ってて何もおかしいところがないのになぜか404ページが出るときは疑ってみてもいいかも!
あと、回避するのは簡単!
以下のように、何かつけるだけで回避できます。
input type="text" name="user_login" id="user_login" value=""

結構、当たり前なの事なんだけど、いざとなると忘れてしまっている内容でした。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中