postの使い方とは?

このQ&Aのポイント
  • $_POSTを使用してtestを表示する方法について解説します。
  • URLに?id=reformを含めてアクセスすることで、testが表示されます。
  • アクセスしたURLには<h2>商品ラインナップ</h2>が表示されます。
回答を見る
  • ベストアンサー

postの使い方

下記のようなコードで、$_POSTを使い、else以下の「test」を表示させたいと考えています。 http://*****.jp/?page_id=259&?id=reform しかし、上記のURLでアクセスした場合、<h2>商品ラインナップ</h2>が出力されます。 どのようにすればtestを表示することできるでしょうか? <!DOCTYPE html> <html> <body<?php body_class(); ?>> <?php if($_POST['id'] !== 'reform'): ?> <h2>商品ラインナップ</h2> <?php else: ?> test <?php endif; ?> </body> </html>

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5068/13243)
回答No.1

URLに書かれているのはPOSTメソッドでは無くGETメソッドです。 $_GETで取得しましょう。 それと & の後ろの ? は余計では?

関連するQ&A

  • WP タクソノミー前後の記事リンクについて

    お客様の声:タクソンミー名(voice) ようにarchive-voice.phpを作りました。 記事の中身表示はsingle.phpはつくらず、ブログ用のindex.phpと共通にしました。 ブログ用のindex.phpには ↓↓↓↓ <!--内容の出力--> <?php if(is_home() || is_category() || is_archive()): ?> <div class="kiji"> <?php if(have_posts()): while(have_posts()): the_post(); ?> <div class="kiji-box"> <p class="catch-taitle"><span class="styledeco"><?php the_category(','); ?></span></p> <!-- アイキャッチ画像設置 --> <?php if (has_post_thumbnail()): ?> <?php the_post_thumbnail('medium'); ?> <?php else: ?> <?php echo '<img src="'.get_template_directory_uri().'/img/noimage.gif" alt="noimage" />'; ?> <?php endif; ?> <h2><a class="linktitle" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <p><?php echo mb_substr(get_the_excerpt(), 0, 120); ?><a class="linkleft" href="<?php the_permalink(); ?>">続きを読む</a>]</p> <div class="postinfo"><?php echo get_the_date(); ?>(<?php the_time(); ?>)<?php edit_post_link(' Edit',' |',''); ?></div> </div> <?php endwhile; endif; ?> </div> <?php else: ?> <!--フロントページ、アーカイブ、カテゴリ--> <!--単独ページ--> <?php if(have_posts()): while(have_posts()): the_post(); ?> <h2 class="blog-title"><?php the_title(); ?></h2> <div class="postinfo"><?php echo get_the_date(); ?>(<?php the_time(); ?>) | カテゴリー:<?php the_category(','); ?><?php edit_post_link(' Edit',' |',''); ?></div> <div class="blog_img"><?php if (has_post_thumbnail()): ?> <?php the_post_thumbnail('full'); ?> <?php endif; ?></div> <?php the_content(); ?> <?php endwhile; endif; ?> <?php endif; ?> <!--内容の出力ここまで--> <!--ページ送り--> <?php if (function_exists("pagination")) {pagination($additional_loop->max_num_pages); } ?> <!--個別の記事のページ送り--> <div id="pagelink"> <?php if(is_single()): ?> <p class="cell1"><?php previous_post_link('←%link', '%title', true, ''); ?></p> <p class="cell2"><?php next_post_link('%link→', '%title', true, ''); ?></p> <?php endif; ?> これだと、お客様の声のページに 記事の前後のリンクが表示されません。 <?php previous_post_link('« %link', '前の記事', TRUE, '', 'voice'); ?> <?php next_post_link('%link »', '次の記事', TRUE, '', 'voice'); ?> としてみたのですが、やはり表示されませんでした。 お客様の声とブログを共通にしているから表示されないのでしょうか・・・?

    • 締切済み
    • PHP
  • $_POSTで\マークが勝手についてしまいますが、これは仕様でしょうか?

    こんにちは。 以下のようにコーディングしました。 <body> <? print $_POST['test']; ?> <form action="test.php" method="post"> <textarea name="test">表示</textarea> <input type="submit" /> </form> </body> そうすると「表\示」と、「\」マークが表示されてしまいます。 これはPHPの仕様なのでしょうか? 必ず「stripslashes」で処理しなければいけないのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • カラム崩れが・・・

    トップページでは崩れてないのですが記事にはいると崩れてしまいます。 どうすれば治りますか?? ページ単体のphpは以下です。 ーーーーーーーーーーーーーーーーーーーーーーーーーー <?php get_header(); ?> <div id="column"> <?php if (have_posts()) : while (have_posts()) : the_post(); if( $post->ID == $do_not_duplicate ) continue; update_post_caches($posts); ?> <div class="post" id="post-<?php the_ID(); ?>"> <div class="content"> <div id="image"> <?php the_post_thumbnail(); ?> </div> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"> <?php the_title(); ?> </a></h2> <p> <?php the_content('Read the rest of this entry &raquo;'); ?> <?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?> </p> <div class="clear"></div> <?php comments_template(); ?> <div class="clear"></div> <div id="tags"> <div id="toptags"></div> <span class="user"><?php the_author_posts_link('namefl'); ?> &raquo <?php the_time('d F, Y') ?> &raquo <?php the_category(', ') ?> <?php the_tags(' &raquo Tags:', ', ', '<br />'); ?> </span> </div> <div class="clear"></div> </div> </div> <?php endwhile; ?> <?php else : ?> <div class="post"> </div> <div class="content"> <h2>Page Not Found</h2> <p>Sorry, but you are looking for something that isn't here.</p> <h3>Search Blog</h3> <?php include(TEMPLATEPATH."/searchform.php"); ?> </div> </div> <?php endif; ?> <?php get_footer(); ?> ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 他にも必要なphpがあれば言ってください。 宜しくお願い致します。

    • ベストアンサー
    • CSS
  • $_POSTが、上手くできません。。

    PHP勉強中の初心者です。 簡単な教材で勉強しているのですが、何度やっても上手く行かない部分があり、質問させて頂ければと思います。 やりたい事としては、「form.html」で入力した内容を、$_POSTで「view.php」に表示をするということです。 上手くいっていない処理としては、「form.html」のフォームから文字を入力し、「view.php」で、『○○さん、こんにちは』と表示がしたいのですが、実際には、「form.html」に文字を入れて送信すると、「view.php」の全ソースがブラウザ上で、表示されてしまいます。 こちらは、どのようにすれば、『○○さん、こんにちは』という風に表示することが出来ますでしょうか?php自体の設定に問題があるのでしょうか? もしお分かりになる方がいらっしゃれば、ご教授いただけると幸いです。宜しくお願い致します。 ■form.html <HTML> <HEAD> <TITLE>テキスト送信のテスト</TITLE> <META http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> </HEAD> <BODY bgcolor="#FFFFFF" text="#0000000"> <FONT size="4">テキスト送信のテスト</FONT> <FORM name="form1" method="post" action="view.php"> 名前:<BR> <INPUT type="text" name="onamae"> <BR> <INPUT type="submit" value="送信"> </FORM> </BODY> </HTML> ■view.php <html> <head> <title>PHPのテスト</title> </head> <body> <?php print $_POST["onamae"]. "さん、こんにちは"; ?> </body> </html>

    • ベストアンサー
    • PHP
  • zampp  PHPでPOSTの変数が返ってこない

    お世話になります。 PHPを最近はじめたばかりの初心者です。 zampp をインストールし、Apache、PHPの動作は問題なく動いています。 「sample.html」「sample.php」の2つファイルを作成し、 C:\xampp\htdocsに保存しました。 「sample.html」と「sample.php」は、ある本からサンプルコードです。 ------------------- 「sample.html」 ------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>sample page</title> </head> <body> <h1>フォームサンプル</h1> <form method="post" action="sample.php"> <input type="text" name="text1"> <input type="submit"> </form> </body> </html> ------------------- 「sample.php」 ------------------- <?php $str = $_POST['text1']; if ($str != ""){ $msg = "あなたは、「{$str}」って書いたね?"; } else { $msg = "何も書いてなかったよ?"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>sample page</title> </head> <body> <h1>結果表示</h1> <div><?php echo $msg; ?> </body> </html> ------------------------------------ htmlファイルをブラウザーで開き、submit(送信ボタン)を押すと、 text1に入力した文字が、返ってきて .phpに表示されなければならないのですが、 .phpでブラウザーに表示されるのは、上記のコードがそのまま表示されてしまいます。 (入力した文字も代入されずに、コードのまま表示されます) 上記のコードとは違う、htmlファイルとphpファイルで動作させても コードがそのまま表示されて、$_POSTがうまいきません。 原因が分からずに困っています。 ご教授いただけますよう何卒よろしくお願いします。

    • ベストアンサー
    • PHP
  • レイアウトが崩れる・・・

    いつもお世話になってます。 wordpressでギャラリーを使った記事を書いたのですが、3枚以上写真を追加してしまうとレイアウトが崩れてしまいます。 参照ページ:http://blackartcard.com/?p=45 どうすれば何枚追加しても崩れずに追加できるでしょうか? single.phpは以下です。 <?php get_header(); ?> <!-- Contents --> <div id="contents"> <div id="main"> <div class="breadcrumbs"> <?php if(function_exists('bcn_display')) bcn_display();?> </div> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <div class="post"> <h1 class="title"><?php the_title(); ?></h1> <div class="blog_info"> <ul> <li class="cal"><?php the_time('Y年m月d日') ?></li> </ul> <br class="clear" /> </div> <div class="kiji"><?php the_content(); ?></div> </div><!-- /.post --> <?php endwhile; ?> <?php else : ?> <h2 class="title">記事が見つかりませんでした。</h2> <p>検索で見つかるかもしれません。</p><br /> <?php get_search_form(); ?> <?php endif; ?> </div><!-- /#main --> </div></div> <?php get_footer(); ?> 宜しくお願い致します。

    • ベストアンサー
    • CSS
  • [wordpress] 固定ページで、カテゴリ名の

    [wordpress] 固定ページで、記事の一覧を表示し、その記事の属するカテゴリ名の表示 wordpressで、商品一覧ページを作成していて、一覧を表示するページは固定ページにしています。 その商品一覧の中で、記事(商品)の属するカテゴリ名を表示させたいのですが どうすればいいでしょうか? 商品が服なので、その商品が属するカテゴリを項目の一つとして出力したいのです。 つまり『抽出した商品毎(have_post()の出力結果)にカテゴリ名を抽出』という感じです。 具体的なソースも教えて頂けると助かります。 <?php the_category(); ?> はダメでした。 [参考ソース] <div id="collectionWrap" class="clearfix"> <?php $loop = new WP_Query( array( 'post_type' => 'collection', 'posts_per_page' => 8 ) ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <div class="collection"> <div class="image"> <a href="<?php the_permalink() ?>"><?php echo wp_get_attachment_image(get_post_meta($post->ID,"画像",true),'medium' ); ?></a> </div> <div class="txt"> <div class="clearfix mb10"> <p class="upDate"><?php echo get_post_meta($post->ID,"性別",true); ?></p> <p class="seasons"> <span> /*ここにカテゴリの種類を出力 */ </span></p> </div> <p class="itemName"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></p> <p class="itemPrice">&yen;&nbsp;<?php echo get_post_meta($post->ID,"価格",true); ?></p> </div> </div> <?php endwhile; ?> <?php wp_reset_query(); ?> </div> どうかよろしく御願いします。足りない情報等あればおっしゃってください。 自分でもいろいろ調べてるのですが、わかりません。。急いでます。

    • ベストアンサー
    • PHP
  • WordpressでテンプレにIDを表示できない…

    現在、初めてWordpressのテンプレートを作っています。 そこで、カスタマイズ方法についてお伺いさせてください。 行いたいこととしては、特定のIDの場合、特定の文言を表示というシンプルなカスタマイズです。 対象としているページは単一記事の投稿(single.php)です。 今回仮にカテゴリIDが10を対象としてみます。 その場合、以下のように記述しています。 <?php if(is_category('10')): ?> <p>カテゴリのIDが10のメッセージ!</p> <?php else: ?> <p>それ以外のメッセージ!</p> <?php endif; ?> と記述しています。 ちなみに、デフォルトのテンプレートを使うと上手く表示できるのですが、今回自分で作っているテンプレートなので、それが問題だと思います。 カテゴリID番号をテンプレート側で出力していない為、上手く動作しないのかな?と思いsingle.phpには こんな感じで記述してみました。 <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php $post_cat=get_the_category(); $cat_id=$post_cat[0]->cat_ID; ?> <?php $post_cat=get_the_category(); $cat=$post_cat[0]; ?> <div class="entry" id="category-<?php echo $cat->cat_ID ?>"> ↑これでページ上には一応、 <div class="entry" id="category-10">とカテゴリIDが10として表示されています。 しかしながら、前述した<p>カテゴリのIDが10のメッセージ!</p>というメッセージが表示されません…。 カテゴリIDが一致しているのに、何故分岐の処理が行われないのでしょうか?何か根本的に間違っていますでしょうか。 WPのテンプレートカスタマイズにお詳しい方いらっしゃいましたら、アドバイスをいただけませんでしょうか。よろしくお願いします。 再度お伝えいたしますが、デフォルトのテンプレートに <?php if(is_category('10')): ?> <p>カテゴリのIDが10のメッセージ!</p> <?php else: ?> <p>それ以外のメッセージ!</p> <?php endif; ?> こちらを入れると表示されますので、この部分は問題ないのかと思います。 宜しくお願いします。

  • 【WordPress】投稿がないカテゴリ非表示方法

    【WordPress】 投稿がないカテゴリー 非表示 方法 カテゴリーの1つを決め すべての子カテゴリーと投稿を表示させる際に、 子カテゴリー内に投稿がない場合、 子カテゴリー名を表示させないようにしたいです。 下記のソースでうまくいきませんでした。 <?php $chihirdren=get_categories( 'parent=5&hide_empty=0&orderby=slug&order=DESC'); foreach($chihirdren as $child){ ?> <?php if(have_posts()):?> <h2><?php echo $child->cat_name ?></h2> <?php else: // no post ?> <?php endif; ?> <?php $wp_query->query(array('cat'=>$child->cat_ID,'posts_per_page'=>-1)); while ($wp_query->have_posts()) : $wp_query->the_post(); ?> <h3><?php the_title(); ?></h3> <?php endwhile; } ?> 大変申し訳ございません。 ご教授をお願いいたします。。

    • ベストアンサー
    • PHP
  • WordPress PCとスマホで表示を切り替える

    PCでは記事一覧5件、スマホでは3件表示するようにしたいです。 条件分岐タグを使って、PCとスマートフォンで記事の一覧表示を切り替える方法がうまくいきませんでした。 https://handywebdesign.net/2017/11/wp-is-mobile/ 改造前のコード(問題なく表示できました) <ul> <?php $latest_posts = get_posts( array( 'posts_per_page' => 5, // 表示する記事の数 'category_name' => '投稿ID',// 投稿IDを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post ); if( has_post_thumbnail() ) { $post_thumb = get_the_post_thumbnail( '', 'post_thumbnail' ); // アイキャッチがあるときはアイキャッチを表示 } else { $post_thumb = '<img src="' . get_template_directory_uri() . '/img/noimage.gif" width="100" height="100" alt="デフォルト画像" />'; // アイキャッチがないときは《noimage.gif》を表示 } $post_categories = get_the_category(); // カテゴリーを取得 $post_content = wp_trim_words( get_the_content(), 30, '…' ); // 30字分を抜粋 ?> <li <?php post_class(); ?>> <a href="<?php the_permalink(); ?>"> <div class="blogListimg"> <?php echo wp_kses_post( $post_thumb ); ?> </div> <!-- アイキャッチここまで --> <p class="post-time blogDt"><?php the_time('Y.m.d'); ?></p> <p class="post-categories blogCt"><?php echo esc_html( $post_categories[0]->name ); ?></p> <h3 class="post-title"><?php the_title(); ?></h3> <p class="post-content blogBf"><?php echo esc_html( $post_content ); ?></p> </a> </li> <?php endforeach; wp_reset_postdata(); ?> </ul> PCとスマートフォンで記事の一覧表示を切り替えるコード 参考サイトを参考にfunctions.phpにfunction is_mobile() コードを追加。 トップページのphpに以下を改造。 <?php if ( is_mobile() ) : ?> <?php $latest_posts = get_posts( array( 'posts_per_page' => 5, // 表示する記事の数 'category_name' => '投稿ID',// 投稿IDを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post );  ・  ・  ・ <?php else: ?> <?php $latest_posts = get_posts( array( 'posts_per_page' => 3, // 表示する記事の数 'category_name' => '投稿ID',// 投稿IDを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post );  ・  ・  ・ <?php endforeach; wp_reset_postdata(); ?> </ul> 結果は真っ白になってしまいました。 HTMLソースも真っ白です。 空白はSublime Textのテキストエディターを使っていますので、確認しております。 どこが違うか、教えてくださいますか? よろしくおねがいします。

    • ベストアンサー
    • PHP

専門家に質問してみよう