WordPressの質問です。簡単な入力フォームから送信されたデータをPHPで受け取って、返すということを行いたいのですが<form action>の指定が間違っているためか、Object not fonud! Error404が出てきてしまいます。状況とソースを記載しておきますので、ご回答よろしくお願いします。1:test.phpのソースです。<?php /*Template Name:テストテンプレート*/ ?><?php $name = ($_POST["name"]);$age = ($_POST["age"]); print$name;print$age;?><form action="test.php" method="post"> 名前: <input type="text" name="name" /> 年齢: <input type="text" name="age" /><input type="submit" /></form> 2:カスタムテンプレート(test.php)はwordpress > WP-content > themes > test(自作) に存在します。index.phpやstyle.cssと同じ階層にあります。3:Exec-PHPをプラグインしております。

回答の条件
  • 1人2回まで
  • 登録:2009/11/25 15:33:42
  • 終了:2009/11/25 23:12:31

ベストアンサー

id:prahran No.1

prahran回答回数3ベストアンサー獲得回数12009/11/25 21:23:11

ポイント60pt

1.テンプレート自体


テンプレートファイルを直接指定というのは基本的にやらないと思うのですが、あえてやるなら

<form action="<?php bloginfo('stylesheet_directory'); ?>/test.php" method="post">

この場合、test.phpはWPを介さずに直接呼ばれるだけですので、test.phpがページテンプレートである意味はまったくありません。

逆にtest.php内にWPの関数やLoop処理があるとエラーになります。


2.テンプレートを指定しているページ


<form action="<?php echo get_the_permalink(100) ?>" method="post">

100の部分は実際のページIDを入れてください。


ちなみに、フォームが設置されているページがWPの外にある場合は、そのファイルの先頭で

define('WP_USE_THEMES', false);

require('/PATH_TO_WORDPRESS/wp-blog-header.php');

?>

とWPのシステムファイルを読み込んでおく必要があります。

PATH_TO_WORDPRESS はWPが設置されているディレクトリへのパスです。

id:takepin

回答ありがとうございます。やってみたのですが、ダメでした。もう一度自分で何をやりたいかをまとめて、質問を変えてみたいと思います。

その時はまたよろしくお願いします。

2009/11/25 23:11:13
  • id:Rewish
    一点お聞かせ下さい。

    参照したいページは、
    「カスタムテンプレートを指定しているページ」
    なのか、
    「上記で提示されているカスタムテンプレート自体」
    なのか、どちらでしょうか。

    あと、提示されているコードが凄く読みづらいです><
  • id:takepin
    提示したコードが読みづらくて申し訳ございません。読みやすいようにスペースで行間を入れようとしたのですが、500文字の制限があるため行間を入れられませんでした。スペースも1文字とカウントするみたいです。
    rewishさんの質問の件ですが、
    参照したいページは、「カスタムテンプレートを指定しているページ」または「上記で提示されているカスタムテンプレート自体」でもどちらでも構いません。データが返ってきてくれれば先ずはOKです。、「カスタムテンプレートを指定しているページ」と「上記で提示されているカスタムテンプレート自体」の両方の解答を頂ければ幸いです。よろしくお願いします。

  • id:takepin
    コードが読み難いみたいでしたので、こちらに記載しておきます。
    test.php
    <?php /*Template Name:テストテンプレート*/ ?>
    <?php
    $name = ($_POST["name"]);
    $age = ($_POST["age"]);
    print$name;
    print$age;
    ?>

    <form action="test.php" method="post">
    名前: <input type="text" name="name" />
    年齢: <input type="text" name="age" />
    <input type="submit" /></form>

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません