<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>リダイレクト &#8211; ケケンタの独学ITブログ</title>
	<atom:link href="https://kekenta-it-blog.com/tag/%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88/feed/" rel="self" type="application/rss+xml" />
	<link>https://kekenta-it-blog.com</link>
	<description>プログラミングやWeb制作の情報を発信</description>
	<lastBuildDate>Tue, 18 Mar 2025 01:55:47 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://kekenta-it-blog.com/wp-content/uploads/2023/07/cropped-KEKENTA-BLOG-32x32.png</url>
	<title>リダイレクト &#8211; ケケンタの独学ITブログ</title>
	<link>https://kekenta-it-blog.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【PHP】POST送信されたデータを保持しながら別ページへリダイレクトする</title>
		<link>https://kekenta-it-blog.com/php-post-redirect/</link>
					<comments>https://kekenta-it-blog.com/php-post-redirect/#respond</comments>
		
		<dc:creator><![CDATA[ケケンタ]]></dc:creator>
		<pubDate>Tue, 25 Jun 2024 02:05:31 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webアプリ]]></category>
		<category><![CDATA[header関数]]></category>
		<category><![CDATA[POST]]></category>
		<category><![CDATA[リダイレクト]]></category>
		<guid isPermaLink="false">https://kekenta-it-blog.com/?p=8608</guid>

					<description><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2024/06/eye-catch__php-post-redirect__8608-1024x576.jpg" class="webfeedsFeaturedVisual" /></p>今回はこのような疑問やお悩みをお持ちの方に向けて PHPでPOST送信されたデータを保持しながら別ページへ遷移（リダイレクト）する方法 をご紹介します。 この方法を用いれば、例えば 現在のファイル内でフォーム送信されたデ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2024/06/eye-catch__php-post-redirect__8608-1024x576.jpg" class="webfeedsFeaturedVisual" /></p><div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>PHPでPOST送信したデータをそっくりそのまま別のページに持っていきたいんだけど、そんな方法ってあるのかな……</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">今回はこのような疑問やお悩みをお持ちの方に向けて</p>



<p class="has-text-align-center is-style-big_kakko_box wp-block-paragraph"><strong>PHPで<span class="swl-inline-color has-swl-deep-02-color">POST送信されたデータを保持しながら</span><br>別ページへ遷移（リダイレクト）する方法</strong></p>



<p class="wp-block-paragraph">をご紹介します。</p>



<p class="wp-block-paragraph">この方法を用いれば、例えば</p>



<p class="is-style-bg_stripe wp-block-paragraph">現在のファイル内でフォーム送信されたデータのバリデーションチェックを行い、問題が無ければそれらのデータを保持したまま次のページへ遷移（リダイレクト）する</p>



<p class="wp-block-paragraph">といった実装が可能になります。</p>


<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/alone-php-study/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">PHPはこうして習得した！約１年間の勉強内容【プログラミング独学】</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/php-deploy-xserver-for-zip/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【PHP】エックスサーバーへデプロイする方法【初心者でも簡単！】</span>
			</a>
		</div>

<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2025/03/eye-catch__school-php-and-wp__14099-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/school-php-and-wp/">PHPやWordPressを学ぶのにおすすめのプログラミングスクール【７選】</a>
						<span class="p-blogCard__excerpt">僕はこれまで独学でPHPを学習してきました。結論から言えば、それでもPHPを習得することはできました。 しかし、それに費やした累計学習期間は1年ほど。モチベーション&#8230;</span>					</div>
				</div>
			</div>
		</div>


<h2 class="wp-block-heading">【結論】header関数を使用する</h2>



<p class="wp-block-paragraph">早速ですが、以下が今回の答えとなる<strong>ソースコード</strong>です。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>&lt;?php

/*
 * 実行したい処理
 */ 

// 「リダイレクト先のパス」へ遷移する処理
header(&#39;Location: リダイレクト先のパス&#39;, true, 307);
exit;

?&gt;</code></pre></div>



<p class="is-style-icon_pen wp-block-paragraph">「リダイレクト先のパス」は相対パスでも絶対パスでもどちらでも有効です。</p>



<p class="has-text-align-center is-style-balloon_box2 wp-block-paragraph">（例）相対パスで指示した場合</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>&lt;?php

/*
 * 実行したい処理
 */ 

// 「リダイレクト先のパス」へ遷移する処理
header(&#39;Location: ./sample.php&#39;, true, 307);
exit;

?&gt;</code></pre></div>



<h2 class="wp-block-heading">【解説】header関数とステータスコード</h2>



<div class="swell-block-capbox cap_box is-style-onborder_ttl2"><div class="cap_box_ttl"><span>header関数とは</span></div><div class="cap_box_content">
<p class="wp-block-paragraph">PHPのheader関数は、<strong>HTTPヘッダーの内容を指定する際に用いられる関数</strong>です。</p>
</div></div>



<p class="wp-block-paragraph">例えば上記ソースコードの「Location」は<strong>Locationヘッダー</strong>と呼ばれるもので、<strong>リダイレクト先のURLを指定する際に使用</strong>します。</p>



<p class="wp-block-paragraph">上記のソースコードが実行されると、最終的に「リダイレクト先のパス」で指定したURLへ遷移（リダイレクト）されます。</p>



<p class="is-style-bg_stripe wp-block-paragraph">なお、本記事の主旨でもっとも重要となるのが第3引数に指定してある「307」という数字です。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>この数字はいわゆる「ステータスコード」と呼ばれるものです。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">「404エラー（ページが存在しない）」はご覧になったことがある方も多いかと思いますが、これもステータスコードのひとつです。</p>



<p class="is-style-big_icon_point wp-block-paragraph">上記のソースコードのようにheader関数に「307」を指定すると「POST送信されてきたデータを保持したままリダイレクトする」という意味になります。</p>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">header関数使用時の「注意点」</h2>



<p class="wp-block-paragraph">POST送信されたデータを保持したまま別ページへ遷移する方法はいたってシンプルですが、header関数を使用するにあたっては<strong><span class="swl-marker mark_orange">注意点</span></strong>があります。</p>



<div class="swell-block-capbox cap_box" data-colset="col3"><div class="cap_box_ttl"><span>header関数を使用する際の注意点</span></div><div class="cap_box_content">
<ul class="wp-block-list -list-under-dashed is-style-num_circle">
<li>header関数より上で「値を出力する処理」を記述するとエラーになる</li>



<li>header関数より下の行に記述された処理は実行されない</li>
</ul>
</div></div>



<h3 class="wp-block-heading">① header関数より上で「値を出力する処理」を記述するとエラーになる</h3>



<p class="wp-block-paragraph">例えば、以下のように<strong><span class="swl-marker mark_orange">header関数の上にHTMLの記述をしてしまうとエラーになります。</span></strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>&lt;p&gt;これはHTMLのコード&lt;/p&gt;

&lt;?php

/*
 * 実行したい処理
 */ 

// 「リダイレクト先のパス」へ遷移する処理
header(&#39;Location: ./sample.php&#39;, true, 307);
exit;

?&gt;</code></pre></div>



<p class="is-style-icon_pen wp-block-paragraph">もちろん<strong>echo</strong>や<strong>var_dump</strong>などの処理を記述してもエラーになります。<br>さらに、「空白」や「スペース」がheader関数より前に含まれていると、これも出力と見なされてエラーになります。</p>



<h3 class="wp-block-heading">② header関数より下の行に記述された処理は実行されない</h3>



<p class="wp-block-paragraph">以下のように、header関数より下の行に何かしらの処理を記述したとしても、その部分は実行されません。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>&lt;?php

/*
 * 実行したい処理
 */ 

// 「リダイレクト先のパス」へ遷移する処理
header(&#39;Location: ./sample.php&#39;, true, 307);
exit;


/*
 * ***** ここから下の処理は実行されない *****
 */ 

// ※header関数直後の「exit」は処理を確実に終わらせるために念のため記述してあるものですが、
// これが無かったとしてもheader関数以降の処理は実行されません。

?&gt;</code></pre></div>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>以上のように<strong><span class="swl-marker mark_yellow">header関数を使用する際には注意点があります。</span></strong><br>それを忘れたまま使用すると思わぬところで沼にハマる可能性があるため、念頭に置いておきましょう。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">以上が<strong>PHPでPOST送信されたデータを保持しながら別ページへ遷移（リダイレクト）する方法</strong>でした。</p>



<p class="wp-block-paragraph">header関数を使用することで簡単に実装できることがお分かりいただけたかと思います。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>header関数はリダイレクト処理を行う上で必須なので、今回初めてこの関数を知ったという方はこれを機にぜひheader関数について深堀してみて下さい。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">それでは最後までご覧いただきありがとうございました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kekenta-it-blog.com/php-post-redirect/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
