• ベストアンサー

phpのみで記述されたhtmlページにリンクする時bodyタグのvlinkが効かない

htmlもphpも初心者です。 あるhtmlページ”A”から、phpのみで記述されたhtmlページ”B”にリンクして、”A”ページに戻る場合の質問です。 ページ”A”には、bodyタグで vlink色指定をしているのに、効かないのはなぜでしょうか。 まだ見ていないページと見たページを確実に色指定したいのですが…。 宜しくお願い致します。

  • PHP
  • 回答数10
  • ありがとう数11

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

  • ベストアンサー
  • cororo
  • ベストアンサー率22% (2/9)
回答No.9

ごめんなさい。前に書いた$_GETほにゃららも 一回ブラウザを閉じると元に戻っちゃいます。 嘘を書いてしまいました。

skyline8388
質問者

お礼

とんでもないです。お気になさらず。。 丁寧に考えていただいて、恐縮です。 ご紹介いただいたcss講座を見ながら、奮闘中です。

その他の回答 (9)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.10

普通に考えれば、 A.htmlがHTMLのみのページで、 B.htmlがPHPでブラウザ(OS)の判定を行うのでしたら、 B.htmlの戻り先は 余計な引数をつけずに、 <a href="A.html">もどる</a> とすればいいのではないのでしょうか? そうすればvlinkが利くはずです。 もしやA.htmlでもPHPでの判定をしているのでしょうか?

skyline8388
質問者

お礼

ありがとうございました。 もう少し考えてみます。

skyline8388
質問者

補足

ご回答ありがとうございます。 A.htmlにはphp表記はありません。 現状のソースのvlinkに関係する部分のみもう少し詳しく下記に記述します。 【A.html】 <HTML> <HEAD><TITLE>******</TITLE></HEAD> <body link=#0000FF vlink=#FF0000> <A HREF="B.html?mldfile=*****&page=A.html &uid=*********">******</A><BR> </BODY> </HTML> 【B.html】 <?php require('../lib/**********.php'); if(! $page || ! $mldfile){ Header("Location: http://$HTTP_HOST/********/$page.html"); exit ; } if( checkAgentAbility("*****",$HTTP_USER_AGENT) ){ $besttype = Sound($HTTP_USER_AGENT, 'mld/', $mldfile); Header("Location: http://$HTTP_HOST/******************.mld"); exit ; } ?> <HTML> <HEAD><TITLE>My D-style</TITLE></HEAD> <body link=#0000FF vlink=#FF0000> <BR> <?php echo "ご利用できません。<BR>\n" ; echo "<BR>\n" ; echo "<A HREF=\"$page.html\"><FONT COLOR=\"#0000FF\">戻る</FONT></A><BR>\n" ; ?> </BODY> </HTML> 利用できない人が判別ではねられて、Bページhtml部分が表示されますとvlinkが効きます。

  • cororo
  • ベストアンサー率22% (2/9)
回答No.8

ごめんなさい。セッションつかったら、一回閉じちゃうと、元に戻っちゃう。

  • cororo
  • ベストアンサー率22% (2/9)
回答No.7

BページからAページに戻ったときにリンクの色が変わるようにしたいのであれば、 Aページに先ほど書いたコードを書くといいと思います。 一応、スタイルシートというのを使ってます。 参考urlのCSS講座を見たら面白いよ。 style=というところがそうです。 でも、これだとちょっと心配なので,セッション使ってもいいかも。 Bページに <?php session_start(); $_SESSION['vlink']="style='color:white;'"; ?> んでAページで <?php session_start(); if(isset($_SESSION['vlink'])){ $vlink=$_SESSION['vlink']; }else{ $vlink=""; } echo "<a". $vlink."href=="*****.html?mldfile=******&page=******&uid=*******">"; ?> 試していないので、間違ってたらごめんなさい。 ただ、前のコードも今回のコードもWWWサーバー(apacheとか)で拡張子をphpに設定していなかったら、多分動かないと思います。

参考URL:
http://www.cybergarden.net/
skyline8388
質問者

お礼

ありがとうございます!! ご紹介いただいたCSS講座、参考にさせていただきます。 CSSの外部ファイル化のところ、興味深いです。 現在、勉強中で内容についていくのがいっぱいいっぱいですが、こんなの、自分でスラスラできたらかっちょい~ですね。

  • cororo
  • ベストアンサー率22% (2/9)
回答No.6

<?php if(isset($_GET['mldfile'])){ $vlink="style='color: #006666;'"; }else{ $vlink=""; } ?> <a ${vlink} href="*****.html?mldfile=******&page=******&uid=*******"> にしたらだめだべか。<body>のvlinkは必要なくなるとおもうけども。 ところでこの間は自身ありになってましたが、チェックを間違っただけです。

skyline8388
質問者

お礼

よくよく考えると私の勘違いでしたでしょうか。 Bページに <?php if(isset($_GET['mldfile'])){ $vlink="style='color: #006666;'"; }else{ $vlink=""; } ?> Aページに <a ${vlink} href="*****.html?mldfile=******&page=******&uid=*******"> でしょうか。

skyline8388
質問者

補足

cororoさん、ありがとうございます。 具体的にphp記述していただき感激です。 なるほど…Bページへリンクする際にvlinkを渡してしまうのですね。 phpは、読んでやっとロジックがわかる程度の知識しかないのですが、 Bページから、Aページへの戻りはそのままでいいのでしょうか。

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.5

原因はそこだと思われます。 <A HREF="*****.html?mldfile=******&page=******&uid=*******"> ここで、値が可変の場合、まったく同じ値にしなければvlinkが発動しません。 たとえ*****.htmlが同じであっても、その後のmidfile...もまったく同じURLでなければいけません。 (A.htmlはアクセスしたことがあっても、A.html?id=xx はアクセスしたことがないので)

skyline8388
質問者

お礼

ありがとうございました。 よく分かりました。 もう少し、悩んでみます。。

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.4

再度補足要求。 3.require('../lib/*****.php'); で何をしているのか?↓ このphpファイルで、判別をしています。 何を判別しているのですか? 4.その拡張子 .htmlのPHPは動作しているのか?↓ このhtmlのphpはただlib下の*****.phpに飛ばしているのみです。 lib下の*****.phpの判別にひっかからなかったもののみ、Bページのhtml本文を表示させています。 よく意味が分からないのですが、 b.html内の******.phpは動作しているのですね。 何を判別しているのか分かりませんが、 BページからAページのリンクはどのようにしているのですか? CSSなどは設定していませんよね? 一応デフォルト(Bodyの設定が<BODY>だけ)でもvlinkはデフォルトの色を使うはずなので動くはずなのですけども。。。 多分リンクのしかたの問題かな・・・?

skyline8388
質問者

補足

ありがとうございます。 何を判別しているのですか?↓ あるファイルをダウンロードするのに適した機種なのかそうでないのかを判別しています。 判別後、ダウンロードできない場合のみBページのhtml本文が表示されるようになっています。 自分で検証しましたが、Bページのhtml本文が表示されたこの場合は、vlinkが効いて正常動作します。 問題なのはダウンロードできる機種の場合、そのままBページのphpでダウンロード実行し、戻りはAページの、Bページへのリンクの際の変数で渡したページに戻るようにしてあります。(下記のpage=******) <A HREF="*****.html?mldfile=******&page=******&uid=*******">

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.3

すいません。 補足要求します。 分かっていること。 1、まずAページからBページに移動する。 そしてBページからAページにもどるときにvlinkの色指定が適用されていない 2、Aページには <body link="#0000FF" vlink="#FF0000"> と書いてある。 分からないこと。 1、リンクはどのようにしている?(リンクのソースを書いてください) <a href="xxx.php?id=xx">リンク</a> とかでIDを指定などとした場合は違うURLと認識されるのでvlinkは適用されない。 2、BページのBodyはどうなっていますか? Bページに vlink="#ff0000" といった指定がなければ適用されません。 3、require('../lib/*****.php'); で何をしているのか? 単にデザインのテンプレートだったら特に無視しても構わないでしょうが、BodyやCSSを書き出ししているのでしたらソースがないと答えようがありません。 4、その拡張子 .htmlのPHPは動作しているのか? 通常の設定では .htmlの拡張子ではPHPは動きません。 サーバの設定を変更すれば動作させることは可能ですけども。 できればAページとBページの全ソースがあれば正確な答えが返せると思います。

skyline8388
質問者

お礼

ありがとうございました。but… BページのBody、vlink指定しましたが、やはりダメでした。 (T_T)

skyline8388
質問者

補足

moon_nightさん、ありがとうございます。 丁寧に考えていただき、恐縮です。 1.AページのBページへのリンクのソースです。↓ <A HREF="*****.html?mldfile=******&page=******&uid=*******">Bページへ</a> 2.BページのBody↓ <BODY>のみです。 3.require('../lib/*****.php'); で何をしているのか?↓ このphpファイルで、判別をしています。 4.その拡張子 .htmlのPHPは動作しているのか?↓ このhtmlのphpはただlib下の*****.phpに飛ばしているのみです。 lib下の*****.phpの判別にひっかからなかったもののみ、Bページのhtml本文を表示させています。 ---所見--- ・1のリンクソース****が多くてすみません。 個人ページではないので、申し訳ありません。 ・2ですが、リンク先のBページのBodyにもvlink="#ff0000"が必要なのですか・・。書き加えてもう一度検証してみます。

  • cororo
  • ベストアンサー率22% (2/9)
回答No.2

キャッシュは指定しないと、そのままキャッシュされると思ったけれども。。。 header('expires:Tue,Jun 1980 00:00:00 GMT'); header('Last-Modified:'.gmdate('D,dMYH:i:s').'GMT'); header('cache-control:no-chche,must-revalidate'); header('Pragma:no-cache'); とか htmlだと <meta http-equiv="Pragma" content="no-cache"> とか Bのページで指定していますか!? それと、phpで作ったときって、拡張子は.phpにしないといけなかったのでは。 ×attention.html ○attention.php 僕も初心者なのでピントのずれたことかいてるかもしれませんが。

skyline8388
質問者

お礼

cororo様、ご回答ありがとうございます。 すみません、略しすぎて分かりにくかったですね。 Bのページでno-cache指定はしていないのです。 ”B”ページは冒頭に下記php記述があり、そのあとhtml記述をしているページです。  <?php require('../lib/*****.php');      ~~~ ?> <html> ~~ </html>

skyline8388
質問者

補足

すみません、phpのみで記述という表現が間違っていました。 正しくは、あるphpに飛ばすphpを冒頭に記述してあるhtmlファイルです。

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

情報が少ないです。 リンクのソース、HTMLのソースなどを表示していただければ詳しいアドバイスができると思います。 ちなみに、リンクの色はブラウザで指定できるので、完璧に色分けする手段はありません。 でも、デフォルトの人が多いですが。

skyline8388
質問者

お礼

moon_nightさん、ご回答ありがとうございます。 ”A”ページ⇒ <body link="#0000FF" vlink="#FF0000"> ”B”ページ⇒  <?php require('../lib/*****.php');      ~~~ ?> リンク先のページattention.htmlがphpで記述されていて、もともと動的なページを生成するphpではアクセスするたびに常に新しい結果を得ようとしていてキャッシュに残らないという推測で正しいでしょうか。。

関連するQ&A

  • 同ページ内でリンクの色を変えたい…

    こんにちわ。suzuと申します。 リンク先の色の指定について質問です。 普通なら<body bgcolor="#ffffff" text="#000000" link="#0066ff" vlink="#036095" alink="#0066ff"> で良いと思うのですが、 同じページ内でリンク先の色を変える事って出来るのでしょうか? 例えば、 ●このテーブル内のリンクのみ、この色。 ●このリンクのみ、この色。 とか…。。 どうぞ、宜しくお願い致します。

    • ベストアンサー
    • HTML
  • headタグの記述について

    headタグの記述について質問させてください。 ページ作成時にPHP等で読み込みファイル(インクルードファイル?)を使用する際、 読み込まれる側のHTMLファイルは「head」「body」などの タグの記述を省きますよね(たぶん)。 これはどうしても省かなくてはいけないのでしょうか? 各ファイルに外部CSSへのリンクを張りたいのですが、 HEADタグがない場合はどうしたらいいのでしょう? こういった読み込みファイルを扱うのが初めてで、どう対応したらいいのかがわかりません。 どなたかわかる方いたら教えてください。

    • ベストアンサー
    • HTML
  • </head>タグと<body>タグ間の記述はスパムでしょうか?

    すごく初心者的な質問かもしれません。 現在Dreamweaverにてホームページを作成しているのですが、 <head>~</head>の間に<meta>タグとショートカットアイコンのリンク以外の記述をしたら、ヤフー八分にあってしまいました。 具体的に記述してあったのは <style type="text/css"> <!-- .style16 {color: #ffffff} --> </style> などのスタイルの記述程度です。 これが原因かどうかはわからないのですが、とりあえず 上記のスタイルの記述を </head>~<body>タグの間に記述することにしました。 しかし、この記述も問題があるのかどうか不明です。 </head>~<body>の間に何かを記述することは問題あるのでしょうか?

  • 開いているページのリンクの色の指定

    HPの初心者です。 <body link="blue" alink="red" vlink="blue">としていますが、 リンク先ページが開いている間、そのページのリンクの色を"red" のままにしておきたいのですが、どのようにするのでしょうか? お分かりの方、教えて下さい。

  • PHPリンク

    <?php $num = intval($_POST["id"]); if ($num == 3964785) { <a href="http://nakuranet.com"></a> } else { echo '認証失敗'; } ?> とした場合にエラーが出ます。 認証成功者にのみ、指定ページに飛ばしたいのですが、PHPでリンク先を指定したい場合は、<a>タグは使えないのでしょうか?

    • ベストアンサー
    • PHP
  • リンクのタグの事で

    今晩は、質問させていただきます。 パソコンのサイトで、ページをリンクさせたいのですが、 私が使用しているタグを使うと、必ず下線がでて紫色になってしまいます。 下線を無くして色も指定したいのですが、どうすればいいのでしょうか。 教えてください。 説明が不十分でしたら、すみません。 使用タグはこれです→<a href="URL">リンクしたい所の名前</a>

  • リンクの文字色を別々に指定したい(オンマウスで変わるタグ)

    メモ帳でHPをちまちま作ってたのですが、ちょっと困ったことが出てきたので質問させて下さい。 同じページのリンクの文字色を一括で変更するのは… <style type="text/css"> <!-- a:link { color: maroon } a:visited { color: maroon } a:hover { color: white } a:active { color: black } --> a { text-decoration: none; } </style> ですよね。 それと個別に変更するのが… <body link="maroon" vlink="black" hover="white" alink="maroon"> </body> なんですが、個別設定でカーソルをのせた時色が変わるタグがどうしても分かりません。 上の設定を踏まえた上で、オンマウスで色が変わるタグを教えて下さい。よろしくお願いします。

  • リンク色変更タグが使えない原因は…

    サーバはさくらインターネットを利用しているのですが <body link="#xxxxxx" vlink="#xxxxxx" alink="#xxxxxx"> をheadに挿入した場合にはリンク色を変更できるのですが 特定のリンク色を変えるために <A HREF="http://" TARGET="_red">を使ってもリンク色を変更することができません。 これではひとつのリンク色しか使えなくなってしまいます。 どうすればひとつひとつのリンク色を変更することが出来るようになるでしょうか? どなたかご存知の方は教えて頂ければ幸いです。 よろしくお願い致します。

  • PHPでリンクを書きかえるか、baseタグを使うかどちらが良いか?

    PHPを勉強しはじめた初心者です。 サイトに常に表示されているサイドバーをPHPでincludeすることにしました。 なのでページの階層によって、適宜リンクを書き換える必要があります。 私が思いつく方方法は3つほどあります。 (1)階層ごとに毎回PHPでリンクを書き換える。 (2)baseタグを使って、相対リンクの基準を一か所に固定する。 (3)絶対パスでリンクをする。 私としては(1)でやろうと思っていたのですが、なんとなく無駄が多いような気がしました。 ということで、(2)の方法で行こうと思っているのですが、baseタグを使うのはあまり気が進みません。 baseタグを使った例を今まで見たことがないので、そう思ってしまうのですが、常にサイドバーを表示させるような場合は、皆さんはどのようにしているのでしょうか? 他にもっと一般的な方法や、効率的な方法がありましたら、教えていただけると幸いです。よろしくお願いします。

    • ベストアンサー
    • PHP
  • objectタグで埋め込んだHTMLのリンク先について

    objectタグ内にHTML文章を埋め込んだ場合、埋め込んだHTML内のリンクをクリックするとリンク先のページがobjectタグ内に開かれます(当然ですが^^;)。 この場合のリンク先をobjectタグ内ではなく、そのobjectタグが記述されているウィンドウ(親ウィンドウ)に開くことは可能でしょうか? リンクのtarget属性を"_top","_parent"に指定してみましたが期待通りの結果にはなりませんでした。 もしご存じの方がいましたら教えてください。 よろしくお願いします。 追記:インラインフレームを使う予定は今のところ考えておりません。

    • ベストアンサー
    • HTML