PHPを使用してバックグランドカラーを変更できません

このQ&Aのポイント
  • フォームのテキストボックスに入力した色コードを使用して、PHPを使ってバックグラウンドカラーを変更しようとしていますが、困っています。
  • 指定した色コードをURLパラメータに追加して再読み込みすることで、再着色が可能ですが、二回目以降は常に一回目の色になってしまいます。
  • お手数ですが、再着色するためにはURLの末尾のクエリパラメータを手動で削除する必要があります。
回答を見る
  • ベストアンサー

PHPを使用してバックグランドカラーを変更できません

PHPを使用してバックグランドカラーを変更しようとしています。フォームのテキストボックスに入力した色コードを、ボタンを押すことで再着色しようとしています。 一回目は大丈夫ですが、二回目以降は常に一回目の色になってしまい、困っております。お助けくださいm(_ _)m ブラウザのアドレスバーを見ますと、 一回目は色コード"ff0000"を指定し、 http://localhost/practice/phpself.php?bgcolor=ff0000 となっており、 二回目は色コード"0000ff"を指定し、やはり http://localhost/practice/phpself.php?bgcolor=ff0000 となっております。 ?以降を手動で消してやれば再着色可能なのですが・・・ 環境はPHP4.4.1+Apache1.3.34+Win2000SP4です。 ソースは以下のとおりです。よろしくお願いします。。。 <html> <head> <title>サンプル</title> </head> <body> <? $bgcolor = $_GET[bgcolor]; if($bgcolor == ""){ print("<body bgcolor=\"#ffffff\">"); }else{ print("<body bgcolor=\"#".$bgcolor."\""); } ?> <form method="GET" action="<? print($PHP_SELF); ?>"> <input type="text" name="bgcolor"><br> <input type="submit" value="色を入力して押して"> </form> </body> </html>

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
回答No.1

touchmeさんはじめまして、papillon68と申します。 > print("<body bgcolor=\"#".$bgcolor."\""); print("<body bgcolor=\"#".$bgcolor."\">"); タグを閉じる部分が抜けているようです^^; > action="<? print($PHP_SELF); ?>" $_SERVER['PHP_SELF'] です。 もしかすると前の段階で変数$PHP_SELFに保持されているのかもしれませんが・・・

touchme
質問者

お礼

papillon68さま早速のご回答ありがとうございましたm(_ _)m タグを閉じたらいけました(TvT) あまりの低レベルさにむなしさすら覚えてしまいましたがこれからは質問する前にもっと注意深く見直そうと反省しております。 ありがとうございました。

関連するQ&A

  • 【かなり初歩的な質問です】php入力フォーム作成

    http://plog.pya.jp/program/php/lesson03/sample/form.html ↑上記のフォームは書き込みをすると、次に書き込みをしたときに前に書き込んだものが消えてしまいますが、それが掲示板のように蓄積されていくようにするにはどうしたらよいでしょうか? 本当に初歩的な質問で本当に申し訳ありませんが、何としても完成させたいと思っていますので何卒よろしくお願い致します。 下記のような構成になっています。 【入力するページ】 <html> <head> <title>form</title> </head> <body> <form name="form" action="./sample01.php" method="GET"> <input name="name" type="text"> <input type="submit" value="押す"> </form> </body> </html> 【表示されるページ】 <?php $name = $_REQUEST["name"]; ?> <html> <head> <title>Sample01</title> </head> <body> 私の名前は<font color="#FF0000"><?php print $name; ?></font>です。 </body> </html> よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPについて教えてください

    以下のコードでthanks.phpにemailとgoikenが表示されません なぜでしょうか? おそらくthanks.phpが間違えてると思いますが見直してもわかりません index.html <DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <form method="POST" action="check.php"> ニックネームを入力してください<br> <input name="nickname" type="text" style="width:100px"><br> メールアドレスを入力してください<br> <input name="email" type="text" style="width:200px"><br> ご意見を一言でお聞かせください<br> <input name="goiken" type="text" style="width:300px"><br> <input type="submit" value="送信"> </form> </body> </html> check.php <DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <?php $nickname=$_POST['nickname']; $email=$_POST['email']; $goiken=$_POST['goiken']; if ($nickname==''){ print'ニックネームが入力されていません<br>'; } else { print'ようこそ'; print $nickname; print' 様'; print'<br>'; } if ($email==''){ print'メールアドレスが入力されていません<br>'; } else { print'メールアドレス:'; print $email; print'<br>'; } if ($goiken==''){ print'ご意見が入力されていません<br>'; } else { print'ご意見『'; print $goiken; print'』<br>'; } if($nickname=='' || $email='' || $goiken=''){ print'<form>'; print'<input type="button" onclick="history.back()" value="戻る">'; print'</form>'; } else { print'<form method="post" action="thanks.php">'; print'<input name="nickname" type="hidden" value="'.$nickname.'">'; print'<input name="email" type="hidden" value="'.$email.'">'; print'<input name="goiken" type="hidden" value="'.$goiken.'">'; print'<input type="button" onclick="history.back()" value="戻る">'; print'<input type="submit" value="OK">'; print'</form>'; } ?> </body> </html> thanks.php <DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <?php $nickname=$_POST['nickname']; $email=$_POST['email']; $goiken=$_POST['goiken']; print $nickname; print'様<br>'; print'ご意見ありがとうございました<br>'; print'頂いたご意見『'; print $goiken; print '』<br>'; print $email; print'宛にメールを送信しました'; ?> </body> </html>

    • ベストアンサー
    • PHP
  • コードの何が間違っているのか分からない(PHP)

    ●質問の主旨 コードの何が間違っているのかよくわからない。 (check.php)のファイルで、 print'<input type="hidden" name="nickname" value="'$nickname.'">'; の行がsyntaxerrorとして、返されるがなぜそうなるのか分からない (マニュアル本に記述して、スペルミスもチェックしているのですが) 何かお気づきのかた、ご教示願います。 ●質問の補足 添付の画像のように名前、メールアドレス、ご意見を入力してもらう フォームをとして作りました(index.html) すべてのフォームに入力がされているかどうかチェックし、 (check.php) サンクスページを返すようにしました (thanks.php) ●環境 Windows8 XAMMP(ローカル開発環境) ●コード (index.html) <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>PHPの基礎</title> </head> <body> <form method="post" action="check.php"> <p>あなたの名前を入力してください</p> <input name="nickname" type="text" style="width:100px"> <p>メールアドレスを入力してください</p> <input name="email" type="text" style="width:200px"> <p>ご意見をお聞かせください</p> <input name="goiken" type="text" style="width:300px"><br/> <input type="submit" value="送信"> </form> </body> </html> (check.php) <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>PHPの基礎</title> </head> <body> <?php $nickname = $_POST['nickname']; $email = $_POST['email']; $goiken = $_POST['goiken']; $nickname = htmlspecialchars($nickname); $email = htmlspecialchars($email); $goiken = htmlspecialchars($goiken); if ($nickname == '') { print '名前が入力されてません!<br/>'; } else { print 'ようこそ!'; print $nickname; print 'さま'; print '<br/>'; } if ($email == '') { print 'emailが入力されてません!<br/>'; } else { print 'メールアドレス'; print $email; print '<br/>'; } if ($goiken == '') { print 'ご意見が入力されてません!<br/>'; } else { print 'ご意見'; print $goiken; print '<br/>'; } if($nickname == '' || $email == '' || $goiken == '') { print'<form>'; print'<input type="button" onclick="history.back()" value="戻る">'; print'</form>'; } else { print'<form method="post" action="thanks.php">';   print'<input type="hidden" name="nickname" value="'$nickname.'">'; print'<input type="hidden" name="email" value="'.$email.'">'; print'<input type="hidden" name="goiken" value="'.$goiken.'">'; print'<input type="button" onclick="history.back()" value="戻る">'; print'<input type="submit" value="OK!">'; print'</form>'; } ?> </body> </html> (thanks.php) <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>PHPの基礎</title> </head> <body> <?php $nickname=$_POST['nickname']; $email=$_POST['email']; $goiken=$_POST['goiken']; print 'ご意見ありがとうございました!'; print $nickname; print '様<br/>'; print 'ご意見ありがとうございました<br/>'; print '頂いたご意見『'; print $goiken; print '』<br/>'; print $email; ?> </body> </html>

    • ベストアンサー
    • PHP
  • PHPのprint文の"と'の使用方法

    PHPコードで下記のように書いてみました。 [search_code.php] <?php for ( $i = 0; $i < $count; $i++ ){ print("<TR>"); print("<FORM method='POST'>"); print("<TD><input type=text name='$code' value = '".$table3[$i][0]."'></TD>"); print("<TD>".$table3[$i][1]."</TD>"); print("<TD>".$table3[$i][2]."</TD>"); print("<TD>".$table3[$i][3]."</TD>"); print("<TD>".$table3[$i][4]."</TD>"); print("<TD><input type=submit value='入庫登録' onclick='this.form.action='./input_arrival.php''></TD>"); print("</FORM>"); print("</TR>"); } ?> しかし、次の問題があります。 1. $codeが空欄になる。 2. ./input_arrival.phpが呼ばれず、コードを書いているソース[search_code.php]が再度呼ばれます。 $codeをinput_arrival.phpに渡すだけですが、コードの文法上の 問題と、FORMは分かれていても同じname(=$code)が複数存在する ことが許されるのか理解できていません。 何卒回答お願い致します。m(__)m

    • ベストアンサー
    • PHP
  • phpプログラムの書き方について

    phpは<html>~</html>の中に記載するものなのでしょうか? それともphpプログラムの中にhtmlを記載するのでしょうか? ラジオボタンを10個表示するプログラムを書いたのですが、 実際にブラウザに表示されたものは以下の様な状態になってしまいました。 ------------------------------------------------------------- 該当する年齢を選んでください。 ?php> $i=1; while($i==10){ print "$i "; $i++; } ?> 送信 --------------------------------------------------------------- ソースコード radio.php <html> <head> <title>年齢確認</title> </head> <body> 該当する年齢を選んでください。 <br> <hr> <form method="post" action="radio_uke.php"> ?php> $i=1; while($i==10){ print "<input type='radio' name='r' value'$i'>$i "; $i++; } ?> <input type="submit" value="送信"> </form> </body> </html>

    • ベストアンサー
    • PHP
  • phpでfopen()やfputs()が使えない

    CGIを使ってやりたいことがあり、PHPを独学で学び、レンタルサーバーで実験をしているのですが、fopen()やfputs()をつかうとエラーのようになります。 これがそれです。 http://pgc.sub.jp/form.php サーバーはlolipopというところを使っているのですが、こちらのほうが許可していないということでしょうか。 ソースは以下のようになります。 <html> <head> <title>実験掲示板</title> </head> <body> <h1>実験掲示板</h1> 書き込む内容を入力してください。<hr> <form name="form" action="./sample01.php" method="POST"> <input name="body" type="text" size="40"> <input type="submit" value="書込"><hr> </form> <?php $data = file("./data.txt"); for($i=0; $i<sizeof($data); $i++){ print "記事NO.${i}:${data[$i]}<br>\n<hr>"; } ?> </body> </html> <?php $body = $_REQUEST["body"]; $body = $body."\n"; ?><html> <head> <title>Sample01</title> </head> <body> <?php $fp = fopen("./data.txt","a"); fputs($fp,$body); fclose($fp); echo "書き込み完了<br>", "<a href=\"./form.php\">戻る</a>"; ?> </body> </html> プラス空のdata.txtファイル また、大学のPCを使用しているのですが、 http://localhost/ をすると 「Connection Failed」となってしまい、localhostでの実験ができません。これは大学側が禁止しているためでしょうか?研究室のものですので、IPアドレスはそれぞれに割り当てられているのですが。

    • ベストアンサー
    • PHP
  • PHPです。日本語はどのようにしたらつかえるのでしょうか

    英語では期待通り動くのですが、日本語では期待通り動きません。 なぜですか。 form.html <html> <head>フォーム</head> <body> <form action="henkan.php" method="post"> 文章<input type="text" name="UKETORI"><br> <input type="submit" value="送信"><br> </form> </body> </html> henkan.php <html> <body> <?php $uketori=$_POST['UKETORI']; $uketori=str_replace("です。","だよん。", $uketori); print "$uketori"; ?> </body> </html> 日本語を変換したい場合はエンコードとか必要なのでしょうか。 やり方がわかりません。宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPについて

    PHPについて。 現在このような形でパスワードを作っております <html> <head> <title>form</title> </head> <body> パスワードを入力してください。 <form name="form" action="./sample04.php" method="POST"> <input name="pass" type="text"> <input type="submit" value="ログイン"> </form> </body> </html> ↑HTMLの文面↑ <?php // パスワードを設定する。 $pass = 1234; // form.htmlからのパスワードを受け取る $form_pass = $_REQUEST["pass"]; ?> <html> <head> <title></title> </head> <body> <?php // form.htmlからの値が$form_passと等しいか評価する if($form_pass == $pass){ echo "ログイン成功<br>", "<a href=\"./top.html\">進む</a>"; }else{ echo "ログイン失敗<br>", "<a href=\"./index.html\">戻る</a>";} ?> </body> </html> 質問はパスワードを複数作りたいのですが・・・ どうすればいいですか?PHPにはあまり詳しくないので・・・

    • 締切済み
    • PHP
  • MAMPでPHP、文字化けしてしまいます。

    はじめまして。 只今、PHPを勉強をしていて困ったことが起きました。 MAMPを使っているのですが、 [htmlコード] <html> <head> <meta charset="utf-8"> </head> <body> <form action="rei.php" method="get"> <label for="my_name">お名前:</lebel> <input id="my_name" type="text" name="my_name" size="35" maxlength="255" value =""> <input type="submit" value="送信する"> </form> </body> </html> [PHPコード] <?php mb_internal_encoding("UTF-8"); print('名前: ' . htmlspecialchars($_REQUEST['my_name'], ENT_QUOTES)); ?> というフォームに入力し、それを出力する。。という簡単なプログラムなのですが、、 HTMLの方は文字化けしないのですが、PHPで出力する際に次のような文字化けが起こります。 <?php print('縺雁錐蜑: ' . htmlspecialchars($_REQUEST['my_name'], ENT_QUOTES)); ?> MAMP側のiniファイルの文字コードを[UTF-8]に設定、[;]を消す、等色々調べて試行錯誤しましたが原因がわかりませんでした。。 どうかご指南のほど、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPのデータやり取りについて

    自分はPHPを独学している学生です。 ちなみにPHP歴3日です。。。 先日[改訂3版 基礎PHP]という教本を購入してPHPの勉強を始めたのですが、 何度教本の通りに試してもうまく動作しないスクリプトがありまして、 内容としてはHTMLファイルの入力フォームでデータを受け取り、phpファイルに受け渡して表示するだけの簡単なものなのですが、なぜかphpによる画面が表示される際に入力したものが表示されないという症状になっています。 ブラウザが原因かと思い、IEとFirefoxで試したのですがどちらも同じ症状でした。 原因がわかる方に教えていただけないかと思っております。 コードは以下の通りです。 welcome.html <html> <head><title>welcome.html</title></head> <body> どちら様ですか?<br /> <form action="welcome.php" method="POST"> <input type="text" name="name"> <input type="submit" value="送信"> </form> </body> </html> welcome.php <html> <head><title>welcome.php</title></head> <body> ようこそ <?php $name = $_POST['name']; print (htmlspecialchars($name, ENT_QUOTES,'UTF-8')); ?> さん </body> </html>

    • 締切済み
    • PHP

専門家に質問してみよう