• 締切済み

未ログイン・ログイン済ページから次のページへ

商品Aのページから ログインしていたらBのページへ、 ログインしていなかったらCのページへ という風にしたいと思っています。 これは if を使ってやったら良いのでしょうか? それと、Bのページは商品Aの情報を表示して確認するページにしたいと思います。商品というのはこれからどんどん増えていくので、その商品ごとにページを作るのは大変なのでDBと連動させたいのですが、そういう方法があるでしょうか??

みんなの回答

回答No.2

具体的な回答ではありませんが、参考URLを見ながらページの作り方を見直してみてはいかがですか? 参考URLにも書いていますが、「PHPでは、HTMLページ内に<?php ?>タグで括る事によって、 HTML(デザイン部分)とプログラム(ロジック部分)を同一ページに記述できます。しかし、同じファイル内にデザイン部分とロジック部分を記述するとメンテナンスが非常に困難となります。」とあります。 つまり、先にロジック部分で表示したい内容を確定し、その後、複数用意したデザイン部分へデータを渡せば実現できると思います。 テンプレートエンジンを導入するかどうかは開発規模などの要素が絡みますが、考え方自体は参考になると思います。

参考URL:
http://www.gadgety.net/shin/tips/unix/php-tmpl.html
s_used_c
質問者

補足

参考URLありがとうございます。しっかり読んでみます。 <先にロジック部分で表示したい内容を確定し、その後、複数用意したデザイン部分へデータを渡す というのはまずPHPで、「ログインしている場合」と「していない場合」のプログラムをかいて、 複数のHTMLページごとにそのプログラムを、ログインしていたらB、していなかったらC と呼び出すということでしょうか?

回答No.1

Q1:ログイン状態で表示ページは切替えられるか? A1: ログイン状態の管理・保持方法自体は理解されているとして、 遷移先を切替えるためには、大きく2通りの実現方法があると思います。 1.HTTPヘッダ「Location」で、別のページへリダイレクトさせるよう仕向ける。  http://www.studyinghttp.net/header#Location 2.HTML出力処理を切替えられるようにしておいて、ログイン状態で分岐させる。 Q2:商品ごとにページを作らず、DBを活用して共通化できないか? A2: 商品ごとに表示を変えないといけない部分をすべてDBへ入れておけば、 DBに問合せた内容を表示するページを作るだけってことにできますよ。

s_used_c
質問者

補足

早速のご回答ありがとうございます。 「Location」というのがいまいち理解できていないので、 2.HTML出力処理を切替えられるようにしておいて、ログイン状態で分岐させる。 こちらの方法でやりたいと思います。 すごく初歩的な質問だと思うのですが、「出力処理を切り替えられるように」とはどういうコードをかけばよいですか? そういうコードの載った参考になるURLがあれば教えてください。 DBの方は大体わかりました。ありがとうございます。

関連するQ&A