電子書籍の厳選無料作品が豊富!

<?php
$image_no = $_GET['image_no'];
if($image_no == ""){
$image_no = 0;
}
if($image_no == 10){
header("Location: http://www.test/i/");
}
?>

<img src="../img/test<?php echo $image_no;?>.jpg">

<?php echo $image_no;?>
<br/>
<a href="test.php?image_no=<?php echo $image_no + 1;?>">次へ</a>

こんなカンジで、『次へ』のリンクをクリックすると、画像が切り替わるものを書いたんですが、$image_no == 10になったら、別のページへジャンプしたいんですが、うまくいきません。
10回目でエラーになってしまいます。

どうやったらうまく違うページへジャンプできるのでしょうか?

A 回答 (4件)

そのエラーは、「header の前に 何か出力されちゃってるよエラー」ですので、


何か 出力されていないかご確認ください。

#3さん ご指摘の改行もそうですし、半角スペースなど 目に見えないものでもNGです。
ob_start()を使って回避する方法もありますが、これは根本的な解決ではありません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

の下に書いていれば、エラーになって当然ですね!できました。本当にありがとうございます。

お礼日時:2010/02/02 16:57

文字コードはUTF?


BOMを吐いていたり、いらない改行などはいっているのでは?
当然ながらhttpのヘッダーは文字を送る前に設定する必要があります。
    • good
    • 0

さっきのアルバムの方ですね。


回答しようかと思ってたら質問が消えてて、吹きました。

> header("Location: http://www.test/i/");

文法上は問題ないと思います。
どんなエラーが出たのですか?

この回答への補足

いかにもさっきのアルバムの人です。
自力でなんとかやったらできました。
せっかく回答していただこうとしたのに、もうしわけありません!

今回の質問は、そのアルバムの続きです


Warning: Cannot modify header information - headers already sent by (output started at /home/admin/test.php:10) in /home/admin/test.php on line 29

エラー文をそのまま書きました。

補足日時:2010/02/02 16:06
    • good
    • 0

こんにちは。




if($image_no == 10){
header("Location: http://www.test/i/");
exit;
}

exitを入れてみてください。

この回答への補足

ありがとうございます。
さっそくやってみましたが、上の補足同様、エラーがでて、結果は変わりませんでした

補足日時:2010/02/02 16:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!