- ベストアンサー
PHPでリダイレクト時の回数と表示
- PHPでリダイレクト時の回数と表示について調査しています。
- a.phpというファイルを30秒ごとにリダイレクトさせたい場合、どのように実装すればよいでしょうか?
- 特定の更新回数後に自動停止する方法や、更新回数のカウントダウン表示についても知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>リダイレクトが終わって、最後に別ページ(http://〇〇.b.html)に飛ばすということは >出来ますでしょうか? 条件式は初歩の初歩です。 最低限の勉強はされて、最低限自分で試してみることも大事だと思います。 <?php $maxloop = 10; // 最大回数を指定 $cnt = 0; if(preg_match("/^[0-9]+$/",$_GET["loop"])){ $cnt = $_GET["loop"]; } // 最大回数以内ならリダイレクト if($cnt < $maxloop - 1){ header("Refresh: 30; URL=http://〇〇.a.php?loop=".($cnt+1)); } else{ header("Refresh: 30; URL=http://〇〇.b.html"); } echo "残り".($maxloop - $cnt)."回"; ?>
その他の回答 (2)
- mikemike7
- ベストアンサー率87% (97/111)
ああ、記載ミスですね。ごめんなさい。 header("Refresh: 30; URL=http://〇〇.a.php"?loop=".($cnt+1)); ↓ header("Refresh: 30; URL=http://〇〇.a.php?loop=".($cnt+1));
お礼
おおお!出来ました! 経験者なら簡単に分かるだろうところを、お手数おかけしました。 実は、もう一つだけあるのですが、よろしいでしょうか。 リダイレクトが終わって、最後に別ページ(http://〇〇.b.html)に飛ばすということは 出来ますでしょうか? 初めから書いておけばよかったものを、申し訳ありませんが分かるようでしたらよろしくお願いします!
- mikemike7
- ベストアンサー率87% (97/111)
リダイレクトする際にクエリーをつけてあげて、受け取るPHP側で クエリー値からリダイレクトを続けるかどうかを判断すればいいと思います。 <?php $maxloop = 10; // 最大回数を指定 $cnt = 0; if(preg_match("/^[0-9]+$/",$_GET["loop"])){ $cnt = $_GET["loop"]; } // 最大回数以内ならリダイレクト if($cnt < $maxloop){ header("Refresh: 30; URL=http://〇〇.a.php"?loop=".($cnt+1)); } echo "残り".($maxloop - $cnt)."回"; ?>
補足
回答していただきありがとうございます! 教えてもらった通りa.phpに〇〇部分だけ変えてそっくり記述してみたのですが Parse error: syntax error, unexpected '=' in /home/haine/public_html/a.php on line 9 とエラーが出てしまいます。 =がだめなのかと思い色々やってみましたが、どうにも無理でした。 お時間のあるときで結構です。どうぞお願いします。
お礼
やりたい事が全て出来ました。 おっしゃるとおりです。ネットで初心者向けのサイトなど見てみたりしたのですが、理解不能でした。 もう少し理解してから質問するべきですよね。 今回は本当にありがとうございました! もし、またお見かけした時はよろしくお願いします。