外出自粛中でも楽しく過ごす!QAまとめ>>

php5&MySQL5&XPでプログラム作成中です。
phpファイル内のhtmlの中に簡単なスタイルシートを埋め込んでいるのですが、
スタイルシートの部分が反映されません。
ご教授いただけると幸いです。

--haikei.css
p.sample1 {background-color: #f8dce0; margin-top: 50px;}
p.sample2 {background-color: #f8dce0; margin-bottom: 50px;}

--login.php
<?php
--phpのプログラム
?>
<html>
<head>
<link rel="stylesheet" href="haikei.css" type="text/css">
</head>
<body>
<p class="sample1">上マージン50px</p>
<p class="sample2">上マージン50px</p>
</body>
</html>

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

A 回答 (4件)

画像のサイズやイメージが分かりづらいのですが・・・


p.sample2 {
position:absolute; bottom:0;
width: 100%;
height: 90px;
margin: 0;
background: #FFFFFF
}
の中のposition:absolute; bottom:0;を
position:absolute;
bottom:0px;
left:0px;
に変えてみてはいかがでしょうか?スクロールバーは出なくなります。
これでイメージ通りかはわかりませんが・・・
    • good
    • 0
この回答へのお礼

出来ました。
何から何までありがとうございました。

お礼日時:2008/07/08 10:59

ただ単にCSSがキャッシュされていることは無いでしょうか?



スーパーリロード(Ctrl + F5)してみるといいですよ。
    • good
    • 5

CSSを書いたファイルの文字コードとhtml内の文字コードを揃えているかも確認してみてはいかがでしょうか?



例えば、CSSをsjisで書いてhtmlをutf-8にしていたりすると、CSSを読まないことがあると思います。

この回答への補足

お返事が遅くなってすいません。
css,phpとも、shift-jisです。
<body>の直下に
<center><b><font size="6" color="#FFFFFF"><p class="sample1">***システム</p></font></b></center>
<p class="sample2"><img border="0" src="BKSlogo.gif" ></p>
cssは、

p.sample1 {
position:relative; top:0%;
width: 100%;
height: 40px;
margin: 0;
background: #008080
}

p.sample2 {
position:absolute; bottom:0;
width: 100%;
height: 90px;
margin: 0;
background: #FFFFFF
}
だと、
左右(下)にスクロールバーが現れ、p.sample2で定義しているBKSlogo.gifが、一番下にはでるのですが、真ん中にでて、両脇が空いてしまいます。(真ん中50%くらい)
同じような現象、ご存じないでしょうか。

補足日時:2008/06/16 10:29
    • good
    • 0

ソースを見る限りでは、問題ないような気がしますが、


PHPをはずしてHTMLだけにしたとき、スタイルシートは反映されるでしょうか?

パスなどは間違ってないでしょうか?
    • good
    • 0

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

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

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

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

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

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;
...続きを読む

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等のサーバーサイドスクリプトは、...続きを読む

QFORMで送信ボタンと戻るボタンを2つつけてそれぞれ遷移先を変えたい

  
以下のような画面を作りたいのですが↓

--------------------------------------------------------------------------------
● a.php (ユーザ情報入力画面) ※フォームに入力する画面
 
 <FORM method="POST" action="b.php">
  <INPUT type="text" name="mail">
  <INPUT type="submit" name="submit" value="確認">
 </FORM>

● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面

 <FORM method="POST" action="c.php">
  <!-- ここには、フォームに入力された値を表示する -->
  <INPUT type="submit" name="submit" value="登録"> // c.php に遷移する
  <INPUT type="submit" name="submit" value="戻る"> // a.php に戻る
 </FORM>

● c.php (完了画面)
--------------------------------------------------------------------------------
b.php について質問なのですが、
b.phpにおいて、登録ボタンと戻るボタンを2つつけて、
それぞれ遷移先を変えたいのですが、どうすればいいんでしょうか・・・?
<FORM method="POST" action="c.php">と書いてしまうと、
戻るボタンを押しても戻らずに、c.phpに遷移してしまいますよね??
こういう場合ってJavaScriptとかで遷移先を指定するんですか・・?
もしそうでしたら、JavaScriptがよくわからないので
できればサンプルコード示していただけると助かります・・・。
  

  
以下のような画面を作りたいのですが↓

--------------------------------------------------------------------------------
● a.php (ユーザ情報入力画面) ※フォームに入力する画面
 
 <FORM method="POST" action="b.php">
  <INPUT type="text" name="mail">
  <INPUT type="submit" name="submit" value="確認">
 </FORM>

● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面

 <FORM method="POST" action="c.php">
  <!-- ここには、フォームに入...続きを読む

Aベストアンサー

はじめまして。

<INPUT type="submit" name="submit" value="登録" onClick="form.action='c.php';return true">
<INPUT type="submit" name="submit" value="戻る" onClick="form.action='a.php';return true">

でいいと思います。(実際、このコードで使っています)
値を渡すには、FORM内にhiddenで、値を設定しておいて、methodをPOSTに設定しておけば、渡せます。

QPHPのif文でその処理を途中で抜けるにはどうすればよいでしょうか?

PHPのif文でその処理を途中で抜けるにはどうすればよいでしょうか?
for文やwhile文ではbreakやcontinueなどが使えるようですが、if文にはないのでしょうか?

条件分岐がいくつかあって、その一つを途中で抜けて次の条件分岐へと移行したいのですが、
exitを使ってしまうと、次へ行かずに処理が中止されてしまいますし、
どのようにすればよいのか分からず困っています。何かよい方法はないでしょうか?

Aベストアンサー

例えば「goto 演算子」を使うとかですね。
http://php.net/manual/ja/control-structures.goto.php
(参考URL)

「if文を強制終了」というより「ステップの強制移動」と言った感じです。

ただ、あまりgoto演算子はお勧めできません。
複雑な処理になればなるほど、バグが発生した際にバグ元を発見し難くなります。

本来は細かく制御文を入れていけば、あまり必要ないと思いますが・・・

QPOSTで

POSTで
<a href=sample.cgi?md=aa&tx=zz~>hoge</a>
<a href=sample.cgi?md=bb&tx=yy~>hoge2</a>
<a href=sample.cgi?md=cc&tx=xx~>hoge3</a>
<a href=sample.cgi?md=dd&tx=ww~>hoge4</a>

を送る方法でjavascriptとの組み合わせで出来るのかな?
と思い検索したら

<form action="./sample.cgi" method="POST" name="post">
<input type="hidden" name="md" value="aa">
<input type="hidden" name="tx" value="zz">
          :
<a href='#' onClick="document.post.submit();return false">hoge</a>
<form action="./sample.cgi" method="POST" name="post2">
<input type="hidden" name="md" value="bb">
<input type="hidden" name="tx" value="yy">
          :
<a href='#' onClick="document.post2.submit();return false">hoge2</a>

このような手法が見つかりました
これだと行数が多くなり、なんとなくすっきりしません
どなたかいい解決方法を教えてください
よろしくお願いします

POSTで
<a href=sample.cgi?md=aa&tx=zz~>hoge</a>
<a href=sample.cgi?md=bb&tx=yy~>hoge2</a>
<a href=sample.cgi?md=cc&tx=xx~>hoge3</a>
<a href=sample.cgi?md=dd&tx=ww~>hoge4</a>

を送る方法でjavascriptとの組み合わせで出来るのかな?
と思い検索したら

<form action="./sample.cgi" method="POST" name="post">
<input type="hidden" name="md" value="aa">
<input type="hidden" name="tx" value="zz">
          :
<a href='#' onClick="document.post.submit();return...
続きを読む

Aベストアンサー

JavaScriptオフの場合を考えないなら、このように書けます。


<!-- フォーム -->
<form action="sample.cgi" method="post" name="form1">
<input type="hidden" name="md">
<input type="hidden" name="tx">
</form>


<!-- スクリプト -->
<script type="text/javascript"><!--
function Post(md, tx) {
  form1.md.value = md;
  form1.tx.value = tx;
  form1.submit();
}
//--></script>


<!-- リンク -->
<a href="javascript:Post('aa', 'zz')">hoge</a>
<a href="javascript:Post('bb', 'yy')">hoge2</a>

QプルダウンメニューでValue値をPHPへの受け渡しができません

こんばんは。

HTML(apache)+MySQL+PHPの連携で、プルダウンメニュ
ー2つとテキストボックス2つの入力内容をPHPにデー
タとして渡し、それをキーワードにして、データベー
スの検索をする、という処理をさせようと思い、PHP
にデータを渡すためのタグを書いています。

http://ns1.php.gr.jp/pipermail/php-users/2002-December/012011.html

を参考に、テキストボックス2つの内容をPHPに渡すこ
とはできたのですが($_POST関数で渡しています)、
プルダウンメニューで選択した場合のvalue値を、PHP
に渡す処理ができず、行き詰っています。

http://www.big.or.jp/~mio/ga/ht/htref/ht_ref_optio.htm

で、プルダウンメニューで選択した場合のvalue値を
渡すことは可能と思い、タグを書きましたが、PHPで
データをダンプさせると何も表示されませんでした。
つまりはPHPにはデータが渡されていない状態で、HTM
Lタグレベルでの問題という事が分かり、タグの勉強
もしましたが、option部分の記述は間違っていないの
では?、と思っています。

ではform actionの、データを送信する送信ボタンの
記述で足りないところがあるのでは、と思い、調べた
のですが解決方法が見つかりません。
どなたかご教授いただけましたら幸いです‥
宜しくお願い申し上げます。

クライアント環境はWin2000、IE6.0
サーバーはRedHat9.0でPHPは4.2.2です。

こんばんは。

HTML(apache)+MySQL+PHPの連携で、プルダウンメニュ
ー2つとテキストボックス2つの入力内容をPHPにデー
タとして渡し、それをキーワードにして、データベー
スの検索をする、という処理をさせようと思い、PHP
にデータを渡すためのタグを書いています。

http://ns1.php.gr.jp/pipermail/php-users/2002-December/012011.html

を参考に、テキストボックス2つの内容をPHPに渡すこ
とはできたのですが($_POST関数で渡しています)、
プルダウンメニューで選択した場合のvalue値を、PHP
...続きを読む

Aベストアンサー

この場合、
<form> タグの位置を変えるだけで動作します。
<select>タグの前に移動させてください。
PHP4.0.6で動作確認済みです。
JavaScript使うまでもなかったですね。失礼しました。
=== 以下ソース ===

<html>
<body>
<form action="yamaha0.php" method="post"> <!-- ここに移動 -->

<br>分類<br>
<select name="clasfct" size="3">
<option value="1">新機能</option>
<option value="2">仕様変更</option>
<option value="3">バグ修正</option>
</select>

<p>

Rev<br>
<select name="rev" size="3">
<option value="1">ver 8.01.15</option>
<option value="2">ver 7.01.34</option>
<option value="3">ver 7.00.29</option>
</select>
<br>

キーワード1を入力してください(必須):<input type="text" name="key1"><br>
<p>
キーワード2を入力してください(任意):<input type="text" name="key2"><br>
<p><input type="submit" name="exec" value="検索">
</form>
</body>
</html>

この場合、
<form> タグの位置を変えるだけで動作します。
<select>タグの前に移動させてください。
PHP4.0.6で動作確認済みです。
JavaScript使うまでもなかったですね。失礼しました。
=== 以下ソース ===

<html>
<body>
<form action="yamaha0.php" method="post"> <!-- ここに移動 -->

<br>分類<br>
<select name="clasfct" size="3">
<option value="1">新機能</option>
<option value="2">仕様変更</option>
<option value="3">バグ修正</option>
</select>

<p>

Rev<br>
<...続きを読む

QApacheでhttp://localhost/が表示されない

Apacheバージョン2.0.50をインストールし、設定ファイルは一切変更していない状態でhttp://localhostと入力しても「あなたの予想に反して・・・」のページが表示されません。
何回かApacheの再インストールも試してみましたが変化がありません。
ローカルで動作確認するだけなので、インストールにあたってNetworkDomainなどのアドレスは「localhost」を入力しています。
何か原因を特定する方法はありませんでしょうか。
ちなみにOSはWindowsXPのHomeEditionです。

Aベストアンサー

(1) まずは、Apacheが起動しているか確認しましょう。
  これは管理ツールのサービス、Apache Server Monitorを見ればわかります。

(2) ポート番号80がLISTEN状態になっているか確認しましょう。
  これはnetstatコマンドで確認できます。

(3) パーソナルファイアウォールソフトをインストールしているなら、
  localhost:80 からの接続を許可しているか確認してみましょう。

(4) IISなど、他のwebサーバを同時に動かしていないか確認してみましょう。

(5) ブラウザでプロクシサーバを指定しているのでしたら、
  localhostはプロクシーを見ない、など設定してみてください。


ほかにもいろいろありますが、Apacheの設定の前に、これくらいは確認しましょう。

QPHPスクリプトにスタイルシートを適用するには?

MagpieRSS(http://magpierss.sourceforge.net/)で取得した以下のPHPスクリプトでRSSをリスト化してWEB表示させることができたのですが、これにスタイルシートを適用したい場合、どのような方法がありますか?PHP初心者なためぜんぜんわかりません。

<?php
require_once 'rss_fetch.inc';
require_once 'code_table.ucs2jis';
require_once 'jcode.php';
$url = 'http://~;
$rss = fetch_rss($url);
$title = $rss->channel['title'];
//JcodeConvert($str, $from, $to)
//0:PASS(無変換)1:EUC-JP 2:Shift_JIS 3:ISO-2022-JP(JIS) 4:UTF-8
$title = JcodeConvert($title, 4, 2);
foreach ($rss->items as $item ) {
$title = $item[title];
$title = JcodeConvert($title, 4, 2);
$url = $item[link];
echo "<li><a href=\"$url\">$title</a></li>\n";
}
?>

MagpieRSS(http://magpierss.sourceforge.net/)で取得した以下のPHPスクリプトでRSSをリスト化してWEB表示させることができたのですが、これにスタイルシートを適用したい場合、どのような方法がありますか?PHP初心者なためぜんぜんわかりません。

<?php
require_once 'rss_fetch.inc';
require_once 'code_table.ucs2jis';
require_once 'jcode.php';
$url = 'http://~;
$rss = fetch_rss($url);
$title = $rss->channel['title'];
//JcodeConvert($str, $from, $to)
//0:PASS(無変換)1:EUC-JP...続きを読む

Aベストアンサー

スタイルシートの基本的なことがわかってないように思えます。

BODYなりAなりにスタイルシートを適用する場合は、
最低でもBODYやAが記載されたHTMLが必要になります。

上記のサンプルではそれが見当たりませんので、上記のサンプルにBODYやAにスタイルシートを適用することは不可能です。

これはPHPの質問ではなく、HTMLやCSSの質問ですので、PHPはまったく関係がありません。

PHPでechoとやったところはPHPスクリプトがHTMLとして文字列を表示し、最終的にはPHPスクリプトはHTMLを吐き出します。
吐き出したものはブラウザで表示されるわけですが、その表示のルールは吐き出したHTMLのルールに従っています。
つまり、HTMLやCSSの記述を普通に使用してください、としか回答できません。

以上の回答でわからない場合は、カテゴリーが違うので、HTMLやデザインのカテゴリーで質問することをお勧めします。

QMySQLのKey属性「MUL」について

宜しくお願い致します。
先程気付いたのですが、MySQLのKey属性に「MUL」という指定が入っていました。こんな指定をした覚えが全く無いので、消そうと思い、alter table modify でカラムの属性を変更させてもやっぱり消えないのですが、これはなんなんでしょう?

Aベストアンサー

> 重複キーを変更したい場合はどうすればよいのでしょう?

ALTER TABLE テーブル名 DROP INDEX `現在のインデックス名`,ADD UNIQUE `新しいインデックス名` (`hoge`,`huge`)

一旦、DROP INDEXで消してADDでまた加えます。

Q複数カラムに対するLIKE文の最適化

column1~column3のデータに文字検索をしたいのですが、
下記のような不恰好なSQLしか思いつきません、、。

select * from tb where
  ( column1 like '%word1%' or column2 like '%word1%' or column3 like '%word1%' )
and ( column1 like '%word2%' or column2 like '%word2%' or column3 like '%word2%' )
and ( column1 like '%word3%' or column2 like '%word3%' or column3 like '%word3%' )

試しに、
select * from tb where
  ( ( column1 or column2 or column3) like '%word1%' )
and ( ( column1 or column2 or column3) like '%word2%' )
and ( ( column1 or column2 or column3) like '%word3%' )

と考えたのですが、これですと検索結果0件になってしまいます。
もっとスマートなSQL文がありましたら、ご教授頂きたいです。

column1~column3のデータに文字検索をしたいのですが、
下記のような不恰好なSQLしか思いつきません、、。

select * from tb where
  ( column1 like '%word1%' or column2 like '%word1%' or column3 like '%word1%' )
and ( column1 like '%word2%' or column2 like '%word2%' or column3 like '%word2%' )
and ( column1 like '%word3%' or column2 like '%word3%' or column3 like '%word3%' )

試しに、
select * from tb where
  ( ( column1 or column2 or column3) like '%word1%' )
a...続きを読む

Aベストアンサー

文字列を連結して、あたかも一つの列であるように見立てた上でLIKEとする。

ただし、3つのカラムのうちの一つでもNULLだと全体がNULLになる。

参考URLの5番目に対策あり。

参考URL:http://www.orangesoft.co.jp/RDB/rdb_memo_strcat.html


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

人気Q&Aランキング