【復活求む!】惜しくも解散してしまったバンド|J-ROCK編

サイドバーなど、すべてのページに共有する部分を外部ファイルにし、下の例のようにインクルードさせています。
↓(例)↓
<?
php require("http://○○○/sample.txt");
?>
拡張子は、htmlにしたかったので、PHPが利用できるように、.htaccessで設定しています。

これで普通のページはちゃんと表示され、問題はなかったのですが、
メールフォームやYomi-Search、Movable Typeの検索結果など、
CGI?(? % & などがつくURL)のページでは
インクルードさせている部分が真っ白になってしまいます。

ソースを見ると、
<?
php require("http://○○○/sample.txt")
?
>
のままになっていました。

? % & などがつくURLでは、インクルードできないということでしょうか?

解決法をご存知の方は、どうかご教授お願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

include,requireというものを誤解されているようです。



includeは「コードを取得・解釈し、実行する」ためのものです。
外部のサーバの場合、許可されていない状態ですと「コードを取得」の時点でコケます。
普通は外部に許可させません。
画面が白いのはerrorが標準出力に出ない設定になっているからでしょう。

http://jp.php.net/manual/ja/function.include.php
セキュリティの警告の部分にありますが、
http経由の出力を単純に取得したいならreadfileなどを使いましょう。
    • good
    • 0
この回答へのお礼

セキュリティのことなど、あまり考えず安易に利用していたので、
大事なご指摘をいただき、本当にありがとうございます。

私の場合、まさにwp_様がおっしゃるとおり、単純に取得したいだけなので、readfileに変更することにしました。

PHPに関して何もわかっていなかったので、1から勉強したいと思います。

参考にさせていただきました。ありがとうございます<(_ _*)>

お礼日時:2007/11/06 02:00

検索結果で表示しないとなると、拡張子はもしかして、.plとか.cgiとかなるものでしょうか?


perlで吐き出したものをさらにphpでインクルードするんですよね?

.htaccessのなかに追記した.htmlの後に.cgi .plも入れてみては…
あ、ちょっと危険かも?!
    • good
    • 0
この回答へのお礼

そういう方法もあるんですね。
危険かもということなので、.htaccessのことなど、もう少し勉強してから挑戦したいと思います。

ありがとうございました<(_ _*)>

お礼日時:2007/11/06 01:46

根本的にinclude系の本来の用途が違うように思いますが・・・・



つまり、ドメインをまたいで取得したいってことでしょうか?

この回答への補足

早速のご回答ありがとうございます。

>根本的にinclude系の本来の用途が違うように思いますが・・・・
そうなんですね。(´□`;)
私自身PHPに関しては、まったくの無知なので、あるサイト様を参考にそのまま利用させてもらいました。

http://○○○/sample.txtは、htmlで書いています。
↓(例)↓
<ul>
<li>ショッピング</li>
<li>オークション</li>
</ul>

普通のページでは中身をよんでくれていたので、共通する部分に使うには、便利だと思っていたのですが・・・。
ブックマークはしてなかったので、どのサイト様かはわかりませんが、それ以上のことは書いてなかったように思います。

>つまり、ドメインをまたいで取得したいってことでしょうか?
・・・ドメインをまたぐとは、どういう意味でしょうか?何もわからなくて、すいません。
安易に、普通のページと同じようによんでくれたらと思っていたので・・・。

補足日時:2007/11/05 03:58
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QCSSでborderの長さを指定、または可変にしたい。

下記のように指定していますが、これだと横幅いっぱいに下の線が表示されてしまいます。

文字なりの長さ、または指定のピクセル数にしたいのですが、どのようにしたらよいでしょうか。

h3{
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

Aベストアンサー

borderの長さはそのボックスの大きさですから、ボックスの大きさを指定する事になります。
h3{
width:???px;
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

また、文字数(ボックスの内容)に合わせたい場合は、ボックスを浮動化(float)する等の方法もありますが・・・そのボックスの周りへ影響が出たり、ブラウザ毎にバグや実装の違いなどが比較的多く、扱いが面倒になるのであまりおすすめできません。

HTMLの方も修正する方法でもよければ

<h3><span>××○○</span></h3>
のようにspanで囲い、スタイルをspanに対して指定する方法もあります。

h3 span{
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

borderの長さはそのボックスの大きさですから、ボックスの大きさを指定する事になります。
h3{
width:???px;
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

また、文字数(ボックスの内容)に合わせたい場合は、ボックスを浮動化(float)する等の方法もありますが・・・そのボックスの周りへ影響が出たり、ブラウザ毎にバグや実装の違いなどが比較的多く、扱いが面倒になるのであまりおすすめできません。

HTMLの方も修正する方法でもよけ...続きを読む

Qリンクをクリックした時にformからPOST送信したい。

HTML、PHP、JavaScript等でサイトを作っているのですが・・・。

【実現出来ている例】
<form name="form1" method="post" action="Next.php" onSubmit="return InputCheck()">
 <input type="submit" value="送信">
</form>
 submitボタンを一つ置いて、それがクリックされた場合に
formの内容をPOSTで送信する。

【実現したい例】
<form name="form1 method="post">
 <a href="Next.php" onClick="???">???</a>
</form>
 formの中のリンクをクリックされた場合に、formの内容を
POSTで送信したいのですが、その実現方法がわかりません。
GETで送るという手もあり得ますが、今回はどうしてもPOST
したいのですが。

Aベストアンサー

<form name="form1" method="post" action="Next.php">
<a href="#" onClick="document.form1.submit();">???</a>
</form>

onclick内の対象がform1としてあてているので、
アンカータグは別にform内に記述しなくても大丈夫です

form内にhidden等でnameとvalueを持ったパラメータがあればそれも送られます

アンカータグから動的にvalueを変更したい場合は、
document.form1.hogename.value = 'hoge';
等をsubmit()の前に行えば可能です

ただしform内に
<input type="hidden" name="hogename" value="">
を記述する等、変更先パラメータの元を用意する必要がありますのでご注意下さい

QボタンをクリックでPHP文を実行

ボタンをクリックしたときのみPHP文を実行したいのですが・・・

<input type="button" onClink="<?php~?>">
でいけるかと思ったのですが、
ページ表示時に<?php~?>が実行されてしまい、うまくいきませんでした。

onClink="window.open(test.php)"
という方法以外でお願いします。

Aベストアンサー

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、遷移させることが大前提で動作します

ですから、ボタンを押してその場でJavaScriptと同じようにPHPが動くなんてことはありえません。
ボタンを押したらサーバーにリクエストする という動作ならば可能です。

つまり
質問で言われているような
onClink="window.open(test.php)"

<form name="f1" action="test.php" method="post">
<input type="submit" name="submit" value="submit" />
</form>
等のような形になります

こういった一般的な方法だと いちいち画面が切り替わったようになってしまうのを嫌って Ajaxでコレと同じことを、画面を切り替えずに行っているだけに過ぎません

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、...続きを読む

Qcssで「下よせ」ってどうやっていますか?

フロートのレフト、ライトはいいとして、

あるボックス要素内(A)に異なるボックス要素(B)をいれます。
この(B)を(A)の一番そこにはりつかせたい時にどうすれば
最もよいのでしょうか?

いいアイデアをご教授ください。

Aベストアンサー

こんなのはどうかな?

position: absolute;
bottom: 0px;

QHTMLフォームのSELECTの幅を一定にするためには?

HTMLフォームのSELECTの幅を一定にするためにはどのようにすれば
いいのでしょうか?

CSS等で設定できるとありがたいのですが、やり方がわかりません。

Aベストアンサー

<select style="width: 200px">

Q文字の位置、上下のマージンがずれる

仕事でHTML+CSSでコーディングをされる方、
または精通されている方に質問です。

pタグで2行の段落を続けて配置してみました。
IE6・7、FF、Chrome、Safariではぴったりレイアウトが合うのですが、
IE8・9で確認すると誤差が生じます↓

<p>あああああ</p>
<p>かかかかか</p>

★pに対する指定
font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","MS Pゴシック","MS PGothic";
font-size: 14px;
line-height: 1;
margin: 0;
padding: 0;

各pタグにわかりやすく背景色をつけて確認してみると・・・

・IE8だと、2段目のテキスト位置が1px上に上がり、pの高さも1px縮む
・IE9だと、1段目と2段目のテキスト位置が1px上に上がり、2段目のpの高さが1px縮む

それぞれのpに高さを決めれば問題はないようですが、
高さを決めずにテキストを配置する場合、
この誤差については対応ができないものなのでしょうか?

pタグに限らず、ul、dlなんかでもずれることが多いです。
テキストをぴったりを合わせる技術ってないのでしょうか?

仕事でHTML+CSSでコーディングをされる方、
または精通されている方に質問です。

pタグで2行の段落を続けて配置してみました。
IE6・7、FF、Chrome、Safariではぴったりレイアウトが合うのですが、
IE8・9で確認すると誤差が生じます↓

<p>あああああ</p>
<p>かかかかか</p>

★pに対する指定
font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","MS Pゴシック","MS PGothic";
font-size: 14px;
line-height: 1;
margin: 0;
padding: 0;

各pタグにわかりやすく背景色をつけて確認して...続きを読む

Aベストアンサー

まず、line-height:20pxのように、line-heightをpxで指定してみてください。
ブラウザの違いによる縦の誤差はなくなるはずです。

誤差が生じる原因としてはOSやブラウザの違いから、フォントやレンダリングの違いによるものです。
なので、font-size:14px;に指定していても、line-heightをemや%で相対的に指定している場合は、必ず誤差が生じます。

なお、文字列の横をそろえるのほぼ無理と考えてください。

>pタグに限らず、ul、dlなんかでもずれることが多いです。

こちらに関しては、ブラウザ間のデフォルトの差異をなくすため、リセットCSSがよく使われます。
リセットCSS、reset cssなどで検索してみれば色々出てくるでしょう。
最近はHTML5を考慮しているものもたくさんあるので、そちらを使った方が良いでしょう。
しかし、これも完全に誤差をなくせるというわけではありませんが、一度試してみると良いでしょう。

Qphpにcssを適応させたいのですが?

phpで出力させた結果をブラウズするのに、css指定させたいのですが?

できるのでしょうか?

Aベストアンサー

PHPだから特別な考えはしなくて良いです

PHPはあくまでも、サーバー側で動いて、その結果を出力させるだけです

つまり出力させたHTMLにごくごく普通にCSSを適用させれば良いだけです
又、テクニックとしCSSそのものをPHPで処理させることも可能ですよ

例えば
---------------index.html(又はindex.php)のhead内
<link rel="stylesheet" type="text/css" href="stylecss.php"/>
---------------

------------stylecss.php
BODY {
background-color: #<?php echo $background; ?>;
margin: 0px;
}

A:link {
color: #<?php echo $acollar; ?>;
text-decoration:none;
}
-----------
のようにしてしまって、CSSそのものを動的に生成することも可能です

PHPだから特別な考えはしなくて良いです

PHPはあくまでも、サーバー側で動いて、その結果を出力させるだけです

つまり出力させたHTMLにごくごく普通にCSSを適用させれば良いだけです
又、テクニックとしCSSそのものをPHPで処理させることも可能ですよ

例えば
---------------index.html(又はindex.php)のhead内
<link rel="stylesheet" type="text/css" href="stylecss.php"/>
---------------

------------stylecss.php
BODY {
background-color: #<?php echo $background; ?>;
margin: 0px;
...続きを読む

Qformのinputなどの幅100%指定

formのinputやtextareaなどの幅を、100%の指定(テーブルの中などにぴったり収まるように)をしたいのですが、できないのでしょうか?

少しずつ様子を見ながら、ちくちくとsizeを指定していくしかないのでしょうか?

Aベストアンサー

 例えば、こんな感じでは如何ですか↓

<form method="POST" action="cgi-bin/xxx.cgi">
<table border=1 width=400>
<tr>
<td>
タイトル:
</td>
<td width=350>
<input type="text" name="title" style="width:100%">
</td>
</tr>
<tr>
<td colspan=2>
<textarea name="memo" style="width:100%" rows=4>
formのinputやtextareaなどの幅を、100%の指定(テーブルの中などにぴったり収まるように)をしたい
</textarea>
</td>
</table>
<input type="submit" value="送信">
<input type="reset" value="取消">
</form>

参考URL:http://www.tohoho-web.com/css/reference.htm#width

 例えば、こんな感じでは如何ですか↓

<form method="POST" action="cgi-bin/xxx.cgi">
<table border=1 width=400>
<tr>
<td>
タイトル:
</td>
<td width=350>
<input type="text" name="title" style="width:100%">
</td>
</tr>
<tr>
<td colspan=2>
<textarea name="memo" style="width:100%" rows=4>
formのinputやtextareaなどの幅を、100%の指定(テーブルの中などにぴったり収まるように)をしたい
</tex...続きを読む

QINCLUDEファイルの変更が反映されない

客先にホームページデータの納品の為、
別の業者さんが作ったINCLUDEファイルを編集しなければいけないのですが、
○○.incファイルを変更しても、反映されません。
内容は
---------------------------------------
If url = "" then
Response.Redirect "http://○○○.jp/"
Else
Response.Redirect url
End if
---------------------------------------
のURLの部分をhttp://○○○.jp/index.htmlに
するだけなのですが、友人に聞いたら、
IISを再起動すれば反映されるのではと言われました。
明日、客先で解決したいので、
今のうちに考えられる対処法を覚えておきたいのですが、
・IISの再起動で対処できそうか。
・IISを再起動してもだめな場合の考えられる対処法。
を教えていただけないでしょうか。
以前少し触ったことがあるくらいで、初心者ですが、よろしくお願い致します。

客先にホームページデータの納品の為、
別の業者さんが作ったINCLUDEファイルを編集しなければいけないのですが、
○○.incファイルを変更しても、反映されません。
内容は
---------------------------------------
If url = "" then
Response.Redirect "http://○○○.jp/"
Else
Response.Redirect url
End if
---------------------------------------
のURLの部分をhttp://○○○.jp/index.htmlに
するだけなのですが、友人に聞いたら、
IISを再起動すれば反映されるのではと言われました。
明日...続きを読む

Aベストアンサー

index.htmlというファイルは存在しているのですよね?
デフォルトファイルの設定は何になっていますか?
再起動で恐らくいけると思いますがダメな場合上記2つを確認してみて下さい。

テストサーバでは結果は反映されなかったのですよね・・・?

QHTMLからPHP呼び出し【ギブアップ】

HTMLからPHPを呼び出す方法について、色々調べて実施してみましたが、
どうも動作しません。ギブアップ状態なので、皆様のお知恵をお借りできたらと
思い質問することにしました。

現在の状況。
(1)Apache設定
 「.htaccess」ファイルに★印行部分を定義。
 ★AddType application/x-httpd-php php html
 この定義以外にも色々試しに定義を変えています。
 例えば、AddType application/x-httpd-php .php .htmlなど「.」を付与したり。

(2)HTML
 <html>
 <head>テスト</head>
 <body>
 <?php include "aaa.php"; ?>
 </body>
 </html>

(3)PHP
 aaa.phpは、単体で動作します。
 aaa.phpは、HTMLファイルと同ディレクトリにあります。
 
上記の設定でHTMLを表示すると空白表示されます。
調べた結果、上記で動作すると思ってるのですが、何が問題なのでしょうか?
宜しくお願いします。
また、情報不足していましたら、ご指摘ください。追加します。

HTMLからPHPを呼び出す方法について、色々調べて実施してみましたが、
どうも動作しません。ギブアップ状態なので、皆様のお知恵をお借りできたらと
思い質問することにしました。

現在の状況。
(1)Apache設定
 「.htaccess」ファイルに★印行部分を定義。
 ★AddType application/x-httpd-php php html
 この定義以外にも色々試しに定義を変えています。
 例えば、AddType application/x-httpd-php .php .htmlなど「.」を付与したり。

(2)HTML
 <html>
 <head>テスト</head>
 <b...続きを読む

Aベストアンサー

.htmlという拡張子でphpを実行する権限はありますか?
SAKURAインターネットサービスのウェブサイト(FAQ)を見てみましたが、みつかりませんでした。
メンバー専用ページにもその記述がなければ、管理会社に問い合わせてみてください。

その権限が与えられていなければ、
.htaccessをどういじっても.htmlという拡張子で実行することは出来ません。
その場合は拡張子を.phpにすれば動作します。
.phpで実行する場合は.htaccessの設定は不要と思います。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

価格.com 格安SIM 料金比較