• 締切済み

PHPのコードがブラウザに剥き出しで表示される。

先日、VertrigoをインストールしたWindows7でPHPの勉強を始めた初心者です。 教則本が届いたので、さっそく本に書いてある通りにコードを入力していたのですが、最初は正しく表示されたものが下記のようにブラウザにphpのコードが剥き出しに表示されるようになりました。 ↓表示結果 性別は? ' .$male. ' ' . "\n"; echo ' ' .$female.''."\n"; ?> 調べてみても原因がわかりません。.iniの設定も本に書いてある通り作業したのですが…。 何が原因なのでしょうか? 一応、入力したコードの一部も載せておきます。 <form action="question2.php" method="post"> <dl class="clearfix"> <dt>性別は?</dt> <dd> <?php $male = '男性'; $female= '女性'; $number = array('1','2'); echo ' <label><input type="radio"name="gender" value="'.$number[0].'" />' .$male. '</label> ' . "\n"; echo ' <label><input type="radio" name="gender" value="'.$number[1].'"/>' .$female.'</label>'."\n"; ?> 是非回答お願いします。

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

みんなの回答

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.1

ファイル名の拡張子はphpになってますか? ファイルを直にアクセスしていませんか? または、PHPが実行される環境(Webサーバ経由)ですか? PHPが実行されていないようですが・・・。

taktak19xx
質問者

お礼

ファイルに直接アクセスしていました。localhostからURLを入力していったら成功しました! つまらない質問ですみませんでした。ありがとうございます。

関連するQ&A

  • PHPによるアンケートの項目追加

    質問投稿させていただきます。 急遽仕事でPHPのアンケートの項目を追加することになったのですが PHPは全くの素人で困っています。 既存のアンケートに項目を追加したいのですが <h2>アンケートフォーム</h2> <form action="question2.php" method="post"> <dl class="clearfix"> <dt>性別は?</dt> <dd> <?php $male = '男性'; $female = '女性'; $number = array('1', '2'); echo ' <label><input type="radio" name="gender" value="' . $number[0] . '" />' . $male . '</label>' . "\n"; echo ' <label><input type="radio" name="gender" value="' . $number[1] . '" />' . $female . '</label>' . "\n"; ?> </dd> <dt>年齢は?</dt> <dd> <label> <select name="age"> <option value="0" selected="selected">選択してください</option> <?php for ($num = 1; $num <= 4; $num++) { echo ' <option value="' . $num . '">' . $num . '0代</option>' . "\n"; } ?> <option value="5">50代以上</option> </select> </label> </dd> <dt>趣味は?</dt> <dd class="hobby-area"> <?php $hobby = array(1 => '音楽鑑賞', 2 => '映画鑑賞', 3 => 'ドライブ', 4 => '旅行', 5 => 'その他'); foreach ($hobby as $key => $value) { echo ' <label><input type="checkbox" name="hobby[' . $key . ']" value="' . $key . '" />' . $value . '</label>' . "\n"; } ?> </dd> </dl> <p> <input type="submit" value="投票する" /> </p> </form> この文に <dt>趣味は?</dt> <dd class="hobby-area"> <?php $service = array(1 => 'あああ', 2 => 'あああ', 3 => 'あああ', 4 => 'あああ', 5 => 'あああ'); foreach ($service as $key => $value) { echo ' <label><input type="checkbox" name="service[' . $key . ']" value="' . $key . '" />' . $value . '</label>' . "\n"; } ?> </dd> </dl> このように項目を増やしたいのですがなぜか追加した項目の確認ページで Warning: Invalid argument supplied for foreach() in ~ と表示され echo '<dt>サービスは?</dt>'; echo '<dd>'; foreach ($service as $value) { switch ($value) { case 1: echo 'あああ<br />'; break; case 2: echo 'あああ<br />'; break; case 3: echo 'あああ<br />'; break; case 4: echo 'あああ<br />'; break; case 5: echo 'あああ<br />'; break; } } echo '</dd>'; この部分にエラーがあると表示されてしまいます。 これは$serviceに値がうまくいっていないということでしょうか? 素人の質問なので足りない処などあると思いますが よろしければ御回答ください。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • VBA IE ラジオボタンにチェックをつけたい

    エクセルvbaでIE操作をしているのですが、 -------------------------------------------------------- <tr> <th><span class="asterisk">*</span>&nbsp; <label for="sex">性別:</label></th> <td> <input type="radio" name="gender" value="m" id="male" tabindex="1000"> <label for="male">男性</label> <input type="radio" name="gender" value="f" id="female"> <label for="female">女性</label> </td> </tr> -------------------------------------------------------- のソースで、男性にチェックを入れたいのですが、 どのようなVBAコードを書けばいいのでしょうか? objIE.document.all.gender.Value = "m" だとエラーになってしまいます。 ご教授よろしくお願いします。

  • ラジオボタンの値を受け取ってPHPで表示する初歩的文法

    global_register=offの設定で、 HTML検索フォームのチェックボックスから <input type="radio" name="select" value="male">男 <input type="radio" name="select" value="female">女 を受け取り、それに応じて値を書き換える方法をご教示ください。 「$_POST['select']の値がmaleなら「男」femaleなら「女」という具合です。 if ($_POST['select'] = '$male') { print $male; みたいなことをやってみたんですが、ダメっぽいと思ったらダメでした(^^;

    • ベストアンサー
    • PHP
  • sessionが分かりにくいです

    try4.html <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <title>カンタンアンケート</title> </head> <body> <form action='try4-2.php' method='GET'> 性別:<br> <input type="radio" name="gender" value=0>男性 <input type="radio" name="gender" value=1>女性<br><br> 趣味(複数選択可):<br> <input type="checkbox" name="movies" value=1>映画  <input type="checkbox" name="music" value=1>音楽  <input type="checkbox" name="books" value=1>読書  <input type="checkbox" name="sports" value=1>スポーツ<br><br> ご意見をお書きください:<br> <textarea name="comment" rows="4" cols="40"></textarea><br><br> <input type="submit" value="送信"> <input type="reset" value="リセット"><br><br> </form> </body> </html> ////////////////////////////////////////////////////// try4-1.php <?php session_start(); ?> <html> <head><title>try4-1.php</title></head> <body> <?php $_SESSION = array(total_cnt => 0, male => 0, female => 0, movies => 0, music => 0, books => 0, sports => 0, comment => array("")); ?> //////////////////////////////////////////////////////////////// try4-2.php <?php session_start(); ?> <html> <head><title>try4-2.php</title></head> <body> <?php if ($_GET['gender'] == 0) ++$_SESSION['male']; elseif ($_GET['gender'] == 1) ++$_SESSION['female']; if ($_GET['movies']) ++$_SESSION['movies']; if ($_GET['music']) ++$_SESSION['music']; if ($_GET['books']) ++$_SESSION['books']; if ($_GET['sports']) ++$_SESSION['sports']; $_SESSION['comment'][] = $_GET['comment']; ++$_SESSION['total_cnt']; ?> 登録しました。さらに<A href="try4.html">入力する</A><br> これまでの集計結果を<A href="try4-3.php">表示する</A><br> </body> </html> ////////////////////////////////////////////////////////// try4-3.php <?php session_start(); ?> <html> <head><title>try4-3.php</title></head> <body> <?php echo "これまでにアンケートに応えたのは{$_SESSION['total_cnt']}人です。そのうち<br>"; if ($_SESSION['total_cnt']){ $male_rate = (int)($_SESSION['male'] / $_SESSION['total_cnt'] * 100); $female_rate = (int)($_SESSION['female'] / $_SESSION['total_cnt'] * 100); } else { $male_rate = 0; $female_rate = 0; } echo "男性:{$_SESSION['male']}人 $male_rate %<br>"; echo "女性:{$_SESSION['female']}人 $female_rate %<br><br>"; echo "趣味は映画:{$_SESSION['movies']}人、音楽:{$_SESSION['music']}人、読書:{$_SESSION['books']}人、" . "スポーツ:{$_SESSION['sports']}人<br><br>"; echo "意見:<br>"; foreach ($_SESSION['comment'] as $comment) echo $comment . "<br>"; ?> 集計を<A href="try4-1.php">初期化する</A><br> さらに<A href="try4.html">入力する</A><br> </body> </html> //////////////////////////////////////////////////////// とファイルが4つあるのですがセッション情報はどこに格納されているのでしょうか。TXTファイルでもなさそうなので教えて下さい。

    • ベストアンサー
    • PHP
  • ++の意味が分かりません

    try4.html <html xmlns="​http://www.w3.org/1999/xhtml"​ lang="ja" xml:lang="ja"> <head> <title>カンタンアンケート</title> </head> <body> <form action='try4-2.php' method='GET'> 性別:<br> <input type="radio" name="gender" value=0>男性 <input type="radio" name="gender" value=1>女性<br><br> 趣味(複数選択可):<br> <input type="checkbox" name="movies" value=1>映画  <input type="checkbox" name="music" value=1>音楽  <input type="checkbox" name="books" value=1>読書  <input type="checkbox" name="sports" value=1>スポーツ<br><br> ご意見をお書きください:<br> <textarea name="comment" rows="4" cols="40"></textarea><br><br> <input type="submit" value="送信"> <input type="reset" value="リセット"><br><br> </form> </body> </html> ////////////////////////////////////////////////////// try4-1.php <?php session_start(); ?> <html> <head><title>try4-1.php</title></head> <body> <?php $_SESSION = array(total_cnt => 0, male => 0, female => 0, movies => 0, music => 0, books => 0, sports => 0, comment => array("")); ?> //////////////////////////////////////////////////////////////// try4-2.php <?php session_start(); ?> <html> <head><title>try4-2.php</title></head> <body> <?php if ($_GET['gender'] == 0) ++$_SESSION['male']; elseif ($_GET['gender'] == 1) ++$_SESSION['female']; if ($_GET['movies']) ++$_SESSION['movies']; if ($_GET['music']) ++$_SESSION['music']; if ($_GET['books']) ++$_SESSION['books']; if ($_GET['sports']) ++$_SESSION['sports']; $_SESSION['comment'][] = $_GET['comment']; ++$_SESSION['total_cnt']; ?> 登録しました。さらに<A href="try4.html">入力する</A><br> これまでの集計結果を<A href="try4-3.php">表示する</A><br> </body> </html> ////////////////////////////////////////////////////////// try4-3.php <?php session_start(); ?> <html> <head><title>try4-3.php</title></head> <body> <?php echo "これまでにアンケートに応えたのは{$_SESSION['total_cnt']}人です。そのうち<br>"; if ($_SESSION['total_cnt']){ $male_rate = (int)($_SESSION['male'] / $_SESSION['total_cnt'] * 100); $female_rate = (int)($_SESSION['female'] / $_SESSION['total_cnt'] * 100); } else { $male_rate = 0; $female_rate = 0; } echo "男性:{$_SESSION['male']}人 $male_rate %<br>"; echo "女性:{$_SESSION['female']}人 $female_rate %<br><br>"; echo "趣味は映画:{$_SESSION['movies']}人、音楽:{$_SESSION['music']}人、読書:{$_SESSION['books']}人、" . "スポーツ:{$_SESSION['sports']}人<br><br>"; echo "意見:<br>"; foreach ($_SESSION['comment'] as $comment) echo $comment . "<br>"; ?> 集計を<A href="try4-1.php">初期化する</A><br> さらに<A href="try4.html">入力する</A><br> </body> </html> //////////////////////////////////////////////////////// とありますが、++$_SESSION['movies'];の ++の意味が分かりません。 数値を追加しろという意味ですか。

    • ベストアンサー
    • PHP
  • PHPを勉強しながらメールフォームの作成をしています。

    PHPを勉強しながらメールフォームの作成をしています。 PHPは初心者です。 ご質問なのですが、メールフォームでinput type="hidden"で値の受け渡しをしたいと思っています。 SESSIONなどありますが、こちらはのちのち勉強していきます。 まずメールフォームから確認画面を表示する流れにしていきたいのですが、ここでご質問があります。 ソースは下記のとおりになります。 <!-- index.php --> <form action="comfirm.php" method="post"> <dl> <dt>名前</dt> <dd><input type="text" name="name" value="" /></dd> <dt>性別</dt> <dd> <input type="radio" name="sex" value="男" />男 <input type="radio" name="sex" value="女" />女 </dd> <dt>カテゴリ</dt> <dd> <select name="category"> <option value="サッカー">サッカー</option> <option value="野球">野球</option> <option value="バスケ">バスケ</option> <option value="バレー">バレー</option> </select> </dd> </dl> <input type="hidden" name="contact" value="form" /> <input type="submit" value="送信" /> </form> としており、 <!-- comfirm.php --> <?php $name = $_POST['name']; $sex = $_POST['sex']; $category = $_POST['category']; ?> <html> <body> <dl> <dt>名前</dt> <dd><?php echo $name; ?></dd> <dt>性別</dt> <dd><?php echo $sex; ?></dd> <dt>カテゴリ</dt> <dd><?php echo $category; ?></dd> </dl> </body> </html> となっております。 ここでconfirm.phpに渡る際ににエラー表示をしたいのですが、記述の仕方がどうもわかりません・・・ confirm.phpに渡るときに名前が記入されていなかったらindex.phpに名前が記入されていませんと表示させたいのですがどなたかご教授いただけませんでしょうか? 初心者のため、わからないことがあると思いますが、いろいろと教えていただけたら幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • phpのフォームについて

    phpで問合せフォームを作成中なのですが、分からない点が3点あります。 ご教示お願い致します。 (1)問合フォームの入力項目の最後の送信ボタンに下記のコードで「submit」を入れると、入力項目である郵便番号を入れると自動で住所表示(Ajaxzip2を使用)する機能が作動しなくなります。「submit」を入力しないと自動表示されますが、データーは送信されません。 どうしたらよいのでしょうか。 【問合せフォームの入力画面のコード/HTML】 <form method="POST" action="visit Application.php" > <h3 class="taitoru11">問合せ</h3> <label for="name">お名前を入力して下さい</label> <input type="text" name="name" id="name" placeholder="例)山田value=""> <label for="number">電話番号</label> <input type="tel" name="tel" id="tel" placeholder="例)0123" value="">   <label for="mail">メールアドレス</label> <input type="text" name="mail" id="mail" placeholder="例)" value="">    <label for="zip">郵便番号&nbsp;&nbsp;※必須</label> <input type="text" name="zip" id="zip" value="" placeholder="xxx-xxxx"maxength="8" />     <label for="addr">住所</label> <input type="text" name="addr" id="addr" /> <label for="addr2">マンション・部屋番号</label> <input type="text" name="addr2" id="addr2" /> <label for="comment">その他コメント</label> <textarea id="comment" name="comment" placeholder="問合せ内容をご記入ください" value="" wrap="hard" ></textarea> <input type="submit" value="入力内容を確認する" data-inline="true"/> </form> (2)上記のコードにある<input type="submit" value="入力内容を確認する" data-inline="true"/> を入力すると、ボタンを押さなくても、入力項目でエンターを2回押すと、送信先に勝手に送信されてしまいます。 どうしてでしょうか? また、ボタンを押さないと送信されない様にするにはどうすればいいのでしょうか。 (3)(1)のデーターの送信先で、上記の「その他コメント」欄については改行表示をさせたく、下記の様に「nl2br」を使ってみましたが、改行されませんでした。どうしたらよいのでしょうか。 【問合せフォームの送信先のコード/PHP】 <dl> <dt>お名前</dt> <dd><?php print(e($_POST['name'])); ?></dd> <dt>電話番号</dt> <dd><?php print(e($_POST['tel'])); ?></dd> <dt>メールアドレス</dt> <dd><?php print(e($_POST['mail'])); ?></dd> <dt>郵便番号</dt> <dd><?php print(e($_POST['zip'])); ?></dd> <dt>住所</dt> <dd><?php print(e($_POST['addr'])); ?></dd> <dt>マンション・部屋番号</dt> <dd><?php print(e($_POST['addr2'])); ?></dd> <dt>その他コメント</dt> <dd><?php print(nl2br(e($_POST['comment']))); ?></dd> </dl> 何卒よろしくお願い致します。

    • ベストアンサー
    • PHP
  • このPHPコードのエラー原因を教えてください。

    いつもお世話になっています。 現在PHPの勉強をしているのですが、プログラムがエラーとなり、原因が分からず困っています。 原因の分かる方がいらっしゃれば、教えて頂きたいと思います。 状況は以下の様になっています。 ・PHPのversionは5.2.0、XAMPPはv3.2.1を使用しています。 ・Aptanaでは一番最後のcreate_radio($c, $d)関数で構文エラーが発生しているので、問題はこの辺りにあるのではと考えてはいます。 ・return <<< __end__ ~ __end__;の記述方法がPHPの設定上できないのかもしれません。 (echo <<< ~も使用できませんでした。) ・以下コードです <?php show_header(); show_form(); show_footer(); function show_header(){ $color = "white"; if(isset($_GET["Name_Of_Color"])){ $color = $_GET["Name_Of_Color"]; $color_html = htmlspecialchars($color); echo "<html><body bgcolor='color_html'>"; }else{ echo "<html><body bgcolor='white'>"; } } function show_footer(){ echo "</body></html>"; } function show_form(){ $colors = array("赤色" => "red", "青色" => "blue", "白色" => "white"); echo "<form>"; foreach($colors as $a => $b){ echo create_radio($a, $b); } echo "<input type='submit' value='変更'>"; echo "</form>"; } function create_radio($c, $d){ return <<< __end__ <input type="radio" id="$c" name="Name_Of_Color" value="$d"> <label for="$c">$c</label> __end__; } ?> それでは、よろしくお願いします。

    • 締切済み
    • PHP
  • postによる、phpとの受け渡し???

    いつもお世話になり誠にありがとうございます。 標記の件。 フロントサイドはブラウザ表示されますが、サーバーサイドは 確認できません。 恐らくはphpが誤っているのでしょう。 質問の仕方が悪いですけど、フロントサイド、サーバーサイド共にソースコードを表示します。 フロントサイドは完璧ではないですけどOKです。 PHPが誤っています。 どうかどこが誤っているか、お教えてください。 下記にコードを表示します。 フロントサイド <!--入力画面--> <form action = "./Blog.php" method = "post"> <label class="label" for="name">お名前(ニックネーム)</label> <center><input id="name" type="text" name="name"></center> <label class="label" for="e-mail">メール</label> <input id="e-mail" type="e-mail" name="e-mail"> <label class="label" for="category">カテゴリー</label> <input id="category" type="category" name="categoryl"> <label class="label" for="message">本文</label> <textarea name="area1" style="color:rgb(8, 8, 8); font-size:100%;" cols="50" rows="30"></textarea><br> <input type="submit" name="confiem" value="確認"> </form> <!--確認画面--> <?php if( $mode == 'input' ){ ?> お名前(ニックネーム)<?php echo $_POST['name'] ?><br> Eメール<?php echo $_POST['e-mail'] ?><br> カテゴリー<?php echo $_POST['message']) ?><br> <input type="submit" name="back" value="戻る" /> <input type="submit" name="send" value="送信" /> <?php } else { ?> <!--完了画面--> <?php } ?> フロントサイドの<form></form>の部分と phpのコードをどうか見比べてください。 どう直せばいいでしょうか? フロントサイドをブラウザで表示し、確認ボタンがクリックされたら 確認画面が表示されるようにしたいのです。 ご多忙中恐れ入ります。 ご回答のほど宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • php CSVファイル出力後その結果をブラウザ

    php CSVファイル出力後その結果をブラウザに返す処理について 先ほど質問しどう頑張ってもエラーがでてしまい自分の力ではもう無理だと思い再度質問させていただきました。アンケートフォーム→回答ボタンを押すとCSVファイル変換後(ここまではできてます)その後CSVファイルの内容をブラウザに返したいのですがうまくいきません。どなたかたすけてほしいです。良い回答が得られないようならば諦めることにいたします。批判、中傷のコメントは受け付けません。 <HTML> <HEAD> <TITLE>テキスト送信のテスト></TITLE> </HEAD> <FORM name="toi_5.html"method="post" action="toi51.php"> <Div Align="center">名前:<BR> <INPUT type="text"name="onamae"> <BR> 性別:<BR> <INPUT type="radio"name="gender" value="男">男<BR> <INPUT type="radio"name="gender" value="女">女<BR> <BR> <SELECT name="syokugyou"> <OPTION value""selectd>職業をえらんでください</OPTION> <OPTION value"学生">学生</OPTION> <OPTION value"会社員">会社員</OPTION> <OPTION value"公務員">公務員</OPTION> <OPTION value"自営業">自営業</OPTION> <OPTION value"その他">その他</OPTION> </SELECT><BR> <p></p> 満足度を答えてください:<BR> <INPUT type="checkbox" name="hobby[]" value="満足"> 満足<BR> <INPUT type="checkbox" name="hobby[]" value="やや満足"> やや満足<BR> <INPUT type="checkbox" name="hobby[]" value="普通"> 普通<BR> <INPUT type="checkbox" name="hobby[]" value="やや不満"> やや不満<BR> <INPUT type="checkbox" name="hobby[]" value="不満"> 不満<BR> <BR> <INPUT type="submit" value="回答"> </div> </FORM> </BOBY> </HTML> <?php if(isset($_post["gender"])&&($_post["gender"]=="男"|| $_POST["gender"]=="女")){ print"性別:<BR>"; print $_POST["gender"]; }else{ print"性別を選んでください。<br>"; } ?> ?> <p> <?php if($_post["syokugyou"]<>""){ print"職業:<br>"; print$_post["syokugyou"]; }else{ print"職業をえらんでください<br>"; } ?> <p> <br>満足度 <?php if(isset($_post["hobby"])){ $hobby=implode($_post["hobby"]); print $hobby; }else{ } ?> <?php // 保存 $fileName = "log.csv"; header('Content-Disposition: attachment; filename=' . $fileName); ?> </div> </body> </html>

    • ベストアンサー
    • PHP

専門家に質問してみよう